@cdc/chart 4.25.8 → 4.25.11

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 (145) hide show
  1. package/.claude/settings.local.json +9 -0
  2. package/dist/{cdcchart-1a1724a1.es.js → cdcchart-dgT_1dIT.es.js} +136 -151
  3. package/dist/cdcchart.js +44236 -40355
  4. package/examples/feature/__data__/planet-example-data.json +0 -30
  5. package/examples/feature/boxplot/valid-boxplot.csv +38 -17
  6. package/examples/grouped-bar-test.json +400 -0
  7. package/examples/private/DEV-11825.json +573 -0
  8. package/examples/private/d.json +382 -0
  9. package/examples/private/example-2.json +49784 -0
  10. package/examples/private/f2.json +1 -0
  11. package/examples/private/f4.json +1577 -0
  12. package/examples/private/forecast.json +1180 -0
  13. package/examples/private/lollipop.json +468 -0
  14. package/examples/private/na.json +913 -0
  15. package/examples/private/new.json +48756 -0
  16. package/examples/private/pie-chart-legend.json +904 -0
  17. package/examples/private/test-data.csv +28 -0
  18. package/examples/suppressed_tooltip.json +480 -0
  19. package/index.html +2 -133
  20. package/package.json +25 -7
  21. package/src/CdcChart.tsx +9 -13
  22. package/src/CdcChartComponent.tsx +403 -92
  23. package/src/_stories/Chart.Anchors.stories.tsx +2 -2
  24. package/src/_stories/Chart.BoxPlot.stories.tsx +1 -1
  25. package/src/_stories/Chart.CI.stories.tsx +1 -1
  26. package/src/_stories/Chart.Combo.stories.tsx +18 -0
  27. package/src/_stories/Chart.CustomColors.stories.tsx +1 -1
  28. package/src/_stories/Chart.DynamicSeries.stories.tsx +2 -2
  29. package/src/_stories/Chart.Filters.stories.tsx +2 -2
  30. package/src/_stories/Chart.Forecast.stories.tsx +36 -0
  31. package/src/_stories/Chart.HTMLInDataTable.stories.tsx +520 -0
  32. package/src/_stories/Chart.Legend.Gradient.stories.tsx +2 -2
  33. package/src/_stories/Chart.Patterns.stories.tsx +20 -0
  34. package/src/_stories/Chart.PreserveDecimals.stories.tsx +220 -0
  35. package/src/_stories/Chart.ScatterPlot.stories.tsx +1 -1
  36. package/src/_stories/Chart.SmallMultiples.stories.tsx +47 -0
  37. package/src/_stories/Chart.stories.tsx +8 -5
  38. package/src/_stories/Chart.tooltip.stories.tsx +1 -1
  39. package/src/_stories/ChartAnnotation.stories.tsx +7 -4
  40. package/src/_stories/ChartAxisLabels.stories.tsx +2 -2
  41. package/src/_stories/ChartAxisTitles.stories.tsx +2 -2
  42. package/src/_stories/ChartBar.Editor.stories.tsx +3580 -0
  43. package/src/_stories/ChartEditor.Editor.stories.tsx +658 -0
  44. package/src/_stories/ChartEditor.stories.tsx +59 -60
  45. package/src/_stories/ChartLine.Suppression.stories.tsx +1 -1
  46. package/src/_stories/ChartLine.Symbols.stories.tsx +1 -1
  47. package/src/_stories/ChartPrefixSuffix.stories.tsx +2 -2
  48. package/src/_stories/_mock/combo.json +451 -0
  49. package/src/_stories/_mock/editor-test-configs.json +376 -0
  50. package/src/_stories/_mock/editor-test-datasets.json +477 -0
  51. package/src/_stories/_mock/editor-tests/bar-chart-editor-test.json +255 -0
  52. package/src/_stories/_mock/editor-tests/bar-chart-general-test.json +267 -0
  53. package/src/_stories/_mock/editor-tests/bar-chart-test.json +237 -0
  54. package/src/_stories/_mock/forecast_combo_with_gaps.json +913 -0
  55. package/src/_stories/_mock/pie_config.json +257 -62
  56. package/src/_stories/_mock/small_multiples/small_multiples_bars.json +1944 -0
  57. package/src/_stories/_mock/small_multiples/small_multiples_big_data_bars.json +1114 -0
  58. package/src/_stories/_mock/small_multiples/small_multiples_lines.json +2646 -0
  59. package/src/_stories/_mock/small_multiples/small_multiples_lines_colors.json +1305 -0
  60. package/src/_stories/_mock/small_multiples/small_multiples_stacked_bars.json +1936 -0
  61. package/src/_stories/_mock/stacked-pattern-test.json +520 -0
  62. package/src/components/Annotations/components/AnnotationDraggable.tsx +1 -0
  63. package/src/components/Annotations/components/AnnotationDropdown.tsx +1 -1
  64. package/src/components/Annotations/components/findNearestDatum.ts +6 -41
  65. package/src/components/AreaChart/components/AreaChart.Stacked.jsx +10 -6
  66. package/src/components/AreaChart/index.tsx +1 -2
  67. package/src/components/BarChart/components/BarChart.Horizontal.tsx +161 -22
  68. package/src/components/BarChart/components/BarChart.StackedHorizontal.tsx +138 -5
  69. package/src/components/BarChart/components/BarChart.StackedVertical.tsx +215 -73
  70. package/src/components/BarChart/components/BarChart.Vertical.tsx +155 -22
  71. package/src/components/BarChart/helpers/index.ts +43 -4
  72. package/src/components/BarChart/helpers/lollipopColors.ts +27 -0
  73. package/src/components/BarChart/helpers/useBarChart.ts +25 -3
  74. package/src/components/BoxPlot/BoxPlot.Vertical.tsx +2 -1
  75. package/src/components/BoxPlot/helpers/index.ts +3 -3
  76. package/src/components/Brush/BrushChart.tsx +1 -1
  77. package/src/components/DeviationBar.jsx +9 -6
  78. package/src/components/EditorPanel/EditorPanel.tsx +563 -229
  79. package/src/components/EditorPanel/EditorPanelContext.ts +3 -0
  80. package/src/components/EditorPanel/components/Panels/Panel.Annotate.tsx +96 -111
  81. package/src/components/EditorPanel/components/Panels/Panel.General.tsx +19 -1
  82. package/src/components/EditorPanel/components/Panels/Panel.PatternSettings.tsx +461 -0
  83. package/src/components/EditorPanel/components/Panels/Panel.Series.tsx +80 -67
  84. package/src/components/EditorPanel/components/Panels/Panel.SmallMultiples.tsx +422 -0
  85. package/src/components/EditorPanel/components/Panels/Panel.Visual.tsx +188 -139
  86. package/src/components/EditorPanel/components/Panels/index.tsx +5 -1
  87. package/src/components/EditorPanel/components/Panels/panelVisual.styles.css +0 -8
  88. package/src/components/EditorPanel/editor-panel.scss +0 -20
  89. package/src/components/EditorPanel/helpers/updateFieldRankByValue.ts +49 -48
  90. package/src/components/EditorPanel/useEditorPermissions.ts +7 -15
  91. package/src/components/Forecasting/Forecasting.tsx +175 -27
  92. package/src/components/ForestPlot/ForestPlot.tsx +11 -7
  93. package/src/components/ForestPlot/ForestPlotProps.ts +1 -1
  94. package/src/components/Legend/Legend.Component.tsx +114 -14
  95. package/src/components/Legend/helpers/createFormatLabels.tsx +230 -171
  96. package/src/components/Legend/helpers/getLegendClasses.ts +0 -1
  97. package/src/components/LegendWrapper.tsx +1 -1
  98. package/src/components/LineChart/LineChartProps.ts +0 -3
  99. package/src/components/LineChart/components/LineChart.Circle.tsx +2 -2
  100. package/src/components/LineChart/helpers.ts +1 -1
  101. package/src/components/LineChart/index.tsx +38 -15
  102. package/src/components/LinearChart.tsx +96 -84
  103. package/src/components/PairedBarChart.jsx +6 -4
  104. package/src/components/PieChart/PieChart.tsx +170 -54
  105. package/src/components/Regions/components/Regions.tsx +3 -24
  106. package/src/components/Sankey/components/Sankey.tsx +7 -1
  107. package/src/components/Sankey/types/index.ts +1 -1
  108. package/src/components/ScatterPlot/ScatterPlot.jsx +32 -4
  109. package/src/components/SmallMultiples/SmallMultipleTile.tsx +198 -0
  110. package/src/components/SmallMultiples/SmallMultiples.css +32 -0
  111. package/src/components/SmallMultiples/SmallMultiples.tsx +271 -0
  112. package/src/components/SmallMultiples/index.ts +2 -0
  113. package/src/data/initial-state.js +327 -293
  114. package/src/helpers/buildForecastPaletteMappings.ts +112 -0
  115. package/src/helpers/buildForecastPaletteOptions.ts +71 -0
  116. package/src/helpers/getColorScale.ts +82 -8
  117. package/src/{hooks/useMinMax.ts → helpers/getMinMax.ts} +14 -7
  118. package/src/helpers/getNewRuntime.ts +1 -1
  119. package/src/helpers/getTransformedData.ts +1 -1
  120. package/src/helpers/getYAxisAutoPadding.ts +53 -0
  121. package/src/helpers/smallMultiplesHelpers.ts +529 -0
  122. package/src/hooks/useChartHoverAnalytics.tsx +44 -0
  123. package/src/hooks/useProgrammaticTooltip.ts +96 -0
  124. package/src/hooks/useReduceData.ts +105 -70
  125. package/src/hooks/useScales.ts +88 -34
  126. package/src/hooks/useSmallMultipleSynchronization.ts +59 -0
  127. package/src/hooks/useTooltip.tsx +116 -29
  128. package/src/index.jsx +0 -2
  129. package/src/scss/main.scss +13 -80
  130. package/src/store/chart.actions.ts +2 -0
  131. package/src/store/chart.reducer.ts +5 -1
  132. package/src/test/CdcChart.test.jsx +8 -3
  133. package/src/types/ChartConfig.ts +53 -11
  134. package/src/types/ChartContext.ts +4 -0
  135. package/vite.config.js +1 -1
  136. package/vitest.config.ts +16 -0
  137. package/src/_stories/_mock/pie_data.json +0 -218
  138. package/src/components/AreaChart/components/AreaChart.jsx +0 -109
  139. package/src/coreStyles_chart.scss +0 -3
  140. package/src/helpers/configHelpers.ts +0 -28
  141. package/src/helpers/generateColorsArray.ts +0 -8
  142. package/src/helpers/sort.ts +0 -7
  143. package/src/hooks/useActiveElement.js +0 -19
  144. package/src/hooks/useChartClasses.js +0 -41
  145. package/src/hooks/useColorPalette.js +0 -76
