@cdc/map 2.6.2 → 2.6.4

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 (67) hide show
  1. package/dist/cdcmap.js +37 -29
  2. package/examples/bubble-us.json +363 -0
  3. package/examples/bubble-world.json +427 -0
  4. package/examples/default-county.json +105 -0
  5. package/examples/default-hex.json +475 -0
  6. package/examples/default-single-state.json +109 -0
  7. package/examples/default-usa-regions.json +118 -0
  8. package/examples/default-usa.json +744 -603
  9. package/examples/default-world-data.json +1450 -0
  10. package/examples/default-world.json +5 -3
  11. package/examples/example-city-state.json +510 -0
  12. package/examples/example-world-map.json +1596 -0
  13. package/examples/gender-rate-map.json +1 -0
  14. package/examples/private/atsdr.json +439 -0
  15. package/examples/private/atsdr_new.json +436 -0
  16. package/examples/private/bubble.json +285 -0
  17. package/examples/private/default-world-data.json +1444 -0
  18. package/examples/private/default.json +968 -0
  19. package/examples/private/map.csv +60 -0
  20. package/examples/private/mdx.json +210 -0
  21. package/examples/private/regions.json +52 -0
  22. package/examples/private/wcmsrd-13881-data.json +2858 -0
  23. package/examples/private/wcmsrd-13881.json +5823 -0
  24. package/examples/private/wcmsrd-test.json +268 -0
  25. package/examples/private/world.json +1580 -0
  26. package/examples/private/worldmap.json +1490 -0
  27. package/package.json +11 -7
  28. package/src/CdcMap.js +726 -202
  29. package/src/components/BubbleList.js +240 -0
  30. package/src/components/CityList.js +22 -3
  31. package/src/components/CountyMap.js +557 -0
  32. package/src/components/DataTable.js +85 -24
  33. package/src/components/EditorPanel.js +2455 -1204
  34. package/src/components/Geo.js +1 -1
  35. package/src/components/Sidebar.js +5 -5
  36. package/src/components/SingleStateMap.js +326 -0
  37. package/src/components/UsaMap.js +41 -9
  38. package/src/components/UsaRegionMap.js +319 -0
  39. package/src/components/WorldMap.js +112 -35
  40. package/src/data/abbreviations.js +57 -0
  41. package/src/data/country-coordinates.js +250 -0
  42. package/src/data/county-map-halfquality.json +58453 -0
  43. package/src/data/county-map-quarterquality.json +1 -0
  44. package/src/data/county-topo.json +1 -0
  45. package/src/data/dfc-map.json +1 -0
  46. package/src/data/initial-state.js +21 -4
  47. package/src/data/newtest.json +1 -0
  48. package/src/data/state-abbreviations.js +60 -0
  49. package/src/data/state-coordinates.js +55 -0
  50. package/src/data/supported-geos.js +3592 -163
  51. package/src/data/test.json +1 -0
  52. package/src/data/us-regions-topo-2.json +360525 -0
  53. package/src/data/us-regions-topo.json +37894 -0
  54. package/src/hooks/useActiveElement.js +19 -0
  55. package/src/hooks/useColorPalette.ts +96 -0
  56. package/src/index.html +35 -20
  57. package/src/index.js +8 -4
  58. package/src/scss/datatable.scss +2 -1
  59. package/src/scss/editor-panel.scss +76 -55
  60. package/src/scss/main.scss +10 -1
  61. package/src/scss/map.scss +257 -121
  62. package/src/scss/sidebar.scss +0 -1
  63. package/uploads/upload-example-city-state.json +392 -0
  64. package/uploads/upload-example-world-data.json +1490 -0
  65. package/LICENSE +0 -201
  66. package/src/data/color-palettes.js +0 -191
  67. package/src/images/map-folded.svg +0 -1
package/src/scss/map.scss CHANGED
@@ -1,158 +1,294 @@
1
1
  // Map Download UI
2
2
  .map-downloads {
3
- position: relative;
4
- z-index: 3;
3
+ position: relative;
4
+ z-index: 3;
5
5
 
6
- .map-downloads__ui.btn-group {
7
- transform: scale(.8);
8
- }
6
+ .map-downloads__ui.btn-group {
7
+ transform: scale(0.8);
8
+ }
9
9
 
10
- .map-downloads__ui {
11
- position: absolute;
12
- top: .5em;
13
- left: .5em;
14
- transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1);
15
- box-shadow: 0 5px 12px -8px rgba(0, 0, 0, .50);
16
- user-select: none;
17
- height: 42px;
18
- }
10
+ .map-downloads__ui {
11
+ position: absolute;
12
+ top: 0.5em;
13
+ left: 0.5em;
14
+ transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1);
15
+ box-shadow: 0 5px 12px -8px rgba(0, 0, 0, 0.5);
16
+ user-select: none;
17
+ height: 42px;
18
+ }
19
19
  }
20
20
 
21
21
  .map-container {
22
- &.full-border {
23
- border: #C2C2C2 1px solid;
24
- }
22
+ &.full-border {
23
+ border: #c2c2c2 1px solid;
24
+ }
25
25
  }
