@cdc/chart 4.26.1 → 4.26.2

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 (132) hide show
  1. package/CLAUDE.local.md +79 -0
  2. package/dist/{cdcchart-dgT_1dIT.es.js → cdcchart-DQ00cQCm.es.js} +1 -20
  3. package/dist/cdcchart.js +45357 -43655
  4. package/examples/default.json +378 -0
  5. package/examples/feature/__data__/horizon-chart-data.json +373 -0
  6. package/examples/feature/annotations/index.json +3 -6
  7. package/examples/feature/horizon/horizon-chart.json +395 -0
  8. package/examples/line-chart-states.json +1085 -0
  9. package/examples/private/123.json +694 -0
  10. package/examples/private/anchor-issue.json +4094 -0
  11. package/examples/private/backwards-slider.json +10430 -0
  12. package/examples/private/georgia.csv +160 -0
  13. package/examples/private/timeline-data.json +1 -0
  14. package/examples/private/timeline.json +389 -0
  15. package/examples/radar-chart-simple.json +133 -0
  16. package/examples/radar-chart.json +148 -0
  17. package/index.html +1 -31
  18. package/package.json +57 -59
  19. package/src/CdcChartComponent.tsx +99 -18
  20. package/src/_stories/Chart.Anchors.stories.tsx +10 -0
  21. package/src/_stories/Chart.BoxPlot.stories.tsx +7 -0
  22. package/src/_stories/Chart.CI.stories.tsx +13 -0
  23. package/src/_stories/Chart.Combo.stories.tsx +17 -0
  24. package/src/_stories/Chart.CustomColors.stories.tsx +4 -0
  25. package/src/_stories/Chart.DynamicSeries.stories.tsx +19 -0
  26. package/src/_stories/Chart.Filters.stories.tsx +4 -0
  27. package/src/_stories/Chart.Forecast.stories.tsx +4 -0
  28. package/src/_stories/Chart.HTMLInDataTable.stories.tsx +22 -0
  29. package/src/_stories/Chart.Legend.Gradient.stories.tsx +28 -0
  30. package/src/_stories/Chart.Patterns.stories.tsx +4 -0
  31. package/src/_stories/Chart.PreserveDecimals.stories.tsx +25 -0
  32. package/src/_stories/Chart.Regions.Categorical.stories.tsx +13 -0
  33. package/src/_stories/Chart.Regions.DateScale.stories.tsx +19 -0
  34. package/src/_stories/Chart.Regions.DateTimeScale.stories.tsx +25 -10
  35. package/src/_stories/Chart.ScatterPlot.stories.tsx +4 -0
  36. package/src/_stories/Chart.SmallMultiples.stories.tsx +16 -0
  37. package/src/_stories/Chart.stories.tsx +37 -0
  38. package/src/_stories/Chart.tooltip.stories.tsx +7 -0
  39. package/src/_stories/ChartAnnotation.stories.tsx +10 -0
  40. package/src/_stories/ChartAxisLabels.stories.tsx +4 -0
  41. package/src/_stories/ChartAxisTitles.stories.tsx +10 -0
  42. package/src/_stories/ChartBrush.Matrix.Continuous.stories.tsx +41 -0
  43. package/src/_stories/ChartBrush.Matrix.Date.stories.tsx +114 -0
  44. package/src/_stories/ChartBrush.Matrix.DateTime.stories.tsx +78 -0
  45. package/src/_stories/ChartBrush.stories.tsx +7 -0
  46. package/src/_stories/ChartEditor.stories.tsx +7 -0
  47. package/src/_stories/ChartLine.QuadrantAngles.stories.tsx +89 -0
  48. package/src/_stories/ChartLine.Suppression.stories.tsx +7 -0
  49. package/src/_stories/ChartLine.Symbols.stories.tsx +4 -0
  50. package/src/_stories/ChartPrefixSuffix.stories.tsx +46 -1
  51. package/src/_stories/TechAdoptionWithLinks.stories.tsx +7 -0
  52. package/src/_stories/_mock/brush_continuous.json +86 -0
  53. package/src/_stories/_mock/brush_date_large.json +176 -0
  54. package/src/_stories/_mock/line_chart_angle_near_zero_fall.json +195 -0
  55. package/src/_stories/_mock/line_chart_angle_near_zero_rise.json +195 -0
  56. package/src/_stories/_mock/line_chart_angle_q1_steep_upward.json +195 -0
  57. package/src/_stories/_mock/line_chart_angle_q2_gentle_downward.json +195 -0
  58. package/src/_stories/_mock/line_chart_angle_q3_steep_downward.json +195 -0
  59. package/src/_stories/_mock/line_chart_angle_q4_gentle_upward.json +195 -0
  60. package/src/_stories/_mock/line_chart_quadrant_angles.json +264 -0
  61. package/src/components/Annotations/components/AnnotationDraggable.styles.css +11 -17
  62. package/src/components/Annotations/components/AnnotationDraggable.tsx +240 -116
  63. package/src/components/Annotations/components/AnnotationDropdown.styles.css +1 -2
  64. package/src/components/Annotations/components/AnnotationDropdown.tsx +8 -12
  65. package/src/components/Annotations/components/AnnotationList.styles.css +4 -10
  66. package/src/components/Annotations/components/AnnotationList.tsx +5 -4
  67. package/src/components/Annotations/components/findNearestDatum.ts +75 -85
  68. package/src/components/Annotations/helpers/getVisibleAnnotations.ts +38 -0
  69. package/src/components/Axis/BottomAxis.tsx +270 -0
  70. package/src/components/Axis/LeftAxis.tsx +404 -0
  71. package/src/components/Axis/LeftAxisGridlines.tsx +77 -0
  72. package/src/components/Axis/PairedBarAxis.tsx +186 -0
  73. package/src/components/Axis/README.md +94 -0
  74. package/src/components/Axis/RightAxis.tsx +108 -0
  75. package/src/components/Axis/axis.constants.ts +21 -0
  76. package/src/components/Axis/index.ts +7 -0
  77. package/src/components/BarChart/components/BarChart.tsx +7 -1
  78. package/src/components/Brush/BrushSelector.tsx +154 -22
  79. package/src/components/Brush/MiniChartPreview.tsx +138 -21
  80. package/src/components/EditorPanel/EditorPanel.tsx +25 -11
  81. package/src/components/EditorPanel/components/Panels/Panel.Annotate.tsx +60 -22
  82. package/src/components/EditorPanel/components/Panels/Panel.General.tsx +81 -1
  83. package/src/components/EditorPanel/components/Panels/Panel.PatternSettings.tsx +1 -1
  84. package/src/components/EditorPanel/components/Panels/Panel.Radar.tsx +353 -0
  85. package/src/components/EditorPanel/components/Panels/Panel.Series.tsx +0 -1
  86. package/src/components/EditorPanel/components/Panels/Panel.Visual.tsx +21 -1
  87. package/src/components/EditorPanel/components/Panels/index.tsx +2 -0
  88. package/src/components/EditorPanel/useEditorPermissions.ts +55 -26
  89. package/src/components/HorizonChart/HorizonChart.tsx +131 -0
  90. package/src/components/HorizonChart/components/HorizonBand.tsx +160 -0
  91. package/src/components/HorizonChart/helpers/calculateHorizonBands.ts +27 -0
  92. package/src/components/HorizonChart/helpers/getHorizonLayerColors.ts +40 -0
  93. package/src/components/HorizonChart/index.tsx +3 -0
  94. package/src/components/Legend/Legend.Component.tsx +52 -4
  95. package/src/components/Legend/Legend.tsx +1 -1
  96. package/src/components/Legend/LegendValueRange.tsx +77 -0
  97. package/src/components/Legend/helpers/createFormatLabels.tsx +13 -0
  98. package/src/components/Legend/helpers/generateValueRanges.ts +92 -0
  99. package/src/components/LineChart/helpers/README.md +292 -0
  100. package/src/components/LineChart/helpers/labelPositioning.test.ts +245 -0
  101. package/src/components/LineChart/helpers/labelPositioning.ts +304 -0
  102. package/src/components/LineChart/index.tsx +44 -8
  103. package/src/components/LinearChart/README.md +109 -0
  104. package/src/components/LinearChart/VisualizationRenderer.tsx +267 -0
  105. package/src/components/LinearChart/linearChart.constants.ts +84 -0
  106. package/src/components/LinearChart/tests/LinearChart.test.tsx +201 -0
  107. package/src/components/LinearChart/tests/mockConfigContext.ts +129 -0
  108. package/src/components/LinearChart/utils/tickFormatting.ts +146 -0
  109. package/src/components/LinearChart.tsx +250 -1059
  110. package/src/components/PieChart/PieChart.tsx +1 -1
  111. package/src/components/RadarChart/RadarAxis.tsx +78 -0
  112. package/src/components/RadarChart/RadarChart.tsx +298 -0
  113. package/src/components/RadarChart/RadarGrid.tsx +64 -0
  114. package/src/components/RadarChart/RadarPolygon.tsx +91 -0
  115. package/src/components/RadarChart/helpers.ts +83 -0
  116. package/src/components/RadarChart/index.tsx +3 -0
  117. package/src/components/WarmingStripes/WarmingStripes.tsx +95 -25
  118. package/src/data/initial-state.js +14 -1
  119. package/src/helpers/getExcludedData.ts +4 -0
  120. package/src/helpers/handleChartAriaLabels.ts +19 -19
  121. package/src/helpers/handleLineType.ts +22 -18
  122. package/src/hooks/useProgrammaticTooltip.ts +23 -2
  123. package/src/hooks/useScales.ts +7 -0
  124. package/src/hooks/useTooltip.tsx +3 -0
  125. package/src/scss/main.scss +5 -0
  126. package/src/selectors/README.md +68 -0
  127. package/src/store/chart.reducer.ts +2 -0
  128. package/src/types/ChartConfig.ts +18 -0
  129. package/src/types/ChartContext.ts +1 -0
  130. package/src/types/Horizon.ts +64 -0
  131. package/preview.html +0 -1616
  132. package/src/components/Annotations/components/helpers/index.tsx +0 -46