@@ -0,0 +1,237 @@
1
+ {
2
+ "type": "chart",
3
+ "debugSvg": false,
4
+ "chartMessage": {
5
+ "noData": "No Data Available"
6
+ },
7
+ "title": "Bar Chart Test",
8
+ "showTitle": true,
9
+ "showDownloadMediaButton": false,
10
+ "theme": "theme-blue",
11
+ "animate": false,
12
+ "fontSize": "medium",
13
+ "lineDatapointStyle": "hover",
14
+ "lineDatapointColor": "Same as Line",
15
+ "barHasBorder": "false",
16
+ "isLollipopChart": false,
17
+ "lollipopShape": "circle",
18
+ "lollipopColorStyle": "two-tone",
19
+ "visualizationSubType": "regular",
20
+ "barStyle": "flat",
21
+ "roundingStyle": "standard",
22
+ "tipRounding": "top",
23
+ "isResponsiveTicks": true,
24
+ "general": {
25
+ "showDownloadButton": false,
26
+ "showMissingDataLabel": false,
27
+ "showSuppressedSymbol": true,
28
+ "showZeroValueData": false,
29
+ "hideNullValue": true
30
+ },
31
+ "padding": {
32
+ "left": 5,
33
+ "right": 5
34
+ },
35
+ "yAxis": {
36
+ "hideAxis": false,
37
+ "displayNumbersOnBar": false,
38
+ "hideLabel": false,
39
+ "hideTicks": false,
40
+ "size": "75",
41
+ "gridLines": false,
42
+ "enablePadding": false,
43
+ "min": "0",
44
+ "max": "100",
45
+ "labelColor": "#333",
46
+ "tickLabelColor": "#333",
47
+ "tickColor": "#333",
48
+ "rightHideAxis": true,
49
+ "rightAxisSize": 0,
50
+ "rightLabel": "",
51
+ "rightLabelOffsetSize": 0,
52
+ "rightAxisLabelColor": "#333",
53
+ "rightAxisTickLabelColor": "#333",
54
+ "rightAxisTickColor": "#333",
55
+ "numTicks": "6",
56
+ "axisPadding": 0,
57
+ "scalePadding": 10,
58
+ "tickRotation": 0,
59
+ "anchors": [],
60
+ "showMissingDataLabel": true,
61
+ "showMissingDataLine": true,
62
+ "categories": [],
63
+ "label": "Values",
64
+ "type": "linear"
65
+ },
66
+ "xAxis": {
67
+ "sortDates": false,
68
+ "anchors": [],
69
+ "type": "categorical",
70
+ "showTargetLabel": true,
71
+ "targetLabel": "Target",
72
+ "hideAxis": false,
73
+ "hideLabel": false,
74
+ "hideTicks": false,
75
+ "size": 75,
76
+ "tickRotation": 0,
77
+ "min": "",
78
+ "max": "",
79
+ "labelColor": "#333",
80
+ "tickLabelColor": "#333",
81
+ "tickColor": "#333",
82
+ "numTicks": "",
83
+ "labelOffset": 0,
84
+ "axisPadding": 200,
85
+ "target": 0,
86
+ "maxTickRotation": 0,
87
+ "padding": 5,
88
+ "showYearsOnce": false,
89
+ "sortByRecentDate": false,
90
+ "dataKey": "Category",
91
+ "label": "Category",
92
+ "manual": true
93
+ },
94
+ "table": {
95
+ "label": "Data Table",
96
+ "expanded": false,
97
+ "limitHeight": false,
98
+ "height": "",
99
+ "caption": "",
100
+ "showDownloadUrl": false,
101
+ "showDataTableLink": true,
102
+ "showDownloadLinkBelow": true,
103
+ "indexLabel": "",
104
+ "download": true,
105
+ "showVertical": false,
106
+ "dateDisplayFormat": "",
107
+ "showMissingDataLabel": true,
108
+ "showSuppressedSymbol": true,
109
+ "show": true
110
+ },
111
+ "orientation": "vertical",
112
+ "color": "pinkpurple",
113
+ "columns": {},
114
+ "legend": {
115
+ "hide": false,
116
+ "behavior": "isolate",
117
+ "axisAlign": true,
118
+ "singleRow": true,
119
+ "colorCode": "",
120
+ "reverseLabelOrder": false,
121
+ "description": "",
122
+ "dynamicLegend": false,
123
+ "dynamicLegendDefaultText": "Show All",
124
+ "dynamicLegendItemLimit": 5,
125
+ "dynamicLegendItemLimitMessage": "Dynamic Legend Item Limit Hit.",
126
+ "dynamicLegendChartMessage": "Select Options from the Legend",
127
+ "label": "",
128
+ "lineMode": false,
129
+ "verticalSorted": false,
130
+ "highlightOnHover": false,
131
+ "hideSuppressedLabels": false,
132
+ "hideSuppressionLink": false,
133
+ "seriesHighlight": [],
134
+ "style": "boxes",
135
+ "subStyle": "linear blocks",
136
+ "shape": "circle",
137
+ "tickRotation": "",
138
+ "hideBorder": {
139
+ "side": false,
140
+ "topBottom": true
141
+ },
142
+ "position": "right"
143
+ },
144
+ "brush": {
145
+ "height": 25,
146
+ "active": false
147
+ },
148
+ "exclusions": {
149
+ "active": false,
150
+ "keys": []
151
+ },
152
+ "palette": "qualitative-bold",
153
+ "isPaletteReversed": false,
154
+ "twoColor": {
155
+ "palette": "monochrome-1",
156
+ "isPaletteReversed": false
157
+ },
158
+ "labels": false,
159
+ "dataFormat": {
160
+ "commas": false,
161
+ "prefix": "",
162
+ "suffix": "",
163
+ "abbreviated": false,
164
+ "bottomSuffix": "",
165
+ "bottomPrefix": "",
166
+ "bottomAbbreviated": false,
167
+ "roundTo": "1"
168
+ },
169
+ "confidenceKeys": {
170
+ "upper": "",
171
+ "lower": ""
172
+ },
173
+ "visual": {
174
+ "border": true,
175
+ "accent": true,
176
+ "background": true,
177
+ "verticalHoverLine": false,
178
+ "horizontalHoverLine": false,
179
+ "lineDatapointSymbol": "none",
180
+ "maximumShapeAmount": 7
181
+ },
182
+ "useLogScale": false,
183
+ "filterBehavior": "Filter Change",
184
+ "highlightedBarValues": [],
185
+ "series": [
186
+ {
187
+ "dataKey": "Series A",
188
+ "type": "Bar",
189
+ "axis": "Left",
190
+ "tooltip": true
191
+ },
192
+ {
193
+ "dataKey": "Series B",
194
+ "type": "Bar",
195
+ "axis": "Left",
196
+ "tooltip": true
197
+ },
198
+ {
199
+ "dataKey": "Series C",
200
+ "type": "Bar",
201
+ "axis": "Left",
202
+ "tooltip": true
203
+ }
204
+ ],
205
+ "tooltips": {
206
+ "opacity": 90,
207
+ "singleSeries": false,
208
+ "dateDisplayFormat": ""
209
+ },
210
+ "visualizationType": "Bar",
211
+ "data": [
212
+ {
213
+ "Category": "Q1",
214
+ "Series A": 25,
215
+ "Series B": 35,
216
+ "Series C": 15
217
+ },
218
+ {
219
+ "Category": "Q2",
220
+ "Series A": 30,
221
+ "Series B": 25,
222
+ "Series C": 20
223
+ },
224
+ {
225
+ "Category": "Q3",
226
+ "Series A": 20,
227
+ "Series B": 30,
228
+ "Series C": 25
229
+ },
230
+ {
231
+ "Category": "Q4",
232
+ "Series A": 35,
233
+ "Series B": 20,
234
+ "Series C": 30
235
+ }
236
+ ]
237
+ }