@cdc/map 4.25.10 → 4.26.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/.claude/agents/typescript-organizer.md +118 -0
- package/dist/{cdcmap-fce76882.es.js → cdcmap-BnB1QM5d.es.js} +6 -13
- package/dist/{cdcmap-c55ac1ea.es.js → cdcmap-D6CG2-Hb.es.js} +5 -12
- package/dist/{cdcmap-31a33da1.es.js → cdcmap-MXgURbdZ.es.js} +6 -13
- package/dist/{cdcmap-1a1724a1.es.js → cdcmap-dgT_1dIT.es.js} +136 -151
- package/dist/cdcmap.js +58397 -55987
- package/examples/example-city-state.json +9 -1
- package/examples/multi-country-centering.json +45 -0
- package/examples/private/city_styles_variable.json +877 -0
- package/examples/private/colors-2.json +221 -0
- package/examples/private/colors.json +221 -0
- package/examples/private/map-filter-issue.json +2260 -0
- package/examples/private/map-legend.json +5303 -0
- package/index.html +27 -36
- package/package.json +6 -5
- package/src/CdcMapComponent.tsx +86 -26
- package/src/_stories/CdcMap.ColumnWrap.stories.tsx +31 -0
- package/src/_stories/CdcMap.DistrictOfColumbia.stories.tsx +320 -0
- package/src/_stories/CdcMap.Editor.stories.tsx +3426 -0
- package/src/_stories/CdcMap.SmallMultiples.stories.tsx +35 -0
- package/src/_stories/CdcMap.stories.tsx +116 -4
- package/src/_stories/_mock/column-wrap-test.json +265 -0
- package/src/_stories/_mock/multi-country-hide.json +78 -0
- package/src/_stories/_mock/multi-country.json +95 -0
- package/src/_stories/_mock/multi-state.json +887 -20403
- package/src/_stories/_mock/small_multiples/multi-state-small-multiples.json +8399 -0
- package/src/_stories/_mock/small_multiples/region-small-multiples.json +657 -0
- package/src/_stories/_mock/small_multiples/wastewater-map-small-multiples.json +221 -0
- package/src/_stories/_mock/usa-state-gradient.json +3 -4
- package/src/components/BubbleList.tsx +1 -1
- package/src/components/CityList.tsx +24 -18
- package/src/components/EditorPanel/components/EditorPanel.tsx +2380 -2206
- package/src/components/EditorPanel/components/HexShapeSettings.tsx +55 -93
- package/src/components/EditorPanel/components/Panels/Panel.Annotate.tsx +0 -19
- package/src/components/EditorPanel/components/Panels/Panel.PatternSettings.tsx +27 -37
- package/src/components/EditorPanel/components/Panels/Panel.SmallMultiples.tsx +351 -0
- package/src/components/EditorPanel/components/Panels/index.tsx +3 -1
- package/src/components/Geo.tsx +20 -3
- package/src/components/Legend/components/Legend.tsx +58 -75
- package/src/components/Legend/components/LegendGroup/Legend.Group.tsx +1 -1
- package/src/components/Legend/components/index.scss +23 -6
- package/src/components/NavigationMenu.tsx +16 -13
- package/src/components/SmallMultiples/SmallMultipleTile.tsx +163 -0
- package/src/components/SmallMultiples/SmallMultiples.css +32 -0
- package/src/components/SmallMultiples/SmallMultiples.tsx +150 -0
- package/src/components/SmallMultiples/SynchronizedTooltip.tsx +105 -0
- package/src/components/SmallMultiples/index.tsx +3 -0
- package/src/components/UsaMap/components/SingleState/SingleState.CountyOutput.tsx +18 -3
- package/src/components/UsaMap/components/TerritoriesSection.tsx +26 -12
- package/src/components/UsaMap/components/Territory/Territory.Hexagon.tsx +30 -4
- package/src/components/UsaMap/components/Territory/Territory.Rectangle.tsx +29 -9
- package/src/components/UsaMap/components/Territory/TerritoryShape.ts +7 -0
- package/src/components/UsaMap/components/UsaMap.County.tsx +16 -4
- package/src/components/UsaMap/components/UsaMap.Region.tsx +14 -1
- package/src/components/UsaMap/components/UsaMap.SingleState.tsx +29 -12
- package/src/components/UsaMap/components/UsaMap.State.tsx +30 -5
- package/src/components/UsaMap/helpers/map.ts +2 -2
- package/src/components/UsaMap/helpers/shapes.ts +9 -6
- package/src/components/WorldMap/WorldMap.tsx +81 -11
- package/src/data/initial-state.js +11 -0
- package/src/data/supported-geos.js +8 -76
- package/src/helpers/addUIDs.ts +13 -2
- package/src/helpers/applyColorToLegend.ts +25 -1
- package/src/helpers/applyLegendToRow.ts +5 -3
- package/src/helpers/constants.ts +3 -15
- package/src/helpers/displayGeoName.ts +22 -4
- package/src/helpers/generateRuntimeFilters.ts +1 -1
- package/src/helpers/generateRuntimeLegend.ts +1 -3
- package/src/helpers/generateRuntimeLegendHash.ts +1 -1
- package/src/helpers/getCountriesPicked.ts +103 -0
- package/src/helpers/getMapContainerClasses.ts +7 -0
- package/src/helpers/getPatternForRow.ts +2 -5
- package/src/helpers/index.ts +2 -4
- package/src/helpers/isLegendItemDisabled.ts +2 -2
- package/src/helpers/resetLegendToggles.ts +1 -0
- package/src/helpers/smallMultiplesHelpers.ts +359 -0
- package/src/helpers/tests/hashObj.test.ts +1 -1
- package/src/helpers/tests/titleCase.test.ts +76 -0
- package/src/helpers/titleCase.ts +13 -13
- package/src/helpers/toggleLegendActive.ts +76 -8
- package/src/helpers/urlDataHelpers.ts +1 -1
- package/src/hooks/useCountryZoom.tsx +241 -0
- package/src/hooks/useGeoClickHandler.ts +1 -1
- package/src/hooks/useProgrammaticMapTooltip.ts +110 -0
- package/src/hooks/useResizeObserver.ts +8 -2
- package/src/hooks/useStateZoom.tsx +7 -4
- package/src/hooks/useSynchronizedGeographies.ts +56 -0
- package/src/index.jsx +1 -0
- package/src/scss/editor-panel.scss +4 -440
- package/src/scss/main.scss +1 -1
- package/src/scss/map.scss +12 -15
- package/src/store/map.actions.ts +7 -7
- package/src/test/CdcMap.test.jsx +1 -1
- package/src/types/MapConfig.ts +32 -11
- package/src/types/MapContext.ts +6 -0
- package/src/types/runtimeLegend.ts +2 -1
- package/LICENSE +0 -201
- package/src/components/DataTable.tsx +0 -413
- package/src/components/EditorPanel/components/Inputs.tsx +0 -59
- package/src/components/MapControls.tsx +0 -44
- package/src/helpers/getUniqueValues.ts +0 -19
- package/src/helpers/hashObj.ts +0 -25
- package/src/hooks/useActiveElement.ts +0 -19
- package/src/hooks/useLegendSeparators.ts +0 -26
- package/src/scss/mixins.scss +0 -47
- package/src/types/Annotations.ts +0 -24
- /package/dist/{cdcmap-548642e6.es.js → cdcmap-Ct2SB0vL.es.js} +0 -0
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/react-vite'
|
|
2
|
+
import CdcMap from '../CdcMap'
|
|
3
|
+
import wastewaterMapSmallMultiples from './_mock/small_multiples/wastewater-map-small-multiples.json'
|
|
4
|
+
import multiStateSmallMultiples from './_mock/small_multiples/multi-state-small-multiples.json'
|
|
5
|
+
import regionSmallMultiples from './_mock/small_multiples/region-small-multiples.json'
|
|
6
|
+
|
|
7
|
+
const meta: Meta<typeof CdcMap> = {
|
|
8
|
+
title: 'Components/Templates/Map/Small Multiples',
|
|
9
|
+
component: CdcMap
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
type Story = StoryObj<typeof CdcMap>
|
|
13
|
+
|
|
14
|
+
export const SmallMultiples_UsaStateMap: Story = {
|
|
15
|
+
args: {
|
|
16
|
+
config: wastewaterMapSmallMultiples,
|
|
17
|
+
isEditor: false
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export const SmallMultiples_MultiStateCountyMap: Story = {
|
|
22
|
+
args: {
|
|
23
|
+
config: multiStateSmallMultiples,
|
|
24
|
+
isEditor: false
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export const SmallMultiples_UsaRegionMap: Story = {
|
|
29
|
+
args: {
|
|
30
|
+
config: regionSmallMultiples,
|
|
31
|
+
isEditor: false
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export default meta
|
|
@@ -1,14 +1,22 @@
|
|
|
1
1
|
import type { Meta, StoryObj } from '@storybook/react-vite'
|
|
2
|
+
import { within, expect } from 'storybook/test'
|
|
2
3
|
import CdcMap from '../CdcMap'
|
|
3
4
|
import EqualNumberOptInExample from './_mock/DEV-7286.json'
|
|
4
5
|
import EqualNumberMap from './_mock/equal-number.json'
|
|
5
6
|
import MultiState from './_mock/multi-state.json'
|
|
7
|
+
import MultiCountry from './_mock/multi-country.json'
|
|
8
|
+
import MultiCountryHide from './_mock/multi-country-hide.json'
|
|
6
9
|
import SingleStateWithFilters from './_mock/DEV-8942.json'
|
|
7
10
|
import exampleCityState from './_mock/example-city-state.json'
|
|
8
11
|
import USBubbleCities from './_mock/us-bubble-cities.json'
|
|
9
12
|
import { editConfigKeys } from '@cdc/core/helpers/configHelpers'
|
|
10
13
|
import exampleLegendBins from './_mock/legend-bins.json'
|
|
11
14
|
|
|
15
|
+
// Fallback step function for test descriptions
|
|
16
|
+
const step = async (description: string, fn: () => Promise<void> | void) => {
|
|
17
|
+
await fn()
|
|
18
|
+
}
|
|
19
|
+
|
|
12
20
|
const meta: Meta<typeof CdcMap> = {
|
|
13
21
|
title: 'Components/Templates/Map',
|
|
14
22
|
component: CdcMap
|
|
@@ -16,10 +24,33 @@ const meta: Meta<typeof CdcMap> = {
|
|
|
16
24
|
|
|
17
25
|
type Story = StoryObj<typeof CdcMap>
|
|
18
26
|
|
|
27
|
+
// Helper function to test map rendering
|
|
28
|
+
const testMapRendering = async (canvasElement: HTMLElement, storyName: string) => {
|
|
29
|
+
const canvas = within(canvasElement)
|
|
30
|
+
|
|
31
|
+
await step('Wait for map to render', async () => {
|
|
32
|
+
const mapElement = await canvas.findByRole('img', { hidden: true }, { timeout: 10000 })
|
|
33
|
+
expect(mapElement).toBeInTheDocument()
|
|
34
|
+
})
|
|
35
|
+
|
|
36
|
+
await step('Verify SVG element is present', async () => {
|
|
37
|
+
const svgElement = canvasElement.querySelector('svg')
|
|
38
|
+
expect(svgElement).toBeInTheDocument()
|
|
39
|
+
})
|
|
40
|
+
|
|
41
|
+
await step('Verify COVE module wrapper is present', async () => {
|
|
42
|
+
const coveModule = canvasElement.querySelector('.cdc-open-viz-module')
|
|
43
|
+
expect(coveModule).toBeInTheDocument()
|
|
44
|
+
})
|
|
45
|
+
}
|
|
46
|
+
|
|
19
47
|
export const Equal_Interval_Map: Story = {
|
|
20
48
|
args: {
|
|
21
49
|
isEditor: true,
|
|
22
50
|
configUrl: 'https://www.cdc.gov/wcms/4.0/cdc-wp/data-presentation/page-elements/equal-interval-map.json'
|
|
51
|
+
},
|
|
52
|
+
play: async ({ canvasElement }) => {
|
|
53
|
+
await testMapRendering(canvasElement, 'Equal Interval Map')
|
|
23
54
|
}
|
|
24
55
|
}
|
|
25
56
|
|
|
@@ -41,41 +72,62 @@ export const Scale_Based: Story = {
|
|
|
41
72
|
configUrl:
|
|
42
73
|
'https://www.cdc.gov/wcms/4.0/cdc-wp/data-presentation/examples/Scale-Based-Categorical-Map-With-Special-Classes.json',
|
|
43
74
|
isEditor: true
|
|
75
|
+
},
|
|
76
|
+
play: async ({ canvasElement }) => {
|
|
77
|
+
await testMapRendering(canvasElement, 'Scale Based')
|
|
44
78
|
}
|
|
45
79
|
}
|
|
46
80
|
export const Qualitative: Story = {
|
|
47
81
|
args: {
|
|
48
82
|
configUrl: 'https://www.cdc.gov/wcms/4.0/cdc-wp/data-presentation/page-elements/qualitative-map.json'
|
|
83
|
+
},
|
|
84
|
+
play: async ({ canvasElement }) => {
|
|
85
|
+
await testMapRendering(canvasElement, 'Qualitative')
|
|
49
86
|
}
|
|
50
87
|
}
|
|
51
88
|
|
|
52
89
|
export const World_Map: Story = {
|
|
53
90
|
args: {
|
|
54
91
|
configUrl: 'https://www.cdc.gov/wcms/4.0/cdc-wp/data-presentation/examples/world-data-map-example.json'
|
|
92
|
+
},
|
|
93
|
+
play: async ({ canvasElement }) => {
|
|
94
|
+
await testMapRendering(canvasElement, 'World Map')
|
|
55
95
|
}
|
|
56
96
|
}
|
|
57
97
|
|
|
58
98
|
export const Filterable_Map: Story = {
|
|
59
99
|
args: {
|
|
60
100
|
configUrl: 'https://www.cdc.gov/wcms/4.0/cdc-wp/data-presentation/page-elements/gender-rate-map.json'
|
|
101
|
+
},
|
|
102
|
+
play: async ({ canvasElement }) => {
|
|
103
|
+
await testMapRendering(canvasElement, 'Filterable Map')
|
|
61
104
|
}
|
|
62
105
|
}
|
|
63
106
|
|
|
64
107
|
export const Hex_Map: Story = {
|
|
65
108
|
args: {
|
|
66
109
|
configUrl: 'https://www.cdc.gov/wcms/4.0/cdc-wp/data-presentation/examples/Hex_Map.json'
|
|
110
|
+
},
|
|
111
|
+
play: async ({ canvasElement }) => {
|
|
112
|
+
await testMapRendering(canvasElement, 'Hex Map')
|
|
67
113
|
}
|
|
68
114
|
}
|
|
69
115
|
|
|
70
116
|
export const County_Map: Story = {
|
|
71
117
|
args: {
|
|
72
118
|
configUrl: 'https://www.cdc.gov/wcms/4.0/cdc-wp/data-presentation/examples/US-County-Level-Map.json'
|
|
119
|
+
},
|
|
120
|
+
play: async ({ canvasElement }) => {
|
|
121
|
+
await testMapRendering(canvasElement, 'County Map')
|
|
73
122
|
}
|
|
74
123
|
}
|
|
75
124
|
|
|
76
125
|
export const Single_State: Story = {
|
|
77
126
|
args: {
|
|
78
127
|
configUrl: 'https://www.cdc.gov/wcms/4.0/cdc-wp/data-presentation/examples/example-data-map-counties.json'
|
|
128
|
+
},
|
|
129
|
+
play: async ({ canvasElement }) => {
|
|
130
|
+
await testMapRendering(canvasElement, 'Single State')
|
|
79
131
|
}
|
|
80
132
|
}
|
|
81
133
|
|
|
@@ -85,21 +137,42 @@ export const Multi_State: Story = {
|
|
|
85
137
|
}
|
|
86
138
|
}
|
|
87
139
|
|
|
140
|
+
export const Multi_Country: Story = {
|
|
141
|
+
args: {
|
|
142
|
+
config: MultiCountry
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
export const Multi_Country_Hide_Mode: Story = {
|
|
147
|
+
args: {
|
|
148
|
+
config: MultiCountryHide
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
|
|
88
152
|
export const Bubble_Map: Story = {
|
|
89
153
|
args: {
|
|
90
154
|
configUrl: 'https://www.cdc.gov/wcms/4.0/cdc-wp/data-presentation/examples/example-Bubble-Map-world.json'
|
|
155
|
+
},
|
|
156
|
+
play: async ({ canvasElement }) => {
|
|
157
|
+
await testMapRendering(canvasElement, 'Bubble Map')
|
|
91
158
|
}
|
|
92
159
|
}
|
|
93
160
|
|
|
94
161
|
export const HHS_Region_Map: Story = {
|
|
95
162
|
args: {
|
|
96
163
|
configUrl: 'https://www.cdc.gov/wcms/4.0/cdc-wp/data-presentation/examples/example-hhs-regions-data.json'
|
|
164
|
+
},
|
|
165
|
+
play: async ({ canvasElement }) => {
|
|
166
|
+
await testMapRendering(canvasElement, 'HHS Region Map')
|
|
97
167
|
}
|
|
98
168
|
}
|
|
99
169
|
|
|
100
170
|
export const Custom_Map_Layers: Story = {
|
|
101
171
|
args: {
|
|
102
172
|
configUrl: 'https://www.cdc.gov/wcms/4.0/cdc-wp/data-presentation/examples/custom-layer-map.json'
|
|
173
|
+
},
|
|
174
|
+
play: async ({ canvasElement }) => {
|
|
175
|
+
await testMapRendering(canvasElement, 'Custom Map Layers')
|
|
103
176
|
}
|
|
104
177
|
}
|
|
105
178
|
|
|
@@ -138,13 +211,15 @@ let exampleCityStateStandardColors = editConfigKeys(exampleCityState, [
|
|
|
138
211
|
])
|
|
139
212
|
export const Custom_Color_Distributions_With_Special_Classes: Story = {
|
|
140
213
|
args: {
|
|
141
|
-
config: newConfig
|
|
214
|
+
config: newConfig,
|
|
215
|
+
isEditor: true
|
|
142
216
|
}
|
|
143
217
|
}
|
|
144
218
|
|
|
145
219
|
export const Custom_Color_Distributions_Without_Special_Classes: Story = {
|
|
146
220
|
args: {
|
|
147
|
-
config: editConfigKeys(newConfig, [{ path: ['legend', 'specialClasses'], value: [] }])
|
|
221
|
+
config: editConfigKeys(newConfig, [{ path: ['legend', 'specialClasses'], value: [] }]),
|
|
222
|
+
isEditor: true
|
|
148
223
|
}
|
|
149
224
|
}
|
|
150
225
|
|
|
@@ -157,13 +232,15 @@ export const Standard_Color_Distributions_With_Special_Classes: Story = {
|
|
|
157
232
|
|
|
158
233
|
export const Standard_Color_Distributions_Without_Special_Classes: Story = {
|
|
159
234
|
args: {
|
|
160
|
-
config: editConfigKeys(exampleCityStateStandardColors, [{ path: ['legend', 'specialClasses'], value: [] }])
|
|
235
|
+
config: editConfigKeys(exampleCityStateStandardColors, [{ path: ['legend', 'specialClasses'], value: [] }]),
|
|
236
|
+
isEditor: true
|
|
161
237
|
}
|
|
162
238
|
}
|
|
163
239
|
|
|
164
240
|
export const Custom_Color_Distributions_With_Update_Needed: Story = {
|
|
165
241
|
args: {
|
|
166
|
-
config: editConfigKeys(newConfig, [{ path: ['version'], value: '4.24.10' }])
|
|
242
|
+
config: editConfigKeys(newConfig, [{ path: ['version'], value: '4.24.10' }]),
|
|
243
|
+
isEditor: true
|
|
167
244
|
}
|
|
168
245
|
}
|
|
169
246
|
|
|
@@ -181,4 +258,39 @@ export const US_Bubble_Cities_Test: Story = {
|
|
|
181
258
|
}
|
|
182
259
|
}
|
|
183
260
|
|
|
261
|
+
export const City_Styles_By_Variable: Story = {
|
|
262
|
+
args: {
|
|
263
|
+
config: editConfigKeys(exampleCityState, [
|
|
264
|
+
{
|
|
265
|
+
path: ['visual', 'additionalCityStyles'],
|
|
266
|
+
value: [
|
|
267
|
+
{
|
|
268
|
+
label: 'High Risk (Rate > 20)',
|
|
269
|
+
column: 'Rate',
|
|
270
|
+
value: '22',
|
|
271
|
+
shape: 'Star'
|
|
272
|
+
},
|
|
273
|
+
{
|
|
274
|
+
label: 'School Location',
|
|
275
|
+
column: 'Location',
|
|
276
|
+
value: 'School',
|
|
277
|
+
shape: 'Triangle'
|
|
278
|
+
},
|
|
279
|
+
{
|
|
280
|
+
label: 'Vehicle Location',
|
|
281
|
+
column: 'Location',
|
|
282
|
+
value: 'Vehicle',
|
|
283
|
+
shape: 'Diamond'
|
|
284
|
+
}
|
|
285
|
+
]
|
|
286
|
+
},
|
|
287
|
+
{
|
|
288
|
+
path: ['visual', 'cityStyle'],
|
|
289
|
+
value: 'circle'
|
|
290
|
+
}
|
|
291
|
+
]),
|
|
292
|
+
isEditor: true
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
|
|
184
296
|
export default meta
|
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
{
|
|
2
|
+
"general": {
|
|
3
|
+
"title": "Column Wrapping Test Map",
|
|
4
|
+
"type": "data",
|
|
5
|
+
"geoType": "us",
|
|
6
|
+
"headerColor": "theme-blue",
|
|
7
|
+
"showTitle": true,
|
|
8
|
+
"language": "en"
|
|
9
|
+
},
|
|
10
|
+
"type": "map",
|
|
11
|
+
"color": "bluegreensequential",
|
|
12
|
+
"columns": {
|
|
13
|
+
"geo": {
|
|
14
|
+
"dataTable": true,
|
|
15
|
+
"label": "State/Territory",
|
|
16
|
+
"name": "STATE",
|
|
17
|
+
"tooltip": false
|
|
18
|
+
},
|
|
19
|
+
"primary": {
|
|
20
|
+
"dataTable": true,
|
|
21
|
+
"label": "Primary Health Indicator Rate",
|
|
22
|
+
"name": "PrimaryRate",
|
|
23
|
+
"prefix": "",
|
|
24
|
+
"suffix": "%",
|
|
25
|
+
"tooltip": true,
|
|
26
|
+
"roundToPlace": 1
|
|
27
|
+
},
|
|
28
|
+
"navigate": {
|
|
29
|
+
"dataTable": false,
|
|
30
|
+
"name": "",
|
|
31
|
+
"tooltip": false
|
|
32
|
+
},
|
|
33
|
+
"additionalColumn1": {
|
|
34
|
+
"label": "Secondary Health Indicator",
|
|
35
|
+
"dataTable": true,
|
|
36
|
+
"name": "SecondaryIndicator",
|
|
37
|
+
"tooltip": true
|
|
38
|
+
},
|
|
39
|
+
"additionalColumn2": {
|
|
40
|
+
"label": "Population Demographics Category",
|
|
41
|
+
"dataTable": true,
|
|
42
|
+
"name": "DemographicCategory",
|
|
43
|
+
"tooltip": true
|
|
44
|
+
},
|
|
45
|
+
"additionalColumn3": {
|
|
46
|
+
"label": "Program Implementation Status",
|
|
47
|
+
"dataTable": true,
|
|
48
|
+
"name": "ImplementationStatus",
|
|
49
|
+
"tooltip": true
|
|
50
|
+
},
|
|
51
|
+
"additionalColumn4": {
|
|
52
|
+
"label": "Funding Source and Allocation",
|
|
53
|
+
"dataTable": true,
|
|
54
|
+
"name": "FundingSource",
|
|
55
|
+
"tooltip": true
|
|
56
|
+
},
|
|
57
|
+
"additionalColumn5": {
|
|
58
|
+
"label": "Year of Last Comprehensive Review",
|
|
59
|
+
"dataTable": true,
|
|
60
|
+
"name": "LastReviewYear",
|
|
61
|
+
"tooltip": true
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
"legend": {
|
|
65
|
+
"numberOfItems": 5,
|
|
66
|
+
"position": "side",
|
|
67
|
+
"title": "Legend",
|
|
68
|
+
"type": "equalnumber"
|
|
69
|
+
},
|
|
70
|
+
"table": {
|
|
71
|
+
"showDownloadUrl": false,
|
|
72
|
+
"showDataTableLink": true,
|
|
73
|
+
"wrapColumns": false,
|
|
74
|
+
"label": "Data Table",
|
|
75
|
+
"expanded": true,
|
|
76
|
+
"forceDisplay": true,
|
|
77
|
+
"download": true
|
|
78
|
+
},
|
|
79
|
+
"tooltips": {
|
|
80
|
+
"appearanceType": "hover",
|
|
81
|
+
"capitalizeLabels": true
|
|
82
|
+
},
|
|
83
|
+
"data": [
|
|
84
|
+
{
|
|
85
|
+
"STATE": "AL",
|
|
86
|
+
"PrimaryRate": 45.3,
|
|
87
|
+
"SecondaryIndicator": "High Risk Population Segments",
|
|
88
|
+
"DemographicCategory": "Adults Ages 65 and Older",
|
|
89
|
+
"ImplementationStatus": "Fully Implemented and Operational",
|
|
90
|
+
"FundingSource": "Federal Grant with State Matching Funds",
|
|
91
|
+
"LastReviewYear": "2023"
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"STATE": "AK",
|
|
95
|
+
"PrimaryRate": 38.7,
|
|
96
|
+
"SecondaryIndicator": "Moderate Risk with Intervention",
|
|
97
|
+
"DemographicCategory": "Young Adults Ages 18-34",
|
|
98
|
+
"ImplementationStatus": "Partially Implemented, Phase 2",
|
|
99
|
+
"FundingSource": "State Budget Allocation Only",
|
|
100
|
+
"LastReviewYear": "2022"
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"STATE": "AZ",
|
|
104
|
+
"PrimaryRate": 52.1,
|
|
105
|
+
"SecondaryIndicator": "Critical Intervention Required",
|
|
106
|
+
"DemographicCategory": "Children and Adolescents Under 18",
|
|
107
|
+
"ImplementationStatus": "Planning Stage, Not Yet Active",
|
|
108
|
+
"FundingSource": "Private Foundation Grant",
|
|
109
|
+
"LastReviewYear": "2024"
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"STATE": "AR",
|
|
113
|
+
"PrimaryRate": 41.9,
|
|
114
|
+
"SecondaryIndicator": "Low to Moderate Risk Level",
|
|
115
|
+
"DemographicCategory": "Middle-Aged Adults 35-64",
|
|
116
|
+
"ImplementationStatus": "Fully Implemented and Operational",
|
|
117
|
+
"FundingSource": "Mixed Federal and State Funding",
|
|
118
|
+
"LastReviewYear": "2023"
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"STATE": "CA",
|
|
122
|
+
"PrimaryRate": 36.4,
|
|
123
|
+
"SecondaryIndicator": "Stable with Ongoing Monitoring",
|
|
124
|
+
"DemographicCategory": "Multi-Generational Households",
|
|
125
|
+
"ImplementationStatus": "Enhanced Implementation Active",
|
|
126
|
+
"FundingSource": "Federal Grant with State Matching Funds",
|
|
127
|
+
"LastReviewYear": "2024"
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
"STATE": "CO",
|
|
131
|
+
"PrimaryRate": 29.8,
|
|
132
|
+
"SecondaryIndicator": "Below Average Risk Profile",
|
|
133
|
+
"DemographicCategory": "Young Adults Ages 18-34",
|
|
134
|
+
"ImplementationStatus": "Fully Implemented and Operational",
|
|
135
|
+
"FundingSource": "State Budget Allocation Only",
|
|
136
|
+
"LastReviewYear": "2023"
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
"STATE": "CT",
|
|
140
|
+
"PrimaryRate": 33.2,
|
|
141
|
+
"SecondaryIndicator": "Moderate Risk with Intervention",
|
|
142
|
+
"DemographicCategory": "Adults Ages 65 and Older",
|
|
143
|
+
"ImplementationStatus": "Monitoring and Evaluation Phase",
|
|
144
|
+
"FundingSource": "Private Foundation Grant",
|
|
145
|
+
"LastReviewYear": "2022"
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
"STATE": "DE",
|
|
149
|
+
"PrimaryRate": 44.6,
|
|
150
|
+
"SecondaryIndicator": "High Risk Population Segments",
|
|
151
|
+
"DemographicCategory": "Children and Adolescents Under 18",
|
|
152
|
+
"ImplementationStatus": "Partially Implemented, Phase 2",
|
|
153
|
+
"FundingSource": "Mixed Federal and State Funding",
|
|
154
|
+
"LastReviewYear": "2024"
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
"STATE": "FL",
|
|
158
|
+
"PrimaryRate": 48.3,
|
|
159
|
+
"SecondaryIndicator": "Critical Intervention Required",
|
|
160
|
+
"DemographicCategory": "Middle-Aged Adults 35-64",
|
|
161
|
+
"ImplementationStatus": "Fully Implemented and Operational",
|
|
162
|
+
"FundingSource": "Federal Grant with State Matching Funds",
|
|
163
|
+
"LastReviewYear": "2023"
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
"STATE": "GA",
|
|
167
|
+
"PrimaryRate": 50.7,
|
|
168
|
+
"SecondaryIndicator": "High Risk Population Segments",
|
|
169
|
+
"DemographicCategory": "Multi-Generational Households",
|
|
170
|
+
"ImplementationStatus": "Enhanced Implementation Active",
|
|
171
|
+
"FundingSource": "State Budget Allocation Only",
|
|
172
|
+
"LastReviewYear": "2024"
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
"STATE": "HI",
|
|
176
|
+
"PrimaryRate": 27.4,
|
|
177
|
+
"SecondaryIndicator": "Low to Moderate Risk Level",
|
|
178
|
+
"DemographicCategory": "Young Adults Ages 18-34",
|
|
179
|
+
"ImplementationStatus": "Fully Implemented and Operational",
|
|
180
|
+
"FundingSource": "Private Foundation Grant",
|
|
181
|
+
"LastReviewYear": "2022"
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
"STATE": "ID",
|
|
185
|
+
"PrimaryRate": 35.9,
|
|
186
|
+
"SecondaryIndicator": "Moderate Risk with Intervention",
|
|
187
|
+
"DemographicCategory": "Adults Ages 65 and Older",
|
|
188
|
+
"ImplementationStatus": "Planning Stage, Not Yet Active",
|
|
189
|
+
"FundingSource": "Mixed Federal and State Funding",
|
|
190
|
+
"LastReviewYear": "2023"
|
|
191
|
+
},
|
|
192
|
+
{
|
|
193
|
+
"STATE": "IL",
|
|
194
|
+
"PrimaryRate": 42.1,
|
|
195
|
+
"SecondaryIndicator": "Stable with Ongoing Monitoring",
|
|
196
|
+
"DemographicCategory": "Children and Adolescents Under 18",
|
|
197
|
+
"ImplementationStatus": "Partially Implemented, Phase 2",
|
|
198
|
+
"FundingSource": "Federal Grant with State Matching Funds",
|
|
199
|
+
"LastReviewYear": "2024"
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
"STATE": "IN",
|
|
203
|
+
"PrimaryRate": 46.8,
|
|
204
|
+
"SecondaryIndicator": "High Risk Population Segments",
|
|
205
|
+
"DemographicCategory": "Middle-Aged Adults 35-64",
|
|
206
|
+
"ImplementationStatus": "Fully Implemented and Operational",
|
|
207
|
+
"FundingSource": "State Budget Allocation Only",
|
|
208
|
+
"LastReviewYear": "2023"
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
"STATE": "IA",
|
|
212
|
+
"PrimaryRate": 31.5,
|
|
213
|
+
"SecondaryIndicator": "Below Average Risk Profile",
|
|
214
|
+
"DemographicCategory": "Multi-Generational Households",
|
|
215
|
+
"ImplementationStatus": "Monitoring and Evaluation Phase",
|
|
216
|
+
"FundingSource": "Private Foundation Grant",
|
|
217
|
+
"LastReviewYear": "2022"
|
|
218
|
+
},
|
|
219
|
+
{
|
|
220
|
+
"STATE": "KS",
|
|
221
|
+
"PrimaryRate": 37.2,
|
|
222
|
+
"SecondaryIndicator": "Moderate Risk with Intervention",
|
|
223
|
+
"DemographicCategory": "Young Adults Ages 18-34",
|
|
224
|
+
"ImplementationStatus": "Enhanced Implementation Active",
|
|
225
|
+
"FundingSource": "Mixed Federal and State Funding",
|
|
226
|
+
"LastReviewYear": "2024"
|
|
227
|
+
},
|
|
228
|
+
{
|
|
229
|
+
"STATE": "KY",
|
|
230
|
+
"PrimaryRate": 49.6,
|
|
231
|
+
"SecondaryIndicator": "Critical Intervention Required",
|
|
232
|
+
"DemographicCategory": "Adults Ages 65 and Older",
|
|
233
|
+
"ImplementationStatus": "Fully Implemented and Operational",
|
|
234
|
+
"FundingSource": "Federal Grant with State Matching Funds",
|
|
235
|
+
"LastReviewYear": "2023"
|
|
236
|
+
},
|
|
237
|
+
{
|
|
238
|
+
"STATE": "LA",
|
|
239
|
+
"PrimaryRate": 51.3,
|
|
240
|
+
"SecondaryIndicator": "High Risk Population Segments",
|
|
241
|
+
"DemographicCategory": "Children and Adolescents Under 18",
|
|
242
|
+
"ImplementationStatus": "Partially Implemented, Phase 2",
|
|
243
|
+
"FundingSource": "State Budget Allocation Only",
|
|
244
|
+
"LastReviewYear": "2024"
|
|
245
|
+
},
|
|
246
|
+
{
|
|
247
|
+
"STATE": "ME",
|
|
248
|
+
"PrimaryRate": 34.7,
|
|
249
|
+
"SecondaryIndicator": "Low to Moderate Risk Level",
|
|
250
|
+
"DemographicCategory": "Middle-Aged Adults 35-64",
|
|
251
|
+
"ImplementationStatus": "Fully Implemented and Operational",
|
|
252
|
+
"FundingSource": "Private Foundation Grant",
|
|
253
|
+
"LastReviewYear": "2022"
|
|
254
|
+
},
|
|
255
|
+
{
|
|
256
|
+
"STATE": "MD",
|
|
257
|
+
"PrimaryRate": 39.4,
|
|
258
|
+
"SecondaryIndicator": "Moderate Risk with Intervention",
|
|
259
|
+
"DemographicCategory": "Multi-Generational Households",
|
|
260
|
+
"ImplementationStatus": "Planning Stage, Not Yet Active",
|
|
261
|
+
"FundingSource": "Mixed Federal and State Funding",
|
|
262
|
+
"LastReviewYear": "2023"
|
|
263
|
+
}
|
|
264
|
+
]
|
|
265
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
{
|
|
2
|
+
"general": {
|
|
3
|
+
"title": "Multi-Country Selection - Hide Mode",
|
|
4
|
+
"subtext": "Shows only selected countries (others hidden)",
|
|
5
|
+
"type": "data",
|
|
6
|
+
"geoType": "world",
|
|
7
|
+
"headerColor": "theme-green",
|
|
8
|
+
"geoBorderColor": "darkGray",
|
|
9
|
+
"showSidebar": true,
|
|
10
|
+
"showTitle": true,
|
|
11
|
+
"showDownloadButton": true,
|
|
12
|
+
"expandDataTable": false,
|
|
13
|
+
"territoriesLabel": "Territories",
|
|
14
|
+
"language": "en",
|
|
15
|
+
"hasRegions": false,
|
|
16
|
+
"fullBorder": false,
|
|
17
|
+
"countriesPicked": [
|
|
18
|
+
{ "iso": "JPN", "name": "Japan" },
|
|
19
|
+
{ "iso": "KOR", "name": "South Korea" },
|
|
20
|
+
{ "iso": "SGP", "name": "Singapore" },
|
|
21
|
+
{ "iso": "AUS", "name": "Australia" }
|
|
22
|
+
],
|
|
23
|
+
"hideUnselectedCountries": true
|
|
24
|
+
},
|
|
25
|
+
"type": "map",
|
|
26
|
+
"color": "orangered",
|
|
27
|
+
"columns": {
|
|
28
|
+
"geo": {
|
|
29
|
+
"name": "Country",
|
|
30
|
+
"label": "Location",
|
|
31
|
+
"tooltip": false,
|
|
32
|
+
"dataTable": true
|
|
33
|
+
},
|
|
34
|
+
"primary": {
|
|
35
|
+
"name": "Data",
|
|
36
|
+
"label": "Sample Data",
|
|
37
|
+
"prefix": "",
|
|
38
|
+
"suffix": "%",
|
|
39
|
+
"dataTable": true,
|
|
40
|
+
"tooltip": true
|
|
41
|
+
},
|
|
42
|
+
"navigate": {
|
|
43
|
+
"name": "URL",
|
|
44
|
+
"tooltip": false,
|
|
45
|
+
"dataTable": false
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
"legend": {
|
|
49
|
+
"numberOfItems": 4,
|
|
50
|
+
"position": "side",
|
|
51
|
+
"title": "Sample Data",
|
|
52
|
+
"description": "Hide mode - only selected countries visible",
|
|
53
|
+
"type": "equalinterval",
|
|
54
|
+
"specialClasses": [],
|
|
55
|
+
"separateZero": false,
|
|
56
|
+
"unified": false,
|
|
57
|
+
"singleColumn": false,
|
|
58
|
+
"singleRow": false
|
|
59
|
+
},
|
|
60
|
+
"data": [
|
|
61
|
+
{
|
|
62
|
+
"Country": "Japan",
|
|
63
|
+
"Data": 85.3
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"Country": "South Korea",
|
|
67
|
+
"Data": 78.9
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"Country": "Singapore",
|
|
71
|
+
"Data": 92.1
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
"Country": "Australia",
|
|
75
|
+
"Data": 81.7
|
|
76
|
+
}
|
|
77
|
+
]
|
|
78
|
+
}
|