@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,51 @@
1
+ import remarkGfm from "remark-gfm";
2
+ import path from "node:path";
3
+
4
+ // monorepo fix
5
+ // https://storybook.js.org/docs/faq#how-do-i-fix-module-resolution-in-special-environments
6
+ const getAbsolutePath = packageName =>
7
+ path.dirname(require.resolve(path.join(packageName, 'package.json')));
8
+
9
+ module.exports = {
10
+ stories: [
11
+ "../docs/**/*.mdx",
12
+ "../packages/**/*.stories.@(mdx|js|jsx|ts|tsx)"
13
+ ],
14
+
15
+ addons: [
16
+ getAbsolutePath("@storybook/addon-controls"),
17
+ {
18
+ name: getAbsolutePath("@storybook/addon-docs"),
19
+ options: {
20
+ mdxPluginOptions: {
21
+ mdxCompileOptions: {
22
+ remarkPlugins: [remarkGfm],
23
+ },
24
+ },
25
+ },
26
+ }
27
+ ],
28
+
29
+ framework: {
30
+ name: getAbsolutePath("@storybook/nextjs"),
31
+ options: {
32
+ builder: {useSWC: true}
33
+ }
34
+ },
35
+
36
+ docs: {
37
+ defaultName: "D3plus"
38
+ },
39
+
40
+ staticDirs: ["../static"],
41
+
42
+ typescript: {
43
+ reactDocgen: "react-docgen-typescript"
44
+ },
45
+
46
+ core: {
47
+ disableTelemetry: true, // 👈 Disables telemetry
48
+ disableWhatsNewNotifications: true,
49
+ }
50
+
51
+ };
@@ -0,0 +1,46 @@
1
+ <title>D3plus Documentation</title>
2
+ <meta name="description" content="Data visualization made easy. A javascript library that extends the popular D3.js to enable fast and beautiful visualizations."/>
3
+
4
+ <link rel="shortcut icon" type="image/png" href="/images/favicon.ico?v=3">
5
+ <link rel="apple-touch-icon" sizes="256x256" href="/images/touchicon.png?v=3">
6
+
7
+ <!-- Inter -->
8
+ <link rel="preconnect" href="https://fonts.googleapis.com">
9
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
10
+ <link href="https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap" rel="stylesheet">
11
+
12
+ <style>
13
+
14
+ /* styles logo text */
15
+ .sidebar-header a {
16
+ font-size: 24px;
17
+ font-weight: 400;
18
+ letter-spacing: 0;
19
+ }
20
+
21
+ .sb-bar {
22
+ display: none;
23
+ }
24
+
25
+ </style>
26
+
27
+ <script id="storybook-mod-expand-all-folders" type="text/javascript">
28
+ var clickCollapsedItemsUntilNoneLeft = () => {
29
+ setTimeout(() => {
30
+ try {
31
+ var itemsLeftToClick = Array.from(
32
+ document.querySelectorAll('#storybook-explorer-tree button#core-charts[aria-expanded="false"]')
33
+ );
34
+ if (itemsLeftToClick.length > 0) {
35
+ itemsLeftToClick.forEach(item => item.click());
36
+ clickCollapsedItemsUntilNoneLeft();
37
+ }
38
+ } catch (e) {
39
+ console.error(e);
40
+ }
41
+ }, 200);
42
+ };
43
+
44
+ window.removeEventListener('load', clickCollapsedItemsUntilNoneLeft);
45
+ window.addEventListener('load', clickCollapsedItemsUntilNoneLeft);
46
+ </script>
@@ -0,0 +1,10 @@
1
+ import {addons} from "@storybook/manager-api";
2
+ import theme from "./theme.js";
3
+
4
+ addons.setConfig({
5
+ navSize: 250,
6
+ sidebar: {
7
+ collapsedRoots: ["color"],
8
+ },
9
+ theme
10
+ });
@@ -0,0 +1,69 @@
1
+ <title>D3plus</title>
2
+
3
+ <!-- Inter -->
4
+ <link rel="preconnect" href="https://fonts.googleapis.com">
5
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
6
+ <link href="https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap" rel="stylesheet">
7
+
8
+ <style>
9
+
10
+ pre {
11
+ font-family: ui-monospace, monospace !important;
12
+ }
13
+
14
+ .sbdocs-wrapper {
15
+ padding: 2rem !important;
16
+ }
17
+
18
+ .sbdocs-content {
19
+ max-width: calc(100% - 15rem) !important;
20
+ }
21
+
22
+ /* kill margins */
23
+ .docblock-argstable, /* control block */
24
+ .sbdocs-preview { /* chart/code block */
25
+ margin: 0 !important;
26
+ }
27
+
28
+ /* kill paddings */
29
+ .docs-story > div:first-child { /* viz container */
30
+ padding: 10px !important;
31
+ }
32
+
33
+ /* move hide/show code button */
34
+ .docs-story > div:last-child {
35
+ background: none !important;
36
+ left: 0px !important;
37
+ right: auto !important;
38
+ }
39
+ .docblock-code-toggle {
40
+ border-left-color: initial !important;
41
+ border-right-color: rgba(38, 85, 115, 0.15) !important;
42
+ border-radius: 0px 4px 0px !important;
43
+ border-style: solid solid none none !important;
44
+ border-width: 1px 1px 0px 0px !important;
45
+ }
46
+
47
+ /* removes inner viz padding */
48
+ .innerZoomElementWrapper > div:first-child {
49
+ border: none !important;
50
+ }
51
+ .viz > svg {
52
+ display: block;
53
+ }
54
+
55
+ .d3plus-logo .d3plus-plot-x-axis .bar,
56
+ .d3plus-logo .d3plus-plot-y-axis .bar {
57
+ transition: opacity 0.2s;
58
+ }
59
+
60
+ </style>
61
+ <!-- Google tag (gtag.js) -->
62
+ <script async src="https://www.googletagmanager.com/gtag/js?id=UA-46067436-1"></script>
63
+ <script>
64
+ window.dataLayer = window.dataLayer || [];
65
+ function gtag(){dataLayer.push(arguments);}
66
+ gtag('js', new Date());
67
+
68
+ gtag('config', 'UA-46067436-1');
69
+ </script>
@@ -0,0 +1,134 @@
1
+ import React, {useContext, useMemo} from "react";
2
+ import { Anchor, Canvas, Controls, Description, DocsContext, Subheading, Subtitle, Title } from '@storybook/blocks';
3
+ import theme from "./theme.js";
4
+ import stringify from "../helpers/stringify.js";
5
+ import {D3plusContext} from "@d3plus/react";
6
+ const darkMode = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches;
7
+ const tickColor = darkMode ? "#dee2e6" : "#495057";
8
+ const gridColor = darkMode ? "#495057" : "#dee2e6";
9
+
10
+ const axisConfig = {
11
+ barConfig: {
12
+ stroke: tickColor
13
+ },
14
+ gridConfig: {
15
+ stroke: gridColor
16
+ },
17
+ shapeConfig: {
18
+ fill: tickColor,
19
+ labelConfig: {
20
+ fontColor: tickColor
21
+ },
22
+ stroke: tickColor
23
+ },
24
+ titleConfig: {
25
+ fontColor: tickColor
26
+ }
27
+ };
28
+ const globalConfig = {
29
+ axisConfig,
30
+ colorScaleConfig: {
31
+ axisConfig: {
32
+ barConfig: {
33
+ stroke: tickColor
34
+ },
35
+ gridConfig: {
36
+ stroke: gridColor
37
+ },
38
+ shapeConfig: {
39
+ labelConfig: {
40
+ fontColor: tickColor
41
+ },
42
+ stroke: tickColor
43
+ },
44
+ titleConfig: {
45
+ fontColor: tickColor
46
+ }
47
+ }
48
+ },
49
+ columnConfig: axisConfig,
50
+ fontColor: tickColor,
51
+ legendConfig: {
52
+ shapeConfig: {
53
+ labelConfig: {
54
+ fontColor: tickColor
55
+ }
56
+ }
57
+ },
58
+ rowConfig: axisConfig,
59
+ xConfig: axisConfig,
60
+ x2Config: axisConfig,
61
+ yConfig: axisConfig,
62
+ y2Config: axisConfig
63
+ };
64
+
65
+ const preview = {
66
+ decorators: [
67
+ (Story) => (
68
+ <D3plusContext.Provider value={globalConfig}>
69
+ <Story />
70
+ </D3plusContext.Provider>
71
+ )
72
+ ],
73
+ parameters: {
74
+ docs: {
75
+ page: () => {
76
+ const {componentStories} = useContext(DocsContext);
77
+ const stories = componentStories();
78
+ return (
79
+ <>
80
+ <Title />
81
+ <Subtitle />
82
+ <Description />
83
+ {stories.map(story => {
84
+ const {component, moduleExport} = story;
85
+ const stringifiedArgs = stringify(moduleExport.args);
86
+ const compName = component.__docgenInfo.displayName.replace(/_args_[A-z]+/g, "");
87
+ const code = useMemo(() => {
88
+ return `import {${compName}} from "@d3plus/react";
89
+ ${stringifiedArgs.includes("formatAbbreviate") ? `import {formatAbbreviate} from "@d3plus/format";\n` : ""}
90
+ <${component.name} config={${stringifiedArgs}} />`;
91
+ }, [stringifiedArgs]);
92
+ return (
93
+ <Anchor storyId={story.id}>
94
+ <Subheading>{story.name}</Subheading>
95
+ <Canvas
96
+ of={moduleExport}
97
+ withToolbar={false}
98
+ story={{height: `${moduleExport.args.height || 350}px`}}
99
+ source={{
100
+ code,
101
+ language: "jsx"
102
+ }}
103
+ sourceState="shown"
104
+ />
105
+ {story.parameters.controls ? <Controls of={moduleExport} /> : null}
106
+ <p>Full documentation for all available <strong>{compName}</strong> methods can be found <a href={`https://github.com/d3plus/d3plus/tree/main/packages/core#${compName}`} target="_blank">here</a>.</p>
107
+ <br />
108
+ <br />
109
+ </Anchor>
110
+ );
111
+ })}
112
+ </>
113
+ );
114
+ },
115
+ theme: theme,
116
+ toc: true
117
+ },
118
+ options: {
119
+ storySort: {
120
+ method: "alphabetical",
121
+ order: [
122
+ "Introduction",
123
+ "Installation",
124
+ "*",
125
+ "Core",
126
+ "Advanced"
127
+ ]
128
+ }
129
+ }
130
+ },
131
+ tags: ["autodocs"]
132
+ }
133
+
134
+ export default preview;
@@ -0,0 +1,16 @@
1
+ import {create} from "@storybook/theming";
2
+
3
+ export default create({
4
+
5
+ colorPrimary: "rgb(36, 114, 200)",
6
+ colorSecondary: "rgb(36, 114, 200)",
7
+
8
+ // Typography
9
+ fontBase: "'Inter', 'Helvetica Neue', 'HelveticaNeue', 'Helvetica', 'Arial', sans-serif",
10
+ fontCode: "ui-monospace, monospace",
11
+
12
+ brandTitle: "<span class=\"logo-d3\">D3</span>plus",
13
+ brandUrl: "https://d3plus.org",
14
+ brandTarget: '_self'
15
+
16
+ });
package/README.md ADDED
@@ -0,0 +1 @@
1
+ # d3plus-storybook
@@ -0,0 +1,71 @@
1
+ // WARNING: do not edit this file directly, it is generated dynamically from
2
+ // the source JSDOC comments using the npm run docs script.
3
+
4
+ import React from "react";
5
+
6
+
7
+
8
+ export const argTypes = {
9
+ c1: {
10
+ control: {
11
+ type: "text"
12
+ },
13
+ description: "The first color, a valid CSS color string.",
14
+ table: {
15
+ defaultValue: {
16
+ summary: "undefined"
17
+ }
18
+ },
19
+ type: {
20
+ required: true,
21
+ summary: "string"
22
+ }
23
+ },
24
+ c2: {
25
+ control: {
26
+ type: "text"
27
+ },
28
+ description: "The second color, also a valid CSS color string.",
29
+ table: {
30
+ defaultValue: {
31
+ summary: "undefined"
32
+ }
33
+ },
34
+ type: {
35
+ required: true,
36
+ summary: "string"
37
+ }
38
+ },
39
+ o1: {
40
+ control: {
41
+ type: "text"
42
+ },
43
+ defaultValue: 1,
44
+ description: "Value from 0 to 1 of the first color's opacity.",
45
+ table: {
46
+ defaultValue: {
47
+ summary: 1
48
+ }
49
+ },
50
+ type: {
51
+ required: false,
52
+ summary: "string"
53
+ }
54
+ },
55
+ o2: {
56
+ control: {
57
+ type: "text"
58
+ },
59
+ defaultValue: 1,
60
+ description: "Value from 0 to 1 of the first color's opacity.",
61
+ table: {
62
+ defaultValue: {
63
+ summary: 1
64
+ }
65
+ },
66
+ type: {
67
+ required: false,
68
+ summary: "string"
69
+ }
70
+ }
71
+ };
@@ -0,0 +1,40 @@
1
+ // WARNING: do not edit this file directly, it is generated dynamically from
2
+ // the source JSDOC comments using the npm run docs script.
3
+
4
+ import React from "react";
5
+
6
+
7
+
8
+ export const argTypes = {
9
+ c: {
10
+ control: {
11
+ type: "text"
12
+ },
13
+ description: "A valid CSS color string.",
14
+ table: {
15
+ defaultValue: {
16
+ summary: "undefined"
17
+ }
18
+ },
19
+ type: {
20
+ required: true,
21
+ summary: "string"
22
+ }
23
+ },
24
+ u: {
25
+ control: {
26
+ type: "object"
27
+ },
28
+ defaultValue: "defaults",
29
+ description: "An object containing overrides of the default colors.",
30
+ table: {
31
+ defaultValue: {
32
+ summary: "defaults"
33
+ }
34
+ },
35
+ type: {
36
+ required: false,
37
+ summary: "object"
38
+ }
39
+ }
40
+ };
@@ -0,0 +1,40 @@
1
+ // WARNING: do not edit this file directly, it is generated dynamically from
2
+ // the source JSDOC comments using the npm run docs script.
3
+
4
+ import React from "react";
5
+
6
+
7
+
8
+ export const argTypes = {
9
+ c: {
10
+ control: {
11
+ type: "text"
12
+ },
13
+ description: "A valid CSS color string.",
14
+ table: {
15
+ defaultValue: {
16
+ summary: "undefined"
17
+ }
18
+ },
19
+ type: {
20
+ required: true,
21
+ summary: "string"
22
+ }
23
+ },
24
+ u: {
25
+ control: {
26
+ type: "object"
27
+ },
28
+ defaultValue: "defaults",
29
+ description: "An object containing overrides of the default colors.",
30
+ table: {
31
+ defaultValue: {
32
+ summary: "defaults"
33
+ }
34
+ },
35
+ type: {
36
+ required: false,
37
+ summary: "object"
38
+ }
39
+ }
40
+ };
@@ -0,0 +1,8 @@
1
+ // WARNING: do not edit this file directly, it is generated dynamically from
2
+ // the source JSDOC comments using the npm run docs script.
3
+
4
+ import React from "react";
5
+
6
+
7
+
8
+ export const argTypes = {};
@@ -0,0 +1,24 @@
1
+ // WARNING: do not edit this file directly, it is generated dynamically from
2
+ // the source JSDOC comments using the npm run docs script.
3
+
4
+ import React from "react";
5
+
6
+
7
+
8
+ export const argTypes = {
9
+ c: {
10
+ control: {
11
+ type: "text"
12
+ },
13
+ description: "A valid CSS color string.",
14
+ table: {
15
+ defaultValue: {
16
+ summary: "undefined"
17
+ }
18
+ },
19
+ type: {
20
+ required: true,
21
+ summary: "string"
22
+ }
23
+ }
24
+ };
@@ -0,0 +1,40 @@
1
+ // WARNING: do not edit this file directly, it is generated dynamically from
2
+ // the source JSDOC comments using the npm run docs script.
3
+
4
+ import React from "react";
5
+
6
+
7
+
8
+ export const argTypes = {
9
+ c: {
10
+ control: {
11
+ type: "text"
12
+ },
13
+ description: "A valid CSS color string.",
14
+ table: {
15
+ defaultValue: {
16
+ summary: "undefined"
17
+ }
18
+ },
19
+ type: {
20
+ required: true,
21
+ summary: "string"
22
+ }
23
+ },
24
+ i: {
25
+ control: {
26
+ type: "text"
27
+ },
28
+ defaultValue: 0.5,
29
+ description: "A value from 0 to 1 dictating the strength of the function.",
30
+ table: {
31
+ defaultValue: {
32
+ summary: 0.5
33
+ }
34
+ },
35
+ type: {
36
+ required: false,
37
+ summary: "string"
38
+ }
39
+ }
40
+ };
@@ -0,0 +1,71 @@
1
+ // WARNING: do not edit this file directly, it is generated dynamically from
2
+ // the source JSDOC comments using the npm run docs script.
3
+
4
+ import React from "react";
5
+
6
+
7
+
8
+ export const argTypes = {
9
+ c1: {
10
+ control: {
11
+ type: "text"
12
+ },
13
+ description: "The base color, a valid CSS color string.",
14
+ table: {
15
+ defaultValue: {
16
+ summary: "undefined"
17
+ }
18
+ },
19
+ type: {
20
+ required: true,
21
+ summary: "string"
22
+ }
23
+ },
24
+ c2: {
25
+ control: {
26
+ type: "text"
27
+ },
28
+ description: "The color to remove from the base color, also a valid CSS color string.",
29
+ table: {
30
+ defaultValue: {
31
+ summary: "undefined"
32
+ }
33
+ },
34
+ type: {
35
+ required: true,
36
+ summary: "string"
37
+ }
38
+ },
39
+ o1: {
40
+ control: {
41
+ type: "text"
42
+ },
43
+ defaultValue: 1,
44
+ description: "Value from 0 to 1 of the first color's opacity.",
45
+ table: {
46
+ defaultValue: {
47
+ summary: 1
48
+ }
49
+ },
50
+ type: {
51
+ required: false,
52
+ summary: "string"
53
+ }
54
+ },
55
+ o2: {
56
+ control: {
57
+ type: "text"
58
+ },
59
+ defaultValue: 1,
60
+ description: "Value from 0 to 1 of the first color's opacity.",
61
+ table: {
62
+ defaultValue: {
63
+ summary: 1
64
+ }
65
+ },
66
+ type: {
67
+ required: false,
68
+ summary: "string"
69
+ }
70
+ }
71
+ };
@@ -0,0 +1,72 @@
1
+ // WARNING: do not edit this file directly, it is generated dynamically from
2
+ // the source JSDOC comments using the npm run docs script.
3
+
4
+ import React from "react";
5
+ import {argTypes as plotArgTypes} from "./Plot.args.jsx";
6
+ import {assign} from "@d3plus/dom";
7
+
8
+ import {AreaPlot as D3plusAreaPlot} from "@d3plus/react";
9
+ export const AreaPlot = ({ config }) => <D3plusAreaPlot config={config} />;
10
+
11
+ export const argTypes = assign(
12
+
13
+ /**
14
+ * Filters out unused argTypes from the Plot primitive and
15
+ * overrides any defaults that have been changed in AreaPlot
16
+ */
17
+ Object.keys(plotArgTypes)
18
+ .filter(k => !k.match(/^(shape|zoom.*)$/))
19
+ .reduce((obj, k) => (obj[k] = plotArgTypes[k], obj), {}),
20
+
21
+ /**
22
+ * AreaPlot-specific methods
23
+ */
24
+
25
+ {
26
+ baseline: {
27
+ control: {
28
+ type: "number"
29
+ },
30
+ defaultValue: 0,
31
+ table: {
32
+ defaultValue: {
33
+ summary: 0
34
+ }
35
+ },
36
+ type: {
37
+ required: true,
38
+ summary: "number"
39
+ }
40
+ },
41
+ discrete: {
42
+ control: {
43
+ type: "text"
44
+ },
45
+ defaultValue: "x",
46
+ table: {
47
+ defaultValue: {
48
+ summary: "x"
49
+ }
50
+ },
51
+ type: {
52
+ required: false,
53
+ summary: "string"
54
+ }
55
+ },
56
+ shape: {
57
+ control: {
58
+ type: "text"
59
+ },
60
+ defaultValue: "Area",
61
+ table: {
62
+ defaultValue: {
63
+ summary: "Area"
64
+ }
65
+ },
66
+ type: {
67
+ required: false,
68
+ summary: "function | string"
69
+ }
70
+ }
71
+ }
72
+ );