@d3plus/docs 3.0.0-alpha.3

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 (225) hide show
  1. package/.storybook/main.js +51 -0
  2. package/.storybook/manager-head.html +46 -0
  3. package/.storybook/manager.js +10 -0
  4. package/.storybook/preview-head.html +69 -0
  5. package/.storybook/preview.jsx +134 -0
  6. package/.storybook/theme.js +16 -0
  7. package/README.md +1 -0
  8. package/args/color/colorAdd.args.jsx +71 -0
  9. package/args/color/colorAssign.args.jsx +40 -0
  10. package/args/color/colorContrast.args.jsx +40 -0
  11. package/args/color/colorDefaults.args.jsx +8 -0
  12. package/args/color/colorLegible.args.jsx +24 -0
  13. package/args/color/colorLighter.args.jsx +40 -0
  14. package/args/color/colorSubtract.args.jsx +71 -0
  15. package/args/core/charts/AreaPlot.args.jsx +72 -0
  16. package/args/core/charts/BarChart.args.jsx +88 -0
  17. package/args/core/charts/BoxWhisker.args.jsx +73 -0
  18. package/args/core/charts/BumpChart.args.jsx +133 -0
  19. package/args/core/charts/Donut.args.jsx +58 -0
  20. package/args/core/charts/Geomap.args.jsx +363 -0
  21. package/args/core/charts/LinePlot.args.jsx +57 -0
  22. package/args/core/charts/Matrix.args.jsx +194 -0
  23. package/args/core/charts/Network.args.jsx +310 -0
  24. package/args/core/charts/Pack.args.jsx +171 -0
  25. package/args/core/charts/Pie.args.jsx +148 -0
  26. package/args/core/charts/Plot.args.jsx +685 -0
  27. package/args/core/charts/Priestley.args.jsx +118 -0
  28. package/args/core/charts/Radar.args.jsx +120 -0
  29. package/args/core/charts/RadialMatrix.args.jsx +197 -0
  30. package/args/core/charts/Rings.args.jsx +228 -0
  31. package/args/core/charts/Sankey.args.jsx +248 -0
  32. package/args/core/charts/StackedArea.args.jsx +26 -0
  33. package/args/core/charts/Tree.args.jsx +88 -0
  34. package/args/core/charts/Treemap.args.jsx +181 -0
  35. package/args/core/charts/Viz.args.jsx +1383 -0
  36. package/args/core/components/Axis.args.jsx +600 -0
  37. package/args/core/components/AxisBottom.args.jsx +42 -0
  38. package/args/core/components/AxisLeft.args.jsx +42 -0
  39. package/args/core/components/AxisRight.args.jsx +42 -0
  40. package/args/core/components/AxisTop.args.jsx +42 -0
  41. package/args/core/components/ColorScale.args.jsx +456 -0
  42. package/args/core/components/Legend.args.jsx +289 -0
  43. package/args/core/components/TextBox.args.jsx +554 -0
  44. package/args/core/components/Timeline.args.jsx +401 -0
  45. package/args/core/components/Tooltip.args.jsx +453 -0
  46. package/args/core/shapes/Area.args.jsx +190 -0
  47. package/args/core/shapes/Bar.args.jsx +176 -0
  48. package/args/core/shapes/Box.args.jsx +248 -0
  49. package/args/core/shapes/Circle.args.jsx +84 -0
  50. package/args/core/shapes/Image.args.jsx +177 -0
  51. package/args/core/shapes/Line.args.jsx +127 -0
  52. package/args/core/shapes/Path.args.jsx +84 -0
  53. package/args/core/shapes/Rect.args.jsx +85 -0
  54. package/args/core/shapes/Shape.args.jsx +633 -0
  55. package/args/core/shapes/Whisker.args.jsx +204 -0
  56. package/args/core/utils/BaseClass.args.jsx +65 -0
  57. package/args/core/utils/RESET.args.jsx +8 -0
  58. package/args/core/utils/accessor.args.jsx +39 -0
  59. package/args/core/utils/configPrep.args.jsx +56 -0
  60. package/args/core/utils/constant.args.jsx +24 -0
  61. package/args/core/utils/uuid.args.jsx +8 -0
  62. package/args/data/dataConcat.args.jsx +40 -0
  63. package/args/data/dataFold.args.jsx +56 -0
  64. package/args/data/dataLoad.args.jsx +65 -0
  65. package/args/data/isData.args.jsx +24 -0
  66. package/args/data/merge.args.jsx +39 -0
  67. package/args/data/unique.args.jsx +37 -0
  68. package/args/dom/assign.args.jsx +23 -0
  69. package/args/dom/attrize.args.jsx +39 -0
  70. package/args/dom/date.args.jsx +23 -0
  71. package/args/dom/elem.args.jsx +135 -0
  72. package/args/dom/fontExists.args.jsx +24 -0
  73. package/args/dom/htmlDecode.args.jsx +23 -0
  74. package/args/dom/isObject.args.jsx +23 -0
  75. package/args/dom/parseSides.args.jsx +24 -0
  76. package/args/dom/prefix.args.jsx +8 -0
  77. package/args/dom/rtl.args.jsx +8 -0
  78. package/args/dom/stylize.args.jsx +39 -0
  79. package/args/dom/textWidth.args.jsx +39 -0
  80. package/args/export/saveElement.args.jsx +99 -0
  81. package/args/format/format.args.jsx +24 -0
  82. package/args/format/formatAbbreviate.args.jsx +39 -0
  83. package/args/format/formatDate.args.jsx +53 -0
  84. package/args/format/formatDefaultLocale.args.jsx +24 -0
  85. package/args/locales/dictionaries/formatLocale.args.jsx +8 -0
  86. package/args/math/closest.args.jsx +39 -0
  87. package/args/math/largestRect.args.jsx +56 -0
  88. package/args/math/lineIntersection.args.jsx +69 -0
  89. package/args/math/path2polygon.args.jsx +40 -0
  90. package/args/math/pointDistance.args.jsx +39 -0
  91. package/args/math/pointDistanceSquared.args.jsx +39 -0
  92. package/args/math/pointRotate.args.jsx +55 -0
  93. package/args/math/polygonInside.args.jsx +39 -0
  94. package/args/math/polygonRayCast.args.jsx +55 -0
  95. package/args/math/polygonRotate.args.jsx +55 -0
  96. package/args/math/segmentBoxContains.args.jsx +54 -0
  97. package/args/math/segmentsIntersect.args.jsx +69 -0
  98. package/args/math/shapeEdgePoint.args.jsx +39 -0
  99. package/args/react/D3plusContext.args.jsx +8 -0
  100. package/args/react/Renderer.args.jsx +53 -0
  101. package/args/text/fontFamily.args.jsx +8 -0
  102. package/args/text/fontFamilyStringify.args.jsx +23 -0
  103. package/args/text/stringify.args.jsx +23 -0
  104. package/args/text/strip.args.jsx +38 -0
  105. package/args/text/textSplit.args.jsx +23 -0
  106. package/args/text/textWrap.args.jsx +8 -0
  107. package/args/text/titleCase.args.jsx +24 -0
  108. package/args/text/trim.args.jsx +23 -0
  109. package/args/text/trimLeft.args.jsx +23 -0
  110. package/args/text/trimRight.args.jsx +23 -0
  111. package/docs/Accessibility.mdx +70 -0
  112. package/docs/HomeChart.jsx +38 -0
  113. package/docs/Introduction.mdx +130 -0
  114. package/docs/Logo-Frames.js +352 -0
  115. package/docs/Logo.jsx +30 -0
  116. package/helpers/configify.js +18 -0
  117. package/helpers/funcify.js +14 -0
  118. package/helpers/stringify.js +30 -0
  119. package/package.json +44 -0
  120. package/packages/color/colorAdd.stories.jsx +23 -0
  121. package/packages/color/colorAssign.stories.jsx +23 -0
  122. package/packages/color/colorContrast.stories.jsx +23 -0
  123. package/packages/color/colorDefaults.stories.jsx +23 -0
  124. package/packages/color/colorLegible.stories.jsx +23 -0
  125. package/packages/color/colorLighter.stories.jsx +23 -0
  126. package/packages/color/colorSubtract.stories.jsx +23 -0
  127. package/packages/core/charts/AreaPlot.stories.jsx +74 -0
  128. package/packages/core/charts/BarChart.stories.jsx +307 -0
  129. package/packages/core/charts/BoxWhisker.stories.jsx +204 -0
  130. package/packages/core/charts/BumpChart.stories.jsx +52 -0
  131. package/packages/core/charts/Donut.stories.jsx +41 -0
  132. package/packages/core/charts/Geomap.stories.jsx +186 -0
  133. package/packages/core/charts/LinePlot.stories.jsx +564 -0
  134. package/packages/core/charts/Matrix.stories.jsx +36 -0
  135. package/packages/core/charts/Network.stories.jsx +99 -0
  136. package/packages/core/charts/Pack.stories.jsx +40 -0
  137. package/packages/core/charts/Pie.stories.jsx +40 -0
  138. package/packages/core/charts/Plot.stories.jsx +180 -0
  139. package/packages/core/charts/Priestley.stories.jsx +60 -0
  140. package/packages/core/charts/Radar.stories.jsx +60 -0
  141. package/packages/core/charts/RadialMatrix.stories.jsx +36 -0
  142. package/packages/core/charts/Rings.stories.jsx +41 -0
  143. package/packages/core/charts/Sankey.stories.jsx +41 -0
  144. package/packages/core/charts/StackedArea.stories.jsx +107 -0
  145. package/packages/core/charts/Tree.stories.jsx +27 -0
  146. package/packages/core/charts/Treemap.stories.jsx +81 -0
  147. package/packages/core/charts/Viz.stories.jsx +27 -0
  148. package/packages/core/components/Axis.stories.jsx +27 -0
  149. package/packages/core/components/AxisBottom.stories.jsx +27 -0
  150. package/packages/core/components/AxisLeft.stories.jsx +27 -0
  151. package/packages/core/components/AxisRight.stories.jsx +27 -0
  152. package/packages/core/components/AxisTop.stories.jsx +27 -0
  153. package/packages/core/components/ColorScale.stories.jsx +44 -0
  154. package/packages/core/components/Legend.stories.jsx +49 -0
  155. package/packages/core/components/TextBox.stories.jsx +222 -0
  156. package/packages/core/components/Timeline.stories.jsx +37 -0
  157. package/packages/core/components/Tooltip.stories.jsx +40 -0
  158. package/packages/core/shapes/Area.stories.jsx +27 -0
  159. package/packages/core/shapes/Bar.stories.jsx +27 -0
  160. package/packages/core/shapes/Box.stories.jsx +27 -0
  161. package/packages/core/shapes/Circle.stories.jsx +27 -0
  162. package/packages/core/shapes/Image.stories.jsx +27 -0
  163. package/packages/core/shapes/Line.stories.jsx +27 -0
  164. package/packages/core/shapes/Path.stories.jsx +27 -0
  165. package/packages/core/shapes/Rect.stories.jsx +27 -0
  166. package/packages/core/shapes/Shape.stories.jsx +27 -0
  167. package/packages/core/shapes/Whisker.stories.jsx +27 -0
  168. package/packages/core/utils/BaseClass.stories.jsx +27 -0
  169. package/packages/core/utils/RESET.stories.jsx +23 -0
  170. package/packages/core/utils/accessor.stories.jsx +23 -0
  171. package/packages/core/utils/configPrep.stories.jsx +23 -0
  172. package/packages/core/utils/constant.stories.jsx +23 -0
  173. package/packages/core/utils/uuid.stories.jsx +23 -0
  174. package/packages/data/dataConcat.stories.jsx +23 -0
  175. package/packages/data/dataFold.stories.jsx +23 -0
  176. package/packages/data/dataLoad.stories.jsx +23 -0
  177. package/packages/data/isData.stories.jsx +23 -0
  178. package/packages/data/merge.stories.jsx +23 -0
  179. package/packages/data/unique.stories.jsx +23 -0
  180. package/packages/dom/assign.stories.jsx +23 -0
  181. package/packages/dom/attrize.stories.jsx +23 -0
  182. package/packages/dom/date.stories.jsx +23 -0
  183. package/packages/dom/elem.stories.jsx +23 -0
  184. package/packages/dom/fontExists.stories.jsx +23 -0
  185. package/packages/dom/htmlDecode.stories.jsx +23 -0
  186. package/packages/dom/isObject.stories.jsx +23 -0
  187. package/packages/dom/parseSides.stories.jsx +23 -0
  188. package/packages/dom/prefix.stories.jsx +23 -0
  189. package/packages/dom/rtl.stories.jsx +23 -0
  190. package/packages/dom/stylize.stories.jsx +23 -0
  191. package/packages/dom/textWidth.stories.jsx +23 -0
  192. package/packages/export/saveElement.stories.jsx +23 -0
  193. package/packages/format/format.stories.jsx +23 -0
  194. package/packages/format/formatAbbreviate.stories.jsx +23 -0
  195. package/packages/format/formatDate.stories.jsx +23 -0
  196. package/packages/format/formatDefaultLocale.stories.jsx +23 -0
  197. package/packages/locales/dictionaries/formatLocale.stories.jsx +23 -0
  198. package/packages/math/closest.stories.jsx +23 -0
  199. package/packages/math/largestRect.stories.jsx +23 -0
  200. package/packages/math/lineIntersection.stories.jsx +23 -0
  201. package/packages/math/path2polygon.stories.jsx +23 -0
  202. package/packages/math/pointDistance.stories.jsx +23 -0
  203. package/packages/math/pointDistanceSquared.stories.jsx +23 -0
  204. package/packages/math/pointRotate.stories.jsx +23 -0
  205. package/packages/math/polygonInside.stories.jsx +23 -0
  206. package/packages/math/polygonRayCast.stories.jsx +23 -0
  207. package/packages/math/polygonRotate.stories.jsx +23 -0
  208. package/packages/math/segmentBoxContains.stories.jsx +23 -0
  209. package/packages/math/segmentsIntersect.stories.jsx +23 -0
  210. package/packages/math/shapeEdgePoint.stories.jsx +23 -0
  211. package/packages/react/D3plusContext.stories.jsx +23 -0
  212. package/packages/react/Renderer.stories.jsx +23 -0
  213. package/packages/text/fontFamily.stories.jsx +23 -0
  214. package/packages/text/fontFamilyStringify.stories.jsx +23 -0
  215. package/packages/text/stringify.stories.jsx +23 -0
  216. package/packages/text/strip.stories.jsx +23 -0
  217. package/packages/text/textSplit.stories.jsx +23 -0
  218. package/packages/text/textWrap.stories.jsx +23 -0
  219. package/packages/text/titleCase.stories.jsx +23 -0
  220. package/packages/text/trim.stories.jsx +23 -0
  221. package/packages/text/trimLeft.stories.jsx +23 -0
  222. package/packages/text/trimRight.stories.jsx +23 -0
  223. package/static/data/city_coords.json +224 -0
  224. package/static/images/favicon.ico +0 -0
  225. package/static/images/touchicon.png +0 -0