@@ -2,6 +2,7 @@ import config from './../../examples/tech-adoption-with-links.json'
2
2
  import type { Meta, StoryObj } from '@storybook/react-vite'
3
3
  import Chart from '../CdcChart'
4
4
  import { editConfigKeys } from '@cdc/core/helpers/configHelpers'
5
+ import { assertVisualizationRendered } from '@cdc/core/helpers/testing'
5
6
 
6
7
  const meta: Meta<typeof Chart> = {
7
8
  title: 'Components/Templates/Chart/Bar Chart/Horizontal Bar Chart Link Titles',
@@ -14,6 +15,9 @@ export const horizontal_barchart_links: Story = {
14
15
  args: {
15
16
  config: config,
16
17
  isEditor: true
18
+ },
19
+ play: async ({ canvasElement }) => {
20
+ await assertVisualizationRendered(canvasElement)
17
21
  }
18
22
  }
19
23
 
@@ -21,6 +25,9 @@ export const horizontal_barchart_links_single_series: Story = {
21
25
  args: {
22
26
  config: editConfigKeys(config, [{ path: ['tooltips', 'singleSeries'], value: true }]),
23
27
  isEditor: true
28
+ },
29
+ play: async ({ canvasElement }) => {
30
+ await assertVisualizationRendered(canvasElement)
24
31
  }
25
32
  }
26
33
 
@@ -0,0 +1,86 @@
1
+ {
2
+ "type": "chart",
3
+ "title": "Sensor Readings by Temperature - Continuous Axis Demo",
4
+ "showTitle": true,
5
+ "theme": "theme-blue",
6
+ "visualizationType": "Line",
7
+ "orientation": "vertical",
8
+ "xAxis": {
9
+ "type": "continuous",
10
+ "dataKey": "Temperature",
11
+ "hideAxis": false,
12
+ "hideLabel": false,
13
+ "hideTicks": false,
14
+ "size": 75,
15
+ "labelColor": "#333",
16
+ "tickLabelColor": "#333",
17
+ "tickColor": "#333",
18
+ "brushActive": true
19
+ },
20
+ "yAxis": {
21
+ "hideAxis": false,
22
+ "hideLabel": false,
23
+ "hideTicks": false,
24
+ "size": 50,
25
+ "gridLines": false,
26
+ "labelColor": "#333",
27
+ "tickLabelColor": "#333",
28
+ "tickColor": "#333"
29
+ },
30
+ "legend": {
31
+ "hide": false,
32
+ "behavior": "isolate",
33
+ "position": "right"
34
+ },
35
+ "table": {
36
+ "label": "Data Table",
37
+ "show": true
38
+ },
39
+ "series": [
40
+ {
41
+ "dataKey": "Pressure",
42
+ "type": "Line",
43
+ "lineType": "curveMonotoneX",
44
+ "weight": 3,
45
+ "axis": "Left",
46
+ "name": "Pressure (kPa)",
47
+ "tooltip": true
48
+ },
49
+ {
50
+ "dataKey": "Humidity",
51
+ "type": "dashed-md",
52
+ "lineType": "curveLinear",
53
+ "weight": 2,
54
+ "axis": "Left",
55
+ "name": "Humidity (%)",
56
+ "tooltip": true
57
+ }
58
+ ],
59
+ "data": [
60
+ { "Temperature": "10", "Pressure": "101.2", "Humidity": "85" },
61
+ { "Temperature": "15", "Pressure": "101.0", "Humidity": "82" },
62
+ { "Temperature": "20", "Pressure": "100.8", "Humidity": "78" },
63
+ { "Temperature": "25", "Pressure": "100.5", "Humidity": "74" },
64
+ { "Temperature": "30", "Pressure": "100.2", "Humidity": "70" },
65
+ { "Temperature": "35", "Pressure": "99.8", "Humidity": "65" },
66
+ { "Temperature": "40", "Pressure": "99.4", "Humidity": "60" },
67
+ { "Temperature": "45", "Pressure": "99.0", "Humidity": "56" },
68
+ { "Temperature": "50", "Pressure": "98.5", "Humidity": "52" },
69
+ { "Temperature": "55", "Pressure": "98.0", "Humidity": "48" },
70
+ { "Temperature": "60", "Pressure": "97.4", "Humidity": "45" },
71
+ { "Temperature": "65", "Pressure": "96.8", "Humidity": "42" },
72
+ { "Temperature": "70", "Pressure": "96.1", "Humidity": "40" },
73
+ { "Temperature": "75", "Pressure": "95.4", "Humidity": "38" },
74
+ { "Temperature": "80", "Pressure": "94.6", "Humidity": "36" },
75
+ { "Temperature": "85", "Pressure": "93.8", "Humidity": "35" },
76
+ { "Temperature": "90", "Pressure": "92.9", "Humidity": "34" },
77
+ { "Temperature": "95", "Pressure": "92.0", "Humidity": "33" },
78
+ { "Temperature": "100", "Pressure": "91.0", "Humidity": "32" },
79
+ { "Temperature": "105", "Pressure": "90.0", "Humidity": "31" },
80
+ { "Temperature": "110", "Pressure": "88.9", "Humidity": "30" },
81
+ { "Temperature": "115", "Pressure": "87.7", "Humidity": "29" },
82
+ { "Temperature": "120", "Pressure": "86.5", "Humidity": "28" },
83
+ { "Temperature": "125", "Pressure": "85.2", "Humidity": "27" },
84
+ { "Temperature": "130", "Pressure": "83.8", "Humidity": "26" }
85
+ ]
86
+ }
@@ -0,0 +1,176 @@
1
+ {
2
+ "type": "chart",
3
+ "title": "Weekly Regional Metrics - Date Type Brush Demo",
4
+ "showTitle": true,
5
+ "theme": "theme-blue",
6
+ "visualizationType": "Line",
7
+ "orientation": "vertical",
8
+ "xAxis": {
9
+ "type": "date",
10
+ "dataKey": "Week_End",
11
+ "dateParseFormat": "%Y-%m-%d",
12
+ "dateDisplayFormat": "%m/%d/%y",
13
+ "hideAxis": false,
14
+ "hideLabel": false,
15
+ "hideTicks": false,
16
+ "size": 75,
17
+ "labelColor": "#333",
18
+ "tickLabelColor": "#333",
19
+ "tickColor": "#333",
20
+ "brushActive": true
21
+ },
22
+ "yAxis": {
23
+ "hideAxis": false,
24
+ "hideLabel": false,
25
+ "hideTicks": false,
26
+ "size": 50,
27
+ "gridLines": false,
28
+ "labelColor": "#333",
29
+ "tickLabelColor": "#333",
30
+ "tickColor": "#333"
31
+ },
32
+ "legend": {
33
+ "hide": false,
34
+ "behavior": "isolate",
35
+ "position": "right"
36
+ },
37
+ "table": {
38
+ "label": "Data Table",
39
+ "show": true
40
+ },
41
+ "series": [
42
+ {
43
+ "dataKey": "National",
44
+ "type": "Line",
45
+ "lineType": "curveMonotoneX",
46
+ "weight": 3,
47
+ "axis": "Left",
48
+ "name": "National",
49
+ "tooltip": true
50
+ },
51
+ {
52
+ "dataKey": "Midwest",
53
+ "type": "Line",
54
+ "lineType": "curveMonotoneX",
55
+ "weight": 2,
56
+ "axis": "Left",
57
+ "name": "Midwest",
58
+ "tooltip": true
59
+ },
60
+ {
61
+ "dataKey": "South",
62
+ "type": "Line",
63
+ "lineType": "curveMonotoneX",
64
+ "weight": 2,
65
+ "axis": "Left",
66
+ "name": "South",
67
+ "tooltip": true
68
+ }
69
+ ],
70
+ "data": [
71
+ { "Week_End": "2022-01-01", "National": "10", "Midwest": "15", "South": "5" },
72
+ { "Week_End": "2022-01-08", "National": "11", "Midwest": "16", "South": "6" },
73
+ { "Week_End": "2022-01-15", "National": "12", "Midwest": "17", "South": "7" },
74
+ { "Week_End": "2022-01-22", "National": "13", "Midwest": "18", "South": "8" },
75
+ { "Week_End": "2022-01-29", "National": "14", "Midwest": "19", "South": "9" },
76
+ { "Week_End": "2022-02-05", "National": "15", "Midwest": "20", "South": "10" },
77
+ { "Week_End": "2022-02-12", "National": "16", "Midwest": "21", "South": "11" },
78
+ { "Week_End": "2022-02-19", "National": "17", "Midwest": "22", "South": "12" },
79
+ { "Week_End": "2022-02-26", "National": "18", "Midwest": "23", "South": "13" },
80
+ { "Week_End": "2022-03-05", "National": "19", "Midwest": "24", "South": "14" },
81
+ { "Week_End": "2022-03-12", "National": "20", "Midwest": "25", "South": "15" },
82
+ { "Week_End": "2022-03-19", "National": "21", "Midwest": "26", "South": "16" },
83
+ { "Week_End": "2022-03-26", "National": "22", "Midwest": "27", "South": "17" },
84
+ { "Week_End": "2022-04-02", "National": "23", "Midwest": "28", "South": "18" },
85
+ { "Week_End": "2022-04-09", "National": "24", "Midwest": "29", "South": "19" },
86
+ { "Week_End": "2022-04-16", "National": "25", "Midwest": "30", "South": "20" },
87
+ { "Week_End": "2022-04-23", "National": "26", "Midwest": "31", "South": "21" },
88
+ { "Week_End": "2022-04-30", "National": "27", "Midwest": "32", "South": "22" },
89
+ { "Week_End": "2022-05-07", "National": "28", "Midwest": "33", "South": "23" },
90
+ { "Week_End": "2022-05-14", "National": "29", "Midwest": "34", "South": "24" },
91
+ { "Week_End": "2022-05-21", "National": "30", "Midwest": "35", "South": "25" },
92
+ { "Week_End": "2022-05-28", "National": "31", "Midwest": "36", "South": "26" },
93
+ { "Week_End": "2022-06-04", "National": "32", "Midwest": "37", "South": "27" },
94
+ { "Week_End": "2022-06-11", "National": "33", "Midwest": "38", "South": "28" },
95
+ { "Week_End": "2022-06-18", "National": "34", "Midwest": "39", "South": "29" },
96
+ { "Week_End": "2022-06-25", "National": "35", "Midwest": "40", "South": "30" },
97
+ { "Week_End": "2022-07-02", "National": "36", "Midwest": "41", "South": "31" },
98
+ { "Week_End": "2022-07-09", "National": "37", "Midwest": "42", "South": "32" },
99
+ { "Week_End": "2022-07-16", "National": "38", "Midwest": "43", "South": "33" },
100
+ { "Week_End": "2022-07-23", "National": "39", "Midwest": "44", "South": "34" },
101
+ { "Week_End": "2022-07-30", "National": "40", "Midwest": "45", "South": "35" },
102
+ { "Week_End": "2022-08-06", "National": "41", "Midwest": "46", "South": "36" },
103
+ { "Week_End": "2022-08-13", "National": "42", "Midwest": "47", "South": "37" },
104
+ { "Week_End": "2022-08-20", "National": "43", "Midwest": "48", "South": "38" },
105
+ { "Week_End": "2022-08-27", "National": "44", "Midwest": "49", "South": "39" },
106
+ { "Week_End": "2022-09-03", "National": "45", "Midwest": "50", "South": "40" },
107
+ { "Week_End": "2022-09-10", "National": "46", "Midwest": "51", "South": "41" },
108
+ { "Week_End": "2022-09-17", "National": "47", "Midwest": "52", "South": "42" },
109
+ { "Week_End": "2022-09-24", "National": "48", "Midwest": "53", "South": "43" },
110
+ { "Week_End": "2022-10-01", "National": "49", "Midwest": "54", "South": "44" },
111
+ { "Week_End": "2022-10-08", "National": "50", "Midwest": "55", "South": "45" },
112
+ { "Week_End": "2022-10-15", "National": "51", "Midwest": "56", "South": "46" },
113
+ { "Week_End": "2022-10-22", "National": "52", "Midwest": "57", "South": "47" },
114
+ { "Week_End": "2022-10-29", "National": "53", "Midwest": "58", "South": "48" },
115
+ { "Week_End": "2022-11-05", "National": "54", "Midwest": "59", "South": "49" },
116
+ { "Week_End": "2022-11-12", "National": "55", "Midwest": "60", "South": "50" },
117
+ { "Week_End": "2022-11-19", "National": "56", "Midwest": "61", "South": "51" },
118
+ { "Week_End": "2022-11-26", "National": "57", "Midwest": "62", "South": "52" },
119
+ { "Week_End": "2022-12-03", "National": "58", "Midwest": "63", "South": "53" },
120
+ { "Week_End": "2022-12-10", "National": "59", "Midwest": "64", "South": "54" },
121
+ { "Week_End": "2022-12-17", "National": "60", "Midwest": "65", "South": "55" },
122
+ { "Week_End": "2022-12-24", "National": "61", "Midwest": "66", "South": "56" },
123
+ { "Week_End": "2022-12-31", "National": "62", "Midwest": "67", "South": "57" },
124
+ { "Week_End": "2023-01-07", "National": "63", "Midwest": "68", "South": "58" },
125
+ { "Week_End": "2023-01-14", "National": "64", "Midwest": "69", "South": "59" },
126
+ { "Week_End": "2023-01-21", "National": "65", "Midwest": "70", "South": "60" },
127
+ { "Week_End": "2023-01-28", "National": "66", "Midwest": "71", "South": "61" },
128
+ { "Week_End": "2023-02-04", "National": "67", "Midwest": "72", "South": "62" },
129
+ { "Week_End": "2023-02-11", "National": "68", "Midwest": "73", "South": "63" },
130
+ { "Week_End": "2023-02-18", "National": "69", "Midwest": "74", "South": "64" },
131
+ { "Week_End": "2023-02-25", "National": "70", "Midwest": "75", "South": "65" },
132
+ { "Week_End": "2023-03-04", "National": "71", "Midwest": "76", "South": "66" },
133
+ { "Week_End": "2023-03-11", "National": "72", "Midwest": "77", "South": "67" },
134
+ { "Week_End": "2023-03-18", "National": "73", "Midwest": "78", "South": "68" },
135
+ { "Week_End": "2023-03-25", "National": "74", "Midwest": "79", "South": "69" },
136
+ { "Week_End": "2023-04-01", "National": "75", "Midwest": "80", "South": "70" },
137
+ { "Week_End": "2023-04-08", "National": "76", "Midwest": "81", "South": "71" },
138
+ { "Week_End": "2023-04-15", "National": "77", "Midwest": "82", "South": "72" },
139
+ { "Week_End": "2023-04-22", "National": "78", "Midwest": "83", "South": "73" },
140
+ { "Week_End": "2023-04-29", "National": "79", "Midwest": "84", "South": "74" },
141
+ { "Week_End": "2023-05-06", "National": "80", "Midwest": "85", "South": "75" },
142
+ { "Week_End": "2023-05-13", "National": "81", "Midwest": "86", "South": "76" },
143
+ { "Week_End": "2023-05-20", "National": "82", "Midwest": "87", "South": "77" },
144
+ { "Week_End": "2023-05-27", "National": "83", "Midwest": "88", "South": "78" },
145
+ { "Week_End": "2023-06-03", "National": "84", "Midwest": "89", "South": "79" },
146
+ { "Week_End": "2023-06-10", "National": "85", "Midwest": "90", "South": "80" },
147
+ { "Week_End": "2023-06-17", "National": "86", "Midwest": "91", "South": "81" },
148
+ { "Week_End": "2023-06-24", "National": "87", "Midwest": "92", "South": "82" },
149
+ { "Week_End": "2023-07-01", "National": "88", "Midwest": "93", "South": "83" },
150
+ { "Week_End": "2023-07-08", "National": "89", "Midwest": "94", "South": "84" },
151
+ { "Week_End": "2023-07-15", "National": "90", "Midwest": "95", "South": "85" },
152
+ { "Week_End": "2023-07-22", "National": "91", "Midwest": "96", "South": "86" },
153
+ { "Week_End": "2023-07-29", "National": "92", "Midwest": "97", "South": "87" },
154
+ { "Week_End": "2023-08-05", "National": "93", "Midwest": "98", "South": "88" },
155
+ { "Week_End": "2023-08-12", "National": "94", "Midwest": "99", "South": "89" },
156
+ { "Week_End": "2023-08-19", "National": "95", "Midwest": "100", "South": "90" },
157
+ { "Week_End": "2023-08-26", "National": "96", "Midwest": "101", "South": "91" },
158
+ { "Week_End": "2023-09-02", "National": "97", "Midwest": "102", "South": "92" },
159
+ { "Week_End": "2023-09-09", "National": "98", "Midwest": "103", "South": "93" },
160
+ { "Week_End": "2023-09-16", "National": "99", "Midwest": "104", "South": "94" },
161
+ { "Week_End": "2023-09-23", "National": "100", "Midwest": "105", "South": "95" },
162
+ { "Week_End": "2023-09-30", "National": "101", "Midwest": "106", "South": "96" },
163
+ { "Week_End": "2023-10-07", "National": "102", "Midwest": "107", "South": "97" },
164
+ { "Week_End": "2023-10-14", "National": "103", "Midwest": "108", "South": "98" },
165
+ { "Week_End": "2023-10-21", "National": "104", "Midwest": "109", "South": "99" },
166
+ { "Week_End": "2023-10-28", "National": "105", "Midwest": "110", "South": "100" },
167
+ { "Week_End": "2023-11-04", "National": "106", "Midwest": "111", "South": "101" },
168
+ { "Week_End": "2023-11-11", "National": "107", "Midwest": "112", "South": "102" },
169
+ { "Week_End": "2023-11-18", "National": "108", "Midwest": "113", "South": "103" },
170
+ { "Week_End": "2023-11-25", "National": "109", "Midwest": "114", "South": "104" },
171
+ { "Week_End": "2023-12-02", "National": "110", "Midwest": "115", "South": "105" },
172
+ { "Week_End": "2023-12-09", "National": "111", "Midwest": "116", "South": "106" },
173
+ { "Week_End": "2023-12-16", "National": "112", "Midwest": "117", "South": "107" },
174
+ { "Week_End": "2023-12-23", "National": "113", "Midwest": "118", "South": "108" }
175
+ ]
176
+ }
@@ -0,0 +1,195 @@
1
+ {
2
+ "type": "chart",
3
+ "title": "Near Zero Fall Angle",
4
+ "theme": "theme-blue",
5
+ "animate": false,
6
+ "fontSize": "medium",
7
+ "lineDatapointStyle": "always show",
8
+ "visualizationSubType": "regular",
9
+ "padding": {
10
+ "left": 5,
11
+ "right": 5
12
+ },
13
+ "yAxis": {
14
+ "hideAxis": false,
15
+ "displayNumbersOnBar": false,
16
+ "hideLabel": false,
17
+ "hideTicks": false,
18
+ "size": "68",
19
+ "gridLines": true,
20
+ "enablePadding": false,
21
+ "min": "0",
22
+ "max": "120",
23
+ "labelColor": "#333",
24
+ "tickLabelColor": "#333",
25
+ "tickColor": "#333",
26
+ "numTicks": "",
27
+ "axisPadding": 0,
28
+ "scalePadding": 10,
29
+ "tickRotation": 0,
30
+ "label": "Value"
31
+ },
32
+ "topAxis": {
33
+ "hasLine": false
34
+ },
35
+ "height": "450",
36
+ "xAxis": {
37
+ "sortDates": false,
38
+ "type": "categorical",
39
+ "hideAxis": false,
40
+ "hideLabel": false,
41
+ "hideTicks": false,
42
+ "size": "78",
43
+ "tickRotation": "0",
44
+ "min": "",
45
+ "max": "",
46
+ "labelColor": "#333",
47
+ "tickLabelColor": "#333",
48
+ "tickColor": "#333",
49
+ "numTicks": "",
50
+ "labelOffset": 0,
51
+ "axisPadding": 0,
52
+ "padding": 5,
53
+ "dataKey": "Category",
54
+ "label": "Data Points"
55
+ },
56
+ "table": {
57
+ "label": "Data Table",
58
+ "expanded": false,
59
+ "limitHeight": false,
60
+ "height": "",
61
+ "caption": "Testing near-zero fall angles (close to 180°)",
62
+ "showDownloadUrl": false,
63
+ "showDataTableLink": true,
64
+ "showDownloadLinkBelow": true,
65
+ "download": true,
66
+ "showVertical": true,
67
+ "show": true
68
+ },
69
+ "orientation": "vertical",
70
+ "legend": {
71
+ "hide": false,
72
+ "behavior": "highlight",
73
+ "axisAlign": true,
74
+ "singleRow": false,
75
+ "colorCode": "",
76
+ "reverseLabelOrder": false,
77
+ "description": "Near-zero fall angle line",
78
+ "label": "Series",
79
+ "lineMode": false,
80
+ "verticalSorted": false,
81
+ "highlightOnHover": false,
82
+ "style": "lines",
83
+ "subStyle": "linear blocks",
84
+ "shape": "circle",
85
+ "hideBorder": {
86
+ "side": false,
87
+ "topBottom": true
88
+ },
89
+ "position": "right",
90
+ "hasShape": true
91
+ },
92
+ "exclusions": {
93
+ "active": false,
94
+ "keys": []
95
+ },
96
+ "palette": "qualitative4",
97
+ "isPaletteReversed": false,
98
+ "labels": true,
99
+ "dataFormat": {
100
+ "commas": false,
101
+ "prefix": "",
102
+ "suffix": "",
103
+ "abbreviated": false
104
+ },
105
+ "confidenceKeys": {},
106
+ "visual": {
107
+ "border": true,
108
+ "accent": true,
109
+ "background": true,
110
+ "verticalHoverLine": false,
111
+ "horizontalHoverLine": false,
112
+ "lineDatapointSymbol": "standard"
113
+ },
114
+ "data": [
115
+ {
116
+ "Category": "A",
117
+ "Near Zero Fall": "5"
118
+ },
119
+ {
120
+ "Category": "B",
121
+ "Near Zero Fall": "0"
122
+ },
123
+ {
124
+ "Category": "C",
125
+ "Near Zero Fall": "80"
126
+ },
127
+ {
128
+ "Category": "D",
129
+ "Near Zero Fall": "90"
130
+ },
131
+ {
132
+ "Category": "E",
133
+ "Near Zero Fall": "100"
134
+ },
135
+ {
136
+ "Category": "F",
137
+ "Near Zero Fall": "10"
138
+ },
139
+ {
140
+ "Category": "G",
141
+ "Near Zero Fall": "5"
142
+ },
143
+ {
144
+ "Category": "H",
145
+ "Near Zero Fall": "0"
146
+ }
147
+ ],
148
+ "visualizationType": "Line",
149
+ "series": [
150
+ {
151
+ "dataKey": "Near Zero Fall",
152
+ "type": "Line",
153
+ "axis": "Left",
154
+ "tooltip": true
155
+ }
156
+ ],
157
+ "description": "Testing edge case near-zero fall angles (close to 180°) where the line is nearly horizontal with slight downward movement.",
158
+ "annotations": [],
159
+ "debugSvg": false,
160
+ "chartMessage": {
161
+ "noData": "No Data Available"
162
+ },
163
+ "showTitle": true,
164
+ "showDownloadMediaButton": false,
165
+ "lineDatapointColor": "Same as Line",
166
+ "isResponsiveTicks": false,
167
+ "general": {
168
+ "annotationDropdownText": "Annotations",
169
+ "showDownloadButton": false,
170
+ "showMissingDataLabel": true,
171
+ "showSuppressedSymbol": true,
172
+ "showZeroValueData": true,
173
+ "hideNullValue": true,
174
+ "useIntelligentLineChartLabels": true
175
+ },
176
+ "isLegendValue": false,
177
+ "barSpace": 15,
178
+ "heights": {
179
+ "vertical": 450,
180
+ "horizontal": 750
181
+ },
182
+ "columns": {},
183
+ "brush": {
184
+ "height": 45,
185
+ "active": false
186
+ },
187
+ "useLogScale": false,
188
+ "filterBehavior": "Filter Change",
189
+ "tooltips": {
190
+ "opacity": 90,
191
+ "singleSeries": false,
192
+ "dateDisplayFormat": ""
193
+ },
194
+ "version": "4.25.1"
195
+ }