@cdc/chart 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.
Files changed (135) hide show
  1. package/dist/{cdcchart-1a1724a1.es.js → cdcchart-dgT_1dIT.es.js} +136 -151
  2. package/dist/cdcchart.js +44003 -43518
  3. package/examples/feature/__data__/planet-example-data.json +1 -1
  4. package/examples/feature/boxplot/valid-boxplot.csv +38 -17
  5. package/examples/feature/pie/planet-pie-example-config.json +48 -2
  6. package/examples/private/DEV-11825.json +573 -0
  7. package/examples/private/DEV-12100.json +1303 -0
  8. package/examples/private/cat-y.json +1235 -0
  9. package/examples/private/data-points.json +228 -0
  10. package/examples/private/height.json +3915 -0
  11. package/examples/private/links.json +569 -0
  12. package/examples/private/na.json +913 -0
  13. package/examples/private/quadrant.txt +30 -0
  14. package/examples/private/test-data.csv +28 -0
  15. package/examples/private/test-forecast.json +5510 -0
  16. package/examples/private/warming-stripe-test.json +2578 -0
  17. package/examples/private/warming-stripes.json +4763 -0
  18. package/examples/tech-adoption-with-links.json +560 -0
  19. package/index.html +16 -140
  20. package/package.json +6 -5
  21. package/preview.html +1616 -0
  22. package/src/CdcChart.tsx +8 -11
  23. package/src/CdcChartComponent.tsx +329 -124
  24. package/src/_stories/Chart.Combo.stories.tsx +18 -0
  25. package/src/_stories/Chart.Forecast.stories.tsx +36 -0
  26. package/src/_stories/Chart.HTMLInDataTable.stories.tsx +520 -0
  27. package/src/_stories/Chart.Patterns.stories.tsx +2 -1
  28. package/src/_stories/Chart.PreserveDecimals.stories.tsx +220 -0
  29. package/src/_stories/Chart.Regions.Categorical.stories.tsx +148 -0
  30. package/src/_stories/Chart.Regions.DateScale.stories.tsx +197 -0
  31. package/src/_stories/Chart.Regions.DateTimeScale.stories.tsx +297 -0
  32. package/src/_stories/Chart.SmallMultiples.stories.tsx +47 -0
  33. package/src/_stories/Chart.stories.tsx +8 -0
  34. package/src/_stories/ChartAnnotation.stories.tsx +6 -3
  35. package/src/_stories/ChartBar.Editor.stories.tsx +3585 -0
  36. package/src/_stories/ChartBrush.Editor.stories.tsx +295 -0
  37. package/src/_stories/ChartBrush.stories.tsx +50 -0
  38. package/src/_stories/ChartEditor.Editor.stories.tsx +656 -0
  39. package/src/_stories/ChartEditor.stories.tsx +1 -2
  40. package/src/_stories/TechAdoptionWithLinks.stories.tsx +27 -0
  41. package/src/_stories/_mock/brush_enabled.json +326 -0
  42. package/src/_stories/_mock/brush_mock.json +2 -69
  43. package/src/_stories/_mock/combo.json +451 -0
  44. package/src/_stories/_mock/editor-test-configs.json +376 -0
  45. package/src/_stories/_mock/editor-test-datasets.json +477 -0
  46. package/src/_stories/_mock/editor-tests/bar-chart-editor-test.json +255 -0
  47. package/src/_stories/_mock/editor-tests/bar-chart-general-test.json +267 -0
  48. package/src/_stories/_mock/editor-tests/bar-chart-test.json +237 -0
  49. package/src/_stories/_mock/forecast_combo_with_gaps.json +913 -0
  50. package/src/_stories/_mock/horizontal-bars-dynamic-y-axis.json +413 -0
  51. package/src/_stories/_mock/pie_config.json +257 -62
  52. package/src/_stories/_mock/small_multiples/small_multiples_bars.json +1944 -0
  53. package/src/_stories/_mock/small_multiples/small_multiples_big_data_bars.json +1114 -0
  54. package/src/_stories/_mock/small_multiples/small_multiples_lines.json +2646 -0
  55. package/src/_stories/_mock/small_multiples/small_multiples_lines_colors.json +1305 -0
  56. package/src/_stories/_mock/small_multiples/small_multiples_stacked_bars.json +1936 -0
  57. package/src/components/Annotations/components/findNearestDatum.ts +6 -41
  58. package/src/components/AreaChart/components/AreaChart.Stacked.jsx +10 -7
  59. package/src/components/AreaChart/index.tsx +1 -2
  60. package/src/components/Axis/Categorical.Axis.tsx +6 -7
  61. package/src/components/BarChart/components/BarChart.Horizontal.tsx +181 -27
  62. package/src/components/BarChart/components/BarChart.StackedHorizontal.tsx +3 -1
  63. package/src/components/BarChart/components/BarChart.StackedVertical.tsx +1 -0
  64. package/src/components/BarChart/components/BarChart.Vertical.tsx +8 -9
  65. package/src/components/BarChart/components/context.tsx +1 -0
  66. package/src/components/BarChart/helpers/useBarChart.ts +14 -2
  67. package/src/components/BoxPlot/helpers/index.ts +3 -3
  68. package/src/components/Brush/BrushSelector.tsx +1258 -0
  69. package/src/components/Brush/MiniChartPreview.tsx +283 -0
  70. package/src/components/DeviationBar.jsx +9 -7
  71. package/src/components/EditorPanel/EditorPanel.tsx +2720 -2586
  72. package/src/components/EditorPanel/components/Panels/Panel.Annotate.tsx +96 -111
  73. package/src/components/EditorPanel/components/Panels/Panel.ForestPlotSettings.tsx +56 -34
  74. package/src/components/EditorPanel/components/Panels/Panel.General.tsx +76 -31
  75. package/src/components/EditorPanel/components/Panels/Panel.PatternSettings.tsx +104 -55
  76. package/src/components/EditorPanel/components/Panels/Panel.Series.tsx +54 -49
  77. package/src/components/EditorPanel/components/Panels/Panel.SmallMultiples.tsx +427 -0
  78. package/src/components/EditorPanel/components/Panels/Panel.Visual.tsx +96 -48
  79. package/src/components/EditorPanel/components/Panels/index.tsx +3 -1
  80. package/src/components/EditorPanel/editor-panel.scss +0 -20
  81. package/src/components/EditorPanel/useEditorPermissions.ts +36 -31
  82. package/src/components/Forecasting/Forecasting.tsx +139 -21
  83. package/src/components/Legend/Legend.Component.tsx +16 -9
  84. package/src/components/Legend/Legend.tsx +3 -2
  85. package/src/components/Legend/helpers/createFormatLabels.tsx +325 -176
  86. package/src/components/Legend/helpers/getLegendClasses.ts +0 -1
  87. package/src/components/Legend/helpers/index.ts +10 -6
  88. package/src/components/LineChart/LineChartProps.ts +0 -3
  89. package/src/components/LineChart/helpers.ts +1 -1
  90. package/src/components/LineChart/index.tsx +36 -13
  91. package/src/components/LinearChart.tsx +559 -499
  92. package/src/components/PairedBarChart.jsx +20 -3
  93. package/src/components/Regions/components/Regions.tsx +366 -144
  94. package/src/components/Sankey/types/index.ts +1 -1
  95. package/src/components/ScatterPlot/ScatterPlot.jsx +2 -2
  96. package/src/components/SmallMultiples/SmallMultipleTile.tsx +202 -0
  97. package/src/components/SmallMultiples/SmallMultiples.css +32 -0
  98. package/src/components/SmallMultiples/SmallMultiples.tsx +271 -0
  99. package/src/components/SmallMultiples/index.ts +2 -0
  100. package/src/components/WarmingStripes/WarmingStripes.tsx +160 -0
  101. package/src/components/WarmingStripes/WarmingStripesGradientLegend.css +35 -0
  102. package/src/components/WarmingStripes/WarmingStripesGradientLegend.tsx +104 -0
  103. package/src/components/WarmingStripes/index.tsx +3 -0
  104. package/src/data/initial-state.js +16 -2
  105. package/src/helpers/buildForecastPaletteOptions.ts +0 -38
  106. package/src/helpers/calculateHorizontalBarCategoryLabelWidth.ts +57 -0
  107. package/src/helpers/getColorScale.ts +10 -0
  108. package/src/{hooks/useMinMax.ts → helpers/getMinMax.ts} +26 -14
  109. package/src/helpers/getYAxisAutoPadding.ts +53 -0
  110. package/src/helpers/sizeHelpers.ts +0 -20
  111. package/src/helpers/smallMultiplesHelpers.ts +529 -0
  112. package/src/hooks/useChartHoverAnalytics.tsx +10 -9
  113. package/src/hooks/useProgrammaticTooltip.ts +96 -0
  114. package/src/hooks/useScales.ts +98 -34
  115. package/src/hooks/useSmallMultipleSynchronization.ts +59 -0
  116. package/src/hooks/useTooltip.tsx +91 -25
  117. package/src/scss/DataTable.scss +0 -4
  118. package/src/scss/main.scss +18 -83
  119. package/src/store/chart.actions.ts +2 -0
  120. package/src/store/chart.reducer.ts +4 -0
  121. package/src/test/CdcChart.test.jsx +1 -1
  122. package/src/types/ChartConfig.ts +27 -6
  123. package/src/types/ChartContext.ts +3 -0
  124. package/src/types/Label.ts +1 -0
  125. package/src/utils/analyticsTracking.ts +19 -0
  126. package/LICENSE +0 -201
  127. package/src/_stories/_mock/pie_data.json +0 -218
  128. package/src/components/AreaChart/components/AreaChart.jsx +0 -109
  129. package/src/components/Brush/BrushChart.tsx +0 -128
  130. package/src/components/Brush/BrushController.tsx +0 -71
  131. package/src/components/Brush/types.tsx +0 -8
  132. package/src/components/BrushChart.tsx +0 -223
  133. package/src/helpers/sort.ts +0 -7
  134. package/src/hooks/useActiveElement.js +0 -19
  135. package/src/hooks/useChartClasses.js +0 -41