26
26
 
27
27
  header + .map-container.full-border {
28
- border-top: 0; // When they have a header, don't add a border top
28
+ border-top: 0; // When they have a header, don't add a border top
29
29
  }
30
30
 
31
31
  // World Specific Styles
32
32
  .map-container.world {
33
- &.data .geography-container {
34
- border-bottom: $lightGray 1px solid;
35
- }
36
- .geography-container {
37
- cursor: move;
38
- }
33
+ &.data .geography-container {
34
+ border-bottom: $lightGray 1px solid;
35
+ }
36
+ .geography-container {
37
+ cursor: move;
38
+ }
39
39
  }
40
40
 
41
41
  @include breakpointClass(md) {
42
- // US Specific
43
- .map-container.us {
44
- margin: 0 1em;
45
- }
46
- // Data Specific
47
- .map-container.data {
48
- &.side {
49
- flex-direction: row;
50
- }
51
- }
42
+ // US Specific
43
+ .map-container.us {
44
+ margin: 0 1em;
45
+ }
46
+ // Data Specific
47
+ .map-container.data {
48
+ &.side {
49
+ flex-direction: row;
50
+ }
51
+ }
52
+ // Bubble Specific
53
+ .map-container.bubble {
54
+ &.side {
55
+ flex-direction: row;
56
+ }
57
+ }
52
58
  }
53
59
 
54
60
  .geography-container {
55
- position: relative;
56
- flex-grow: 1;
57
- width: 100%;
58
- overflow: hidden;
59
- .geo-point {
60
- transition: .3s all;
61
- circle {
62
- fill: inherit;
63
- transition: .1s transform;
64
- }
65
- &:hover {
66
- transition: .2s all;
67
- }
68
- }
69
- .map-logo {
70
- position: absolute;
71
- bottom: 2em;
72
- right: 1em;
73
- z-index: 3;
74
- width: 75px;
75
- }
61
+ position: relative;
62
+ flex-grow: 1;
63
+ width: 100%;
64
+ overflow: hidden;
65
+ .geo-point {
66
+ transition: 0.3s all;
67
+ circle {
68
+ fill: inherit;
69
+ transition: 0.1s transform;
70
+ }
71
+ &:hover {
72
+ transition: 0.2s all;
73
+ }
74
+ }
75
+ .map-logo {
76
+ position: absolute;
77
+ bottom: 2em;
78
+ right: 1em;
79
+ z-index: 3;
80
+ width: 75px;
81
+ }
76
82
  }
77
83
 
78
84
  .single-geo {
79
- transition: .2s fill;
80
- &:focus {
81
- outline: 0;
82
- }
85
+ transition: 0.2s fill;
86
+ cursor: pointer;
87
+ &:focus {
88
+ outline: 0;
89
+ }
83
90
  }
84
91
 
85
92
  // Cities and Territories
86
93
  .territories {
87
- margin: 2em 100px 2em 0;
88
- font-size: 1.1em;
89
- display: flex;
90
- align-items: center;
91
- > span {
92
- margin-left: 1em;
93
- margin-right: .5em;
94
- }
95
- svg {
96
- max-width: 35px;
97
- margin-left: .5em;
98
- transition: .3s all;
99
- text {
100
- font-size: .95em;
101
- }
102
- }
94
+ margin: 2em 100px 2em 0;
95
+ font-size: 1.1em;
96
+ display: flex;
97
+ align-items: center;
98
+ > span {
99
+ margin-left: 1em;
100
+ margin-right: 0.5em;
101
+ }
102
+ svg {
103
+ max-width: 35px;
104
+ min-width: 25px;
105
+ margin-left: 0.5em;
106
+ transition: 0.3s all;
107
+ text {
108
+ font-size: 0.95em;
109
+ }
110
+ }
103
111
  }
104
112
 
105
113
  .zoom-controls {
106
- display: flex;
107
- position: absolute;
108
- bottom: 2em;
109
- left: 1em;
110
- z-index: 4;
111
- > button {
112
- display: flex;
113
- align-items: center;
114
- justify-content: center;
115
- padding: .2em;
116
- height: 1.75em;
117
- width: 1.75em;
118
- background: rgba(0,0,0,.65);
119
- transition: .2s all;
120
- color: #fff;
121
- border-radius: 100%;
122
- border: 0;
123
- &:hover {
124
- background: rgba(0,0,0,.8);
125
- transition: .2s all;
126
- }
127
- &:active {
128
- transform:scale(0.9);
129
- }
130
- }
131
- > button:first-child {
132
- margin-right: 0.25em;
133
- }
114
+ display: flex;
115
+ position: absolute;
116
+ bottom: 2em;
117
+ left: 1em;
118
+ z-index: 4;
119
+ > button.reset {
120
+ margin-left: 5px;
121
+ background: rgba(0, 0, 0, 0.65);
122
+ transition: 0.2s all;
123
+ color: #fff;
124
+ &:hover {
125
+ background: rgba(0, 0, 0, 0.8);
126
+ transition: 0.2s all;
127
+ }
128
+ &:active {
129
+ transform: scale(0.9);
130
+ }
131
+ &:focus {
132
+ background: #005eaa;
133
+ }
134
+ }
135
+ > button:not(.reset) {
136
+ display: flex;
137
+ align-items: center;
138
+ justify-content: center;
139
+ padding: 0.2em;
140
+ height: 1.75em;
141
+ width: 1.75em;
142
+ background: rgba(0, 0, 0, 0.65);
143
+ transition: 0.2s all;
144
+ color: #fff;
145
+ border-radius: 100%;
146
+ border: 0;
147
+ &:hover {
148
+ background: rgba(0, 0, 0, 0.8);
149
+ transition: 0.2s all;
150
+ }
151
+ &:active {
152
+ transform: scale(0.9);
153
+ }
154
+ svg {
155
+ height: 1.75em;
156
+ width: 1.75em;
157
+ }
158
+ }
159
+ > button:first-child {
160
+ margin-right: 0.25em;
161
+ }
134
162
  }