@@ -0,0 +1,186 @@
1
+ // WARNING: do not edit the top part of this file directly, it is generated
2
+ // from the source code. Scroll down to the next WARNING and places stories below it.
3
+
4
+ import React from "react";
5
+
6
+ import {argTypes, Geomap} from "../../../args/core/charts/Geomap.args";
7
+ import configify from "../../../helpers/configify";
8
+ import funcify from "../../../helpers/funcify";
9
+
10
+ export default {
11
+ title: "Core/Charts/Geomap",
12
+ component: Geomap,
13
+ argTypes,
14
+ parameters: {
15
+ docs: {
16
+ description: {
17
+ component: "Creates a geographical map with zooming, panning, image tiles, and the ability to layer choropleth paths and coordinate points. See [this example](https://d3plus.org/examples/d3plus-geomap/getting-started/) for help getting started.",
18
+ },
19
+ },
20
+ }
21
+ };
22
+
23
+ const Template = (args) => <Geomap config={configify(args, argTypes)} />;
24
+
25
+ // WARNING: do not edit above this line of code directly, it is generated
26
+ // from the source code. Stories below this line can be modified.
27
+
28
+ export const ChoroplethMap = Template.bind({});
29
+ ChoroplethMap.args = {
30
+ data: "https://datausa.io/api/data?measure=Diabetes%20Prevalence&drilldowns=State&Year=2021",
31
+ groupBy: "ID State",
32
+ colorScale: "Diabetes Prevalence",
33
+ colorScaleConfig: {
34
+ axisConfig: {
35
+ tickFormat: funcify(
36
+ d => `${(d * 100).toFixed(1)}%`,
37
+ "d => `${(d * 100).toFixed(1)}%`"
38
+ )
39
+ }
40
+ },
41
+ projection: "geoAlbersUsa",
42
+ topojson: "https://datausa.io/topojson/State.json"
43
+ };
44
+ ChoroplethMap.parameters = {controls: {include: ["colorScale", "colorScaleConfig", "projection", "topojson"]}};
45
+
46
+ export const CoordinatePointMap = Template.bind({});
47
+ CoordinatePointMap.args = {
48
+ data: "/data/city_coords.json",
49
+ groupBy: "slug",
50
+ colorScale: "dma_code",
51
+ label: funcify(
52
+ d => d.city + ", " + d.region,
53
+ `d => d.city + ", " + d.region`
54
+ ),
55
+ point: funcify(
56
+ d => [d.longitude, d.latitude],
57
+ "d => [d.longitude, d.latitude]"
58
+ ),
59
+ pointSize: funcify(
60
+ d => d.dma_code,
61
+ "d => d.dma_code"
62
+ ),
63
+ pointSizeMin: 1,
64
+ pointSizeMax: 10
65
+ };
66
+ CoordinatePointMap.parameters = {controls: {include: ["point", "pointSize", "pointSizeMin", "pointSizeMax"]}};
67
+
68
+ export const ChangingProjection = Template.bind({});
69
+ ChangingProjection.args = {
70
+ data: [],
71
+ projection: "geoMercator",
72
+ topojson: "https://oec.world/topojson/world-50m.json",
73
+ topojsonFilter: funcify(
74
+ d => d.id !== "ata",
75
+ "d => d.id !== 'ata'"
76
+ )
77
+ };
78
+ ChangingProjection.parameters = {controls: {include: ["projection", "topojson", "topojsonFilter"]}};
79
+
80
+ export const ChangingTileset = Template.bind({});
81
+ ChangingTileset.args = {
82
+ tileUrl: "https://tile.opentopomap.org/{z}/{x}/{y}.png"
83
+ }
84
+ ChangingTileset.parameters = {controls: {include: ["tileUrl"]}};
85
+
86
+ export const ChangingNoDataColor = Template.bind({});
87
+ ChangingNoDataColor.args = {
88
+ data: "https://datausa.io/api/data?PUMS%20Industry=481&drilldowns=PUMA&measure=Total%20Population,ygipop%20RCA,Record%20Count&Record%20Count>=5",
89
+ groupBy: "ID PUMA",
90
+ colorScale: "Total Population",
91
+ projection: "geoAlbersUsa",
92
+ topojson: "https://datausa.io/topojson/Puma.json",
93
+ topojsonFill: "#ffcccc"
94
+ }
95
+ ChangingNoDataColor.parameters = {controls: {include: ["topojsonFill"]}};
96
+
97
+ export const CustomColors = Template.bind({});
98
+ CustomColors.args = {
99
+ data: "https://datausa.io/api/data?measure=Diabetes%20Prevalence&drilldowns=State&Year=2021",
100
+ groupBy: "ID State",
101
+ colorScale: "Diabetes Prevalence",
102
+ colorScaleConfig: {
103
+ color: ["red", "orange", "yellow", "green", "blue"]
104
+ },
105
+ projection: "geoAlbersUsa",
106
+ topojson: "https://datausa.io/topojson/State.json"
107
+ };
108
+ CustomColors.parameters = {controls: {include: ["colorScaleConfig"]}};
109
+
110
+ export const CustomZoom = Template.bind({});
111
+ CustomZoom.args = {
112
+ fitObject: {
113
+ "type": "Topology",
114
+ "objects": {
115
+ "custom-bounds": {
116
+ "type": "GeometryCollection",
117
+ "geometries":[
118
+ {
119
+ "type": "MultiPoint",
120
+ "coordinates": [[-160, 70], [170, -55]]
121
+ }
122
+ ]
123
+ }
124
+ }
125
+ }
126
+ };
127
+ CustomZoom.parameters = {controls: {include: ["fitObject"]}};
128
+
129
+ export const DisableZooming = Template.bind({});
130
+ DisableZooming.args = {
131
+ data: "https://datausa.io/api/data?measure=Diabetes%20Prevalence&drilldowns=State&Year=2021",
132
+ groupBy: "ID State",
133
+ colorScale: "Diabetes Prevalence",
134
+ projection: "geoAlbersUsa",
135
+ topojson: "https://datausa.io/topojson/State.json",
136
+ zoom: false
137
+ };
138
+ DisableZooming.parameters = {controls: {include: ["zoom"]}};
139
+
140
+ export const HiddingTheColorScale = Template.bind({});
141
+ HiddingTheColorScale.args = {
142
+ data: "https://datausa.io/api/data?measure=Diabetes%20Prevalence&drilldowns=State&Year=2021",
143
+ groupBy: "ID State",
144
+ colorScale: "Diabetes Prevalence",
145
+ colorScalePosition: false,
146
+ projection: "geoAlbersUsa",
147
+ topojson: "https://datausa.io/topojson/State.json"
148
+ };
149
+ HiddingTheColorScale.parameters = {controls: {include: ["colorScalePosition"]}};
150
+
151
+ export const OverridingColorscaleBehavior = Template.bind({});
152
+ OverridingColorscaleBehavior.args = {
153
+ data: "https://oec.world/olap-proxy/data?cube=trade_i_baci_a_92&Exporter+Country=eudeu&Year=2018,2019&drilldowns=Year,Importer+Country&locale=en&measures=Trade+Value&growth=Year,Trade+Value&parents=true&sparse=false&properties=Importer+Country+ISO+3",
154
+ groupBy: "ISO 3",
155
+ colorScale: "Trade Value Growth Value",
156
+ colorScaleConfig: {
157
+ scale: "linear"
158
+ },
159
+ projection: "geoMiller",
160
+ topojson: "https://oec.world/topojson/world-50m.json",
161
+ topojsonFilter: funcify(
162
+ d => d.id !== "ata",
163
+ "d => d.id !== 'ata'"
164
+ )
165
+ };
166
+ OverridingColorscaleBehavior.parameters = {controls: {include: ["colorScaleConfig"]}};
167
+
168
+ export const RemovingOceanAndTiles = Template.bind({});
169
+ RemovingOceanAndTiles.args = {
170
+ data: "https://datausa.io/api/data?measure=Diabetes%20Prevalence&drilldowns=State&Year=2021",
171
+ groupBy: "ID State",
172
+ colorScale: "Diabetes Prevalence",
173
+ colorScaleConfig: {
174
+ axisConfig: {
175
+ tickFormat: funcify(
176
+ d => `${(d * 100).toFixed(1)}%`,
177
+ "d => `${(d * 100).toFixed(1)}%`"
178
+ )
179
+ }
180
+ },
181
+ ocean: "transparent",
182
+ projection: "geoAlbersUsa",
183
+ tiles: false,
184
+ topojson: "https://datausa.io/topojson/State.json"
185
+ };
186
+ RemovingOceanAndTiles.parameters = {controls: {include: ["ocean", "tiles"]}};