@@ -0,0 +1,569 @@
1
+ {
2
+ "annotations": [],
3
+ "type": "chart",
4
+ "debugSvg": false,
5
+ "chartMessage": {
6
+ "noData": "No Data Available"
7
+ },
8
+ "title": "Technology Adoption Statistics",
9
+ "showTitle": true,
10
+ "showDownloadMediaButton": false,
11
+ "theme": "theme-blue",
12
+ "animate": true,
13
+ "lineDatapointStyle": "hover",
14
+ "lineDatapointColor": "Same as Line",
15
+ "barHasBorder": "true",
16
+ "isLollipopChart": false,
17
+ "lollipopShape": "circle",
18
+ "lollipopColorStyle": "two-tone",
19
+ "visualizationSubType": "regular",
20
+ "barStyle": "rounded",
21
+ "roundingStyle": "standard",
22
+ "tipRounding": "top",
23
+ "isResponsiveTicks": false,
24
+ "general": {
25
+ "annotationDropdownText": "Annotations",
26
+ "showMissingDataLabel": false,
27
+ "showSuppressedSymbol": true,
28
+ "showZeroValueData": true,
29
+ "hideNullValue": true,
30
+ "palette": {
31
+ "isReversed": false,
32
+ "version": "2.0",
33
+ "name": "divergent_green_orange"
34
+ }
35
+ },
36
+ "padding": {
37
+ "left": 5,
38
+ "right": 5
39
+ },
40
+ "preliminaryData": [],
41
+ "yAxis": {
42
+ "hideAxis": false,
43
+ "displayNumbersOnBar": true,
44
+ "hideLabel": false,
45
+ "hideTicks": false,
46
+ "size": "75",
47
+ "gridLines": false,
48
+ "enablePadding": false,
49
+ "min": "",
50
+ "max": "",
51
+ "labelColor": "#1c1d1f",
52
+ "tickLabelColor": "#1c1d1f",
53
+ "tickColor": "#1c1d1f",
54
+ "rightHideAxis": false,
55
+ "rightAxisSize": 0,
56
+ "rightLabel": "",
57
+ "rightLabelOffsetSize": 0,
58
+ "rightAxisLabelColor": "#1c1d1f",
59
+ "rightAxisTickLabelColor": "#1c1d1f",
60
+ "rightAxisTickColor": "#1c1d1f",
61
+ "numTicks": "6",
62
+ "axisPadding": 0,
63
+ "scalePadding": 10,
64
+ "tickRotation": 0,
65
+ "anchors": [],
66
+ "shoMissingDataLabel": true,
67
+ "showMissingDataLine": true,
68
+ "categories": [],
69
+ "label": "Adoption Rate (%)",
70
+ "labelPlacement": "Below Bar"
71
+ },
72
+ "boxplot": {
73
+ "plots": [],
74
+ "borders": "true",
75
+ "plotOutlierValues": false,
76
+ "plotNonOutlierValues": true,
77
+ "labels": {
78
+ "q1": "Lower Quartile",
79
+ "q2": "q2",
80
+ "q3": "Upper Quartile",
81
+ "q4": "q4",
82
+ "minimum": "Minimum",
83
+ "maximum": "Maximum",
84
+ "mean": "Mean",
85
+ "median": "Median",
86
+ "sd": "Standard Deviation",
87
+ "iqr": "Interquartile Range",
88
+ "count": "Count",
89
+ "outliers": "Outliers",
90
+ "values": "Values",
91
+ "lowerBounds": "Lower Bounds",
92
+ "upperBounds": "Upper Bounds"
93
+ }
94
+ },
95
+ "topAxis": {
96
+ "hasLine": false
97
+ },
98
+ "isLegendValue": false,
99
+ "barThickness": "0.37",
100
+ "barHeight": 25,
101
+ "barSpace": 15,
102
+ "heights": {
103
+ "vertical": 300,
104
+ "horizontal": 250
105
+ },
106
+ "xAxis": {
107
+ "sortDates": false,
108
+ "anchors": [],
109
+ "type": "categorical",
110
+ "showTargetLabel": true,
111
+ "targetLabel": "Target",
112
+ "hideAxis": false,
113
+ "hideLabel": false,
114
+ "hideTicks": false,
115
+ "size": "50",
116
+ "tickRotation": 0,
117
+ "min": "",
118
+ "max": "100",
119
+ "labelColor": "#1c1d1f",
120
+ "tickLabelColor": "#1c1d1f",
121
+ "tickColor": "#1c1d1f",
122
+ "numTicks": "",
123
+ "labelOffset": 0,
124
+ "axisPadding": 200,
125
+ "target": 0,
126
+ "maxTickRotation": "90",
127
+ "padding": 5,
128
+ "showYearsOnce": false,
129
+ "sortByRecentDate": false,
130
+ "brushActive": false,
131
+ "dataKey": "Technology",
132
+ "tickWidthMax": 43,
133
+ "label": "Technology"
134
+ },
135
+ "table": {
136
+ "label": "Data Table",
137
+ "expanded": true,
138
+ "limitHeight": false,
139
+ "height": "500",
140
+ "caption": "",
141
+ "showDownloadUrl": false,
142
+ "showDataTableLink": true,
143
+ "showDownloadLinkBelow": false,
144
+ "indexLabel": "",
145
+ "download": true,
146
+ "showVertical": true,
147
+ "dateDisplayFormat": "",
148
+ "showMissingDataLabel": true,
149
+ "showSuppressedSymbol": true,
150
+ "collapsible": true,
151
+ "show": true,
152
+ "showDownloadImgButton": false,
153
+ "groupBy": "",
154
+ "cellMinWidth": "150"
155
+ },
156
+ "orientation": "horizontal",
157
+ "columns": {
158
+ "Users (millions)": {
159
+ "label": "Users (millions)",
160
+ "dataTable": true,
161
+ "tooltips": true,
162
+ "prefix": "",
163
+ "suffix": "M",
164
+ "forestPlot": false,
165
+ "startingPoint": "0",
166
+ "forestPlotAlignRight": false,
167
+ "roundToPlace": 1,
168
+ "commas": true,
169
+ "showInViz": false,
170
+ "forestPlotStartingPoint": 0,
171
+ "name": "Users (millions)"
172
+ },
173
+ "Growth Rate": {
174
+ "label": "Growth Rate",
175
+ "dataTable": true,
176
+ "tooltips": true,
177
+ "prefix": "",
178
+ "suffix": "%",
179
+ "forestPlot": false,
180
+ "startingPoint": "0",
181
+ "forestPlotAlignRight": false,
182
+ "roundToPlace": 1,
183
+ "commas": false,
184
+ "showInViz": false,
185
+ "forestPlotStartingPoint": 0,
186
+ "name": "Growth Rate"
187
+ },
188
+ "Learn More": {
189
+ "label": "Learn More",
190
+ "dataTable": true,
191
+ "tooltips": false,
192
+ "prefix": "",
193
+ "suffix": "",
194
+ "forestPlot": false,
195
+ "startingPoint": "0",
196
+ "forestPlotAlignRight": false,
197
+ "roundToPlace": 0,
198
+ "commas": false,
199
+ "showInViz": false,
200
+ "forestPlotStartingPoint": 0,
201
+ "name": "Learn More"
202
+ }
203
+ },
204
+ "legend": {
205
+ "hide": true,
206
+ "behavior": "isolate",
207
+ "axisAlign": true,
208
+ "singleRow": true,
209
+ "colorCode": "",
210
+ "reverseLabelOrder": false,
211
+ "description": "",
212
+ "dynamicLegend": false,
213
+ "dynamicLegendDefaultText": "Show All",
214
+ "dynamicLegendItemLimit": 5,
215
+ "dynamicLegendItemLimitMessage": "Dynamic Legend Item Limit Hit.",
216
+ "dynamicLegendChartMessage": "Select Options from the Legend",
217
+ "label": "",
218
+ "lineMode": false,
219
+ "verticalSorted": false,
220
+ "highlightOnHover": false,
221
+ "hideSuppressedLabels": false,
222
+ "hideSuppressionLink": false,
223
+ "seriesHighlight": [],
224
+ "style": "circles",
225
+ "subStyle": "linear blocks",
226
+ "groupBy": "",
227
+ "shape": "circle",
228
+ "tickRotation": "",
229
+ "order": "dataColumn",
230
+ "hideBorder": {
231
+ "side": false,
232
+ "topBottom": true
233
+ },
234
+ "position": "right",
235
+ "orderedValues": [],
236
+ "patterns": {},
237
+ "patternField": "",
238
+ "unified": true
239
+ },
240
+ "smallMultiples": {
241
+ "mode": "",
242
+ "tileColumn": "",
243
+ "tilesPerRowDesktop": 3,
244
+ "tilesPerRowMobile": 1,
245
+ "tileOrder": [],
246
+ "tileOrderType": "asc",
247
+ "tileTitles": {},
248
+ "independentYAxis": false,
249
+ "colorMode": "same",
250
+ "synchronizedTooltips": true,
251
+ "showAreaUnderLine": true
252
+ },
253
+ "exclusions": {
254
+ "active": false,
255
+ "keys": []
256
+ },
257
+ "twoColor": {
258
+ "palette": "monochrome-1",
259
+ "isPaletteReversed": false
260
+ },
261
+ "labels": false,
262
+ "dataFormat": {
263
+ "commas": true,
264
+ "prefix": "",
265
+ "suffix": "%",
266
+ "abbreviated": false,
267
+ "bottomSuffix": "",
268
+ "bottomPrefix": "",
269
+ "bottomAbbreviated": false
270
+ },
271
+ "filters": [
272
+ {
273
+ "values": [
274
+ "Social Media",
275
+ "Cloud Services",
276
+ "Development Tools",
277
+ "Communication"
278
+ ],
279
+ "filterStyle": "dropdown",
280
+ "id": 1765208699247,
281
+ "showDropdown": true,
282
+ "active": "Social Media",
283
+ "columnName": "Category",
284
+ "orderedValues": [
285
+ "Social Media",
286
+ "Cloud Services",
287
+ "Development Tools",
288
+ "Communication"
289
+ ],
290
+ "label": "Select technology category",
291
+ "order": "cust"
292
+ }
293
+ ],
294
+ "confidenceKeys": {},
295
+ "visual": {
296
+ "border": true,
297
+ "accent": true,
298
+ "background": true,
299
+ "verticalHoverLine": false,
300
+ "horizontalHoverLine": false,
301
+ "lineDatapointSymbol": "none",
302
+ "maximumShapeAmount": 7
303
+ },
304
+ "useLogScale": false,
305
+ "filterBehavior": "Filter Change",
306
+ "highlightedBarValues": [],
307
+ "series": [
308
+ {
309
+ "dataKey": "Adoption Rate",
310
+ "type": "Bar",
311
+ "axis": "Left",
312
+ "tooltip": true,
313
+ "dynamicCategory": ""
314
+ }
315
+ ],
316
+ "tooltips": {
317
+ "opacity": 90,
318
+ "singleSeries": true,
319
+ "dateDisplayFormat": ""
320
+ },
321
+ "forestPlot": {
322
+ "startAt": 0,
323
+ "colors": {
324
+ "line": "",
325
+ "shape": ""
326
+ },
327
+ "lineOfNoEffect": {
328
+ "show": true
329
+ },
330
+ "type": "",
331
+ "pooledResult": {
332
+ "diamondHeight": 5,
333
+ "column": ""
334
+ },
335
+ "estimateField": "",
336
+ "estimateRadius": "",
337
+ "shape": "square",
338
+ "rowHeight": 20,
339
+ "description": {
340
+ "show": true,
341
+ "text": "description",
342
+ "location": 0
343
+ },
344
+ "result": {
345
+ "show": true,
346
+ "text": "result",
347
+ "location": 100
348
+ },
349
+ "radius": {
350
+ "min": 2,
351
+ "max": 10,
352
+ "scalingColumn": ""
353
+ },
354
+ "regression": {
355
+ "lower": 0,
356
+ "upper": 0,
357
+ "estimateField": 0
358
+ },
359
+ "leftWidthOffset": 0,
360
+ "rightWidthOffset": 0,
361
+ "showZeroLine": false,
362
+ "leftLabel": "",
363
+ "rightLabel": ""
364
+ },
365
+ "area": {
366
+ "isStacked": false
367
+ },
368
+ "sankey": {
369
+ "title": {
370
+ "defaultColor": "black"
371
+ },
372
+ "iterations": 1,
373
+ "rxValue": 0.9,
374
+ "overallSize": {
375
+ "width": 900,
376
+ "height": 700
377
+ },
378
+ "margin": {
379
+ "margin_y": 25,
380
+ "margin_x": 0
381
+ },
382
+ "nodeSize": {
383
+ "nodeWidth": 26,
384
+ "nodeHeight": 40
385
+ },
386
+ "nodePadding": 55,
387
+ "nodeFontColor": "black",
388
+ "nodeColor": {
389
+ "default": "#ff8500",
390
+ "inactive": "#808080"
391
+ },
392
+ "linkColor": {
393
+ "default": "#ffc900",
394
+ "inactive": "#D3D3D3"
395
+ },
396
+ "opacity": {
397
+ "nodeOpacityDefault": 1,
398
+ "nodeOpacityInactive": 0.1,
399
+ "LinkOpacityDefault": 1,
400
+ "LinkOpacityInactive": 0.1
401
+ },
402
+ "storyNodeFontColor": "#006778",
403
+ "storyNodeText": [],
404
+ "nodeValueStyle": {
405
+ "textBefore": "(",
406
+ "textAfter": ")"
407
+ },
408
+ "data": []
409
+ },
410
+ "markupVariables": [],
411
+ "enableMarkupVariables": false,
412
+ "errors": [],
413
+ "currentViewport": "lg",
414
+ "id": 1,
415
+ "category": "Charts",
416
+ "label": "Bar",
417
+ "subType": "Bar",
418
+ "icon": {
419
+ "key": null,
420
+ "ref": null,
421
+ "props": {},
422
+ "_owner": null
423
+ },
424
+ "content": "Use bars to show comparisons between data categories.",
425
+ "visualizationType": "Bar",
426
+ "activeVizButtonID": 1,
427
+ "dataFileName": "",
428
+ "dataFileSourceType": "data",
429
+ "dataDescription": {
430
+ "horizontal": false,
431
+ "series": false
432
+ },
433
+ "version": "4.25.11",
434
+ "migrations": {
435
+ "addColorMigration": true
436
+ },
437
+ "dynamicMarginTop": 0,
438
+ "data": [
439
+ {
440
+ "Category": "Social Media",
441
+ "Technology": "<a href=\"https://developer.twitter.com/en/docs\">Twitter/X</a>",
442
+ "Adoption Rate": "68.2",
443
+ "Users (millions)": "528.3",
444
+ "Growth Rate": "2.1",
445
+ "Learn More": "<a href=\"https://developer.twitter.com/en/docs\">View API Documentation &raquo;</a>"
446
+ },
447
+ {
448
+ "Category": "Social Media",
449
+ "Technology": "<a href=\"https://developers.facebook.com/docs/instagram\">Instagram</a>",
450
+ "Adoption Rate": "82.5",
451
+ "Users (millions)": "1478.0",
452
+ "Growth Rate": "8.7",
453
+ "Learn More": "<a href=\"https://developers.facebook.com/docs/instagram\">Learn more about Instagram API &raquo;</a>"
454
+ },
455
+ {
456
+ "Category": "Social Media",
457
+ "Technology": "<a href=\"https://developers.tiktok.com/\">TikTok</a>",
458
+ "Adoption Rate": "73.1",
459
+ "Users (millions)": "1051.0",
460
+ "Growth Rate": "15.2",
461
+ "Learn More": "<a href=\"https://developers.tiktok.com/\">Explore TikTok Developer Platform &raquo;</a>"
462
+ },
463
+ {
464
+ "Category": "Social Media",
465
+ "Technology": "<a href=\"https://developer.linkedin.com/\">LinkedIn</a>",
466
+ "Adoption Rate": "45.8",
467
+ "Users (millions)": "875.0",
468
+ "Growth Rate": "5.3",
469
+ "Learn More": "<a href=\"https://developer.linkedin.com/\">LinkedIn Developer Resources &raquo;</a>"
470
+ },
471
+ {
472
+ "Category": "Cloud Services",
473
+ "Technology": "<a href=\"https://aws.amazon.com/documentation/\">AWS</a>",
474
+ "Adoption Rate": "91.3",
475
+ "Users (millions)": "2500.0",
476
+ "Growth Rate": "12.5",
477
+ "Learn More": "<a href=\"https://aws.amazon.com/documentation/\">AWS Documentation &raquo;</a>"
478
+ },
479
+ {
480
+ "Category": "Cloud Services",
481
+ "Technology": "<a href=\"https://docs.microsoft.com/azure/\">Azure</a>",
482
+ "Adoption Rate": "78.9",
483
+ "Users (millions)": "1800.0",
484
+ "Growth Rate": "18.3",
485
+ "Learn More": "<a href=\"https://docs.microsoft.com/azure/\">Azure Documentation &raquo;</a>"
486
+ },
487
+ {
488
+ "Category": "Cloud Services",
489
+ "Technology": "<a href=\"https://cloud.google.com/docs\">Google Cloud</a>",
490
+ "Adoption Rate": "62.4",
491
+ "Users (millions)": "1200.0",
492
+ "Growth Rate": "22.1",
493
+ "Learn More": "<a href=\"https://cloud.google.com/docs\">Google Cloud Docs &raquo;</a>"
494
+ },
495
+ {
496
+ "Category": "Cloud Services",
497
+ "Technology": "<a href=\"https://docs.digitalocean.com/\">DigitalOcean</a>",
498
+ "Adoption Rate": "34.2",
499
+ "Users (millions)": "385.0",
500
+ "Growth Rate": "6.8",
501
+ "Learn More": "<a href=\"https://docs.digitalocean.com/\">DigitalOcean Documentation &raquo;</a>"
502
+ },
503
+ {
504
+ "Category": "Development Tools",
505
+ "Technology": "<a href=\"https://docs.github.com/\">GitHub</a>",
506
+ "Adoption Rate": "94.6",
507
+ "Users (millions)": "100.0",
508
+ "Growth Rate": "9.2",
509
+ "Learn More": "<a href=\"https://docs.github.com/\">GitHub Documentation &raquo;</a>"
510
+ },
511
+ {
512
+ "Category": "Development Tools",
513
+ "Technology": "<a href=\"https://code.visualstudio.com/docs\">VS Code</a>",
514
+ "Adoption Rate": "87.3",
515
+ "Users (millions)": "14.0",
516
+ "Growth Rate": "11.5",
517
+ "Learn More": "<a href=\"https://code.visualstudio.com/docs\">VS Code Documentation &raquo;</a>"
518
+ },
519
+ {
520
+ "Category": "Development Tools",
521
+ "Technology": "<a href=\"https://docs.docker.com/\">Docker</a>",
522
+ "Adoption Rate": "79.8",
523
+ "Users (millions)": "13.0",
524
+ "Growth Rate": "14.3",
525
+ "Learn More": "<a href=\"https://docs.docker.com/\">Docker Documentation &raquo;</a>"
526
+ },
527
+ {
528
+ "Category": "Development Tools",
529
+ "Technology": "<a href=\"https://docs.npmjs.com/\">npm</a>",
530
+ "Adoption Rate": "85.2",
531
+ "Users (millions)": "17.0",
532
+ "Growth Rate": "7.9",
533
+ "Learn More": "<a href=\"https://docs.npmjs.com/\">npm Documentation &raquo;</a>"
534
+ },
535
+ {
536
+ "Category": "Communication",
537
+ "Technology": "<a href=\"https://api.slack.com/\">Slack</a>",
538
+ "Adoption Rate": "71.5",
539
+ "Users (millions)": "18.0",
540
+ "Growth Rate": "10.2",
541
+ "Learn More": "<a href=\"https://api.slack.com/\">Slack API Documentation &raquo;</a>"
542
+ },
543
+ {
544
+ "Category": "Communication",
545
+ "Technology": "<a href=\"https://docs.microsoft.com/microsoftteams/\">Microsoft Teams</a>",
546
+ "Adoption Rate": "68.9",
547
+ "Users (millions)": "280.0",
548
+ "Growth Rate": "25.7",
549
+ "Learn More": "<a href=\"https://docs.microsoft.com/microsoftteams/\">Teams Documentation &raquo;</a>"
550
+ },
551
+ {
552
+ "Category": "Communication",
553
+ "Technology": "<a href=\"https://developers.zoom.us/\">Zoom</a>",
554
+ "Adoption Rate": "75.2",
555
+ "Users (millions)": "300.0",
556
+ "Growth Rate": "8.4",
557
+ "Learn More": "<a href=\"https://developers.zoom.us/\">Zoom Developer Platform &raquo;</a>"
558
+ },
559
+ {
560
+ "Category": "Communication",
561
+ "Technology": "<a href=\"https://discord.com/developers/docs/\">Discord</a>",
562
+ "Adoption Rate": "56.3",
563
+ "Users (millions)": "150.0",
564
+ "Growth Rate": "19.6",
565
+ "Learn More": "<a href=\"https://discord.com/developers/docs/\">Discord Developer Portal &raquo;</a>"
566
+ }
567
+ ],
568
+ "datasets": {}
569
+ }