135
163
 
136
164
  @include breakpointClass(sm) {
137
- .zoom-controls > button {
138
- height: 2.5em;
139
- width: 2.5em;
140
- }
165
+ .zoom-controls > button:not(.reset) {
166
+ height: 2.5em;
167
+ width: 2.5em;
168
+ svg {
169
+ height: 2.5em;
170
+ width: 2.5em;
171
+ }
172
+ }
141
173
  }
142
174
 
143
175
  @include breakpointClass(md) {
144
- .map-downloads .map-downloads__ui.btn-group {
145
- top: 1em;
146
- left: 1em;
147
- transform: none;
148
- }
149
- .territories {
150
- font-size: 1em;
151
- > span {
152
- margin-left: 0;
153
- }
154
- svg {
155
- max-width: 45px;
156
- }
157
- }
176
+ .map-downloads .map-downloads__ui.btn-group {
177
+ top: 1em;
178
+ left: 1em;
179
+ transform: none;
180
+ }
181
+ .territories {
182
+ font-size: 1em;
183
+ > span {
184
+ margin-left: 0;
185
+ }
186
+ svg {
187
+ max-width: 45px;
188
+ }
189
+ }
190
+ }
191
+
192
+ .countyMapGroup {
193
+ transition: transform 1s;
194
+ will-change: transform;
195
+ transform-origin: center;
196
+ stroke: none !important;
197
+ }
198
+
199
+ // .state {
200
+ // display: none;
201
+ // }
202
+
203
+ .state {
204
+ &--inactive:hover path {
205
+ cursor: pointer;
206
+ transition: fill 0.5s;
207
+ }
208
+ }
209
+
210
+ .county--path {
211
+ fill: white;
212
+ }
213
+
214
+ .btn--reset {
215
+ position: absolute;
216
+ top: 10px;
217
+ right: 10px;
218
+ }
219
+
220
+ //Region Maps
221
+ #region-1-label,
222
+ #region-2-label,
223
+ #region-3-label,
224
+ #region-4-label,
225
+ #region-5-label,
226
+ #region-6-label,
227
+ #region-7-label,
228
+ #region-8-label,
229
+ #region-9-label,
230
+ #region-10-label {
231
+ background: #fff;
232
+ }
233
+
234
+ #region-1-label {
235
+ transform: translate(90%, 22%);
236
+ }
237
+
238
+ #region-2-label {
239
+ //transform: translate(83%, 31%); SIDE CHART EXPERIMENT
240
+ transform: translate(83%, 33%);
241
+ }
242
+
243
+ #region-3-label {
244
+ //transform: translate(78%, 48%); SIDE CHART EXPERIMENT
245
+ transform: translate(75%, 45%);
246
+ }
247
+
248
+ #region-4-label {
249
+ transform: translate(68%, 70%);
250
+ }
251
+
252
+ #region-5-label {
253
+ transform: translate(65%, 44%);
254
+ }
255
+
256
+ #region-6-label {
257
+ transform: translate(45%, 75%);
258
+ }
259
+
260
+ #region-7-label {
261
+ transform: translate(53%, 47%);
262
+ }
263
+
264
+ #region-8-label {
265
+ transform: translate(35%, 30%);
266
+ }
267
+
268
+ #region-9-label {
269
+ transform: translate(18%, 58%);
270
+ }
271
+
272
+ #region-10-label {
273
+ transform: translate(15%, 28%);
274
+ }
275
+
276
+ #region-2-territories,
277
+ #region-9-territories {
278
+ text {
279
+ font-weight: bold;
280
+ font-size: 14px;
281
+ }
282
+ }
283
+
284
+ #region-2-territories {
285
+ transform: translate(86%, 40%);
286
+ }
287
+
288
+ #region-9-territories {
289
+ transform: translate(4%, 72%);
290
+
291
+ .region-9-row2 {
292
+ transform: translateY(34px);
293
+ }
158
294
  }
@@ -139,7 +139,6 @@ aside {
139
139
  }
140
140
  select {
141
141
  display: block;
142
- width: inherit;
143
142
  font-size: 1em;
144
143
  }
145
144
  }