@semcore/d3-chart 2.2.6 → 2.3.0-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 (217) hide show
  1. package/CHANGELOG.md +3 -9
  2. package/lib/cjs/Area.js +16 -9
  3. package/lib/cjs/Area.js.map +1 -1
  4. package/lib/cjs/Axis.js +56 -17
  5. package/lib/cjs/Axis.js.map +1 -1
  6. package/lib/cjs/Bar.js +20 -9
  7. package/lib/cjs/Bar.js.map +1 -1
  8. package/lib/cjs/Bubble.js +20 -11
  9. package/lib/cjs/Bubble.js.map +1 -1
  10. package/lib/cjs/ClipPath.js +1 -0
  11. package/lib/cjs/ClipPath.js.map +1 -1
  12. package/lib/cjs/Donut.js +22 -12
  13. package/lib/cjs/Donut.js.map +1 -1
  14. package/lib/cjs/Dots.js +10 -9
  15. package/lib/cjs/Dots.js.map +1 -1
  16. package/lib/cjs/GroupBar.js +12 -8
  17. package/lib/cjs/GroupBar.js.map +1 -1
  18. package/lib/cjs/HorizontalBar.js +20 -9
  19. package/lib/cjs/HorizontalBar.js.map +1 -1
  20. package/lib/cjs/Hover.js +8 -4
  21. package/lib/cjs/Hover.js.map +1 -1
  22. package/lib/cjs/Line.js +15 -9
  23. package/lib/cjs/Line.js.map +1 -1
  24. package/lib/cjs/Plot.js +46 -8
  25. package/lib/cjs/Plot.js.map +1 -1
  26. package/lib/cjs/RadialTree.js +25 -13
  27. package/lib/cjs/RadialTree.js.map +1 -1
  28. package/lib/cjs/ReferenceLine.js +10 -10
  29. package/lib/cjs/ResponsiveContainer.js +0 -1
  30. package/lib/cjs/ResponsiveContainer.js.map +1 -1
  31. package/lib/cjs/ScatterPlot.js +17 -8
  32. package/lib/cjs/ScatterPlot.js.map +1 -1
  33. package/lib/cjs/StackBar.js +12 -8
  34. package/lib/cjs/StackBar.js.map +1 -1
  35. package/lib/cjs/StackedArea.js +8 -7
  36. package/lib/cjs/StackedArea.js.map +1 -1
  37. package/lib/cjs/Tooltip.js +8 -8
  38. package/lib/cjs/Venn.js +25 -9
  39. package/lib/cjs/Venn.js.map +1 -1
  40. package/lib/cjs/a11y/PlotA11yModule.js +185 -0
  41. package/lib/cjs/a11y/PlotA11yModule.js.map +1 -0
  42. package/lib/cjs/a11y/PlotA11yView.js +285 -0
  43. package/lib/cjs/a11y/PlotA11yView.js.map +1 -0
  44. package/lib/cjs/a11y/bezier.js +44 -0
  45. package/lib/cjs/a11y/bezier.js.map +1 -0
  46. package/lib/cjs/a11y/datasets/charts-a11y.js +591 -0
  47. package/lib/cjs/a11y/datasets/charts-a11y.js.map +1 -0
  48. package/lib/cjs/a11y/datasets/gold.json +7961 -0
  49. package/lib/cjs/a11y/datasets/imdb.json +10002 -0
  50. package/lib/cjs/a11y/datasets/readme.md +5 -0
  51. package/lib/cjs/a11y/datasets/stores.json +6274 -0
  52. package/lib/cjs/a11y/datasets/titanic.json +5436 -0
  53. package/lib/cjs/a11y/focus.js +57 -0
  54. package/lib/cjs/a11y/focus.js.map +1 -0
  55. package/lib/cjs/a11y/hints.js +141 -0
  56. package/lib/cjs/a11y/hints.js.map +1 -0
  57. package/lib/cjs/a11y/insights.js +785 -0
  58. package/lib/cjs/a11y/insights.js.map +1 -0
  59. package/lib/cjs/a11y/intl.js +31 -0
  60. package/lib/cjs/a11y/intl.js.map +1 -0
  61. package/lib/cjs/a11y/locale.js +48 -0
  62. package/lib/cjs/a11y/locale.js.map +1 -0
  63. package/lib/cjs/a11y/serialize.js +439 -0
  64. package/lib/cjs/a11y/serialize.js.map +1 -0
  65. package/lib/cjs/a11y/summarize.js +21 -0
  66. package/lib/cjs/a11y/summarize.js.map +1 -0
  67. package/lib/cjs/a11y/translations/module/de.json +5 -0
  68. package/lib/cjs/a11y/translations/module/en.json +5 -0
  69. package/lib/cjs/a11y/translations/module/es.json +5 -0
  70. package/lib/cjs/a11y/translations/module/fr.json +5 -0
  71. package/lib/cjs/a11y/translations/module/it.json +5 -0
  72. package/lib/cjs/a11y/translations/module/ja.json +5 -0
  73. package/lib/cjs/a11y/translations/module/ko.json +5 -0
  74. package/lib/cjs/a11y/translations/module/pt.json +5 -0
  75. package/lib/cjs/a11y/translations/module/tr.json +5 -0
  76. package/lib/cjs/a11y/translations/module/translations.js +46 -0
  77. package/lib/cjs/a11y/translations/module/translations.js.map +1 -0
  78. package/lib/cjs/a11y/translations/module/vi.json +5 -0
  79. package/lib/cjs/a11y/translations/module/zh.json +5 -0
  80. package/lib/cjs/a11y/translations/view/de.json +42 -0
  81. package/lib/cjs/a11y/translations/view/en.csv +41 -0
  82. package/lib/cjs/a11y/translations/view/en.json +42 -0
  83. package/lib/cjs/a11y/translations/view/es.json +42 -0
  84. package/lib/cjs/a11y/translations/view/fr.json +42 -0
  85. package/lib/cjs/a11y/translations/view/it.json +42 -0
  86. package/lib/cjs/a11y/translations/view/ja.json +42 -0
  87. package/lib/cjs/a11y/translations/view/ko.json +42 -0
  88. package/lib/cjs/a11y/translations/view/pt.json +42 -0
  89. package/lib/cjs/a11y/translations/view/tr.json +42 -0
  90. package/lib/cjs/a11y/translations/view/translations.js +46 -0
  91. package/lib/cjs/a11y/translations/view/translations.js.map +1 -0
  92. package/lib/cjs/a11y/translations/view/vi.json +42 -0
  93. package/lib/cjs/a11y/translations/view/zh.json +42 -0
  94. package/lib/cjs/createElement.js +3 -1
  95. package/lib/cjs/createElement.js.map +1 -1
  96. package/lib/cjs/style/plot.shadow.css +10 -0
  97. package/lib/cjs/style/plotA11yModule.shadow.css +13 -0
  98. package/lib/cjs/style/plotA11yView.shadow.css +39 -0
  99. package/lib/cjs/types/Plot.d.ts +75 -0
  100. package/lib/cjs/utils.js +9 -1
  101. package/lib/cjs/utils.js.map +1 -1
  102. package/lib/es6/Area.js +16 -9
  103. package/lib/es6/Area.js.map +1 -1
  104. package/lib/es6/Axis.js +56 -17
  105. package/lib/es6/Axis.js.map +1 -1
  106. package/lib/es6/Bar.js +20 -9
  107. package/lib/es6/Bar.js.map +1 -1
  108. package/lib/es6/Bubble.js +20 -11
  109. package/lib/es6/Bubble.js.map +1 -1
  110. package/lib/es6/ClipPath.js +1 -0
  111. package/lib/es6/ClipPath.js.map +1 -1
  112. package/lib/es6/Donut.js +22 -12
  113. package/lib/es6/Donut.js.map +1 -1
  114. package/lib/es6/Dots.js +10 -9
  115. package/lib/es6/Dots.js.map +1 -1
  116. package/lib/es6/GroupBar.js +12 -8
  117. package/lib/es6/GroupBar.js.map +1 -1
  118. package/lib/es6/HorizontalBar.js +20 -9
  119. package/lib/es6/HorizontalBar.js.map +1 -1
  120. package/lib/es6/Hover.js +8 -4
  121. package/lib/es6/Hover.js.map +1 -1
  122. package/lib/es6/Line.js +15 -9
  123. package/lib/es6/Line.js.map +1 -1
  124. package/lib/es6/Plot.js +48 -9
  125. package/lib/es6/Plot.js.map +1 -1
  126. package/lib/es6/RadialTree.js +25 -13
  127. package/lib/es6/RadialTree.js.map +1 -1
  128. package/lib/es6/ReferenceLine.js +10 -10
  129. package/lib/es6/ResponsiveContainer.js +0 -1
  130. package/lib/es6/ResponsiveContainer.js.map +1 -1
  131. package/lib/es6/ScatterPlot.js +17 -8
  132. package/lib/es6/ScatterPlot.js.map +1 -1
  133. package/lib/es6/StackBar.js +12 -8
  134. package/lib/es6/StackBar.js.map +1 -1
  135. package/lib/es6/StackedArea.js +8 -7
  136. package/lib/es6/StackedArea.js.map +1 -1
  137. package/lib/es6/Tooltip.js +8 -8
  138. package/lib/es6/Venn.js +25 -9
  139. package/lib/es6/Venn.js.map +1 -1
  140. package/lib/es6/a11y/PlotA11yModule.js +160 -0
  141. package/lib/es6/a11y/PlotA11yModule.js.map +1 -0
  142. package/lib/es6/a11y/PlotA11yView.js +254 -0
  143. package/lib/es6/a11y/PlotA11yView.js.map +1 -0
  144. package/lib/es6/a11y/bezier.js +35 -0
  145. package/lib/es6/a11y/bezier.js.map +1 -0
  146. package/lib/es6/a11y/datasets/charts-a11y.js +590 -0
  147. package/lib/es6/a11y/datasets/charts-a11y.js.map +1 -0
  148. package/lib/es6/a11y/datasets/gold.json +7961 -0
  149. package/lib/es6/a11y/datasets/imdb.json +10002 -0
  150. package/lib/es6/a11y/datasets/readme.md +5 -0
  151. package/lib/es6/a11y/datasets/stores.json +6274 -0
  152. package/lib/es6/a11y/datasets/titanic.json +5436 -0
  153. package/lib/es6/a11y/focus.js +48 -0
  154. package/lib/es6/a11y/focus.js.map +1 -0
  155. package/lib/es6/a11y/hints.js +123 -0
  156. package/lib/es6/a11y/hints.js.map +1 -0
  157. package/lib/es6/a11y/insights.js +779 -0
  158. package/lib/es6/a11y/insights.js.map +1 -0
  159. package/lib/es6/a11y/intl.js +18 -0
  160. package/lib/es6/a11y/intl.js.map +1 -0
  161. package/lib/es6/a11y/locale.js +36 -0
  162. package/lib/es6/a11y/locale.js.map +1 -0
  163. package/lib/es6/a11y/serialize.js +423 -0
  164. package/lib/es6/a11y/serialize.js.map +1 -0
  165. package/lib/es6/a11y/summarize.js +10 -0
  166. package/lib/es6/a11y/summarize.js.map +1 -0
  167. package/lib/es6/a11y/translations/module/de.json +5 -0
  168. package/lib/es6/a11y/translations/module/en.json +5 -0
  169. package/lib/es6/a11y/translations/module/es.json +5 -0
  170. package/lib/es6/a11y/translations/module/fr.json +5 -0
  171. package/lib/es6/a11y/translations/module/it.json +5 -0
  172. package/lib/es6/a11y/translations/module/ja.json +5 -0
  173. package/lib/es6/a11y/translations/module/ko.json +5 -0
  174. package/lib/es6/a11y/translations/module/pt.json +5 -0
  175. package/lib/es6/a11y/translations/module/tr.json +5 -0
  176. package/lib/es6/a11y/translations/module/translations.js +25 -0
  177. package/lib/es6/a11y/translations/module/translations.js.map +1 -0
  178. package/lib/es6/a11y/translations/module/vi.json +5 -0
  179. package/lib/es6/a11y/translations/module/zh.json +5 -0
  180. package/lib/es6/a11y/translations/view/de.json +42 -0
  181. package/lib/es6/a11y/translations/view/en.csv +41 -0
  182. package/lib/es6/a11y/translations/view/en.json +42 -0
  183. package/lib/es6/a11y/translations/view/es.json +42 -0
  184. package/lib/es6/a11y/translations/view/fr.json +42 -0
  185. package/lib/es6/a11y/translations/view/it.json +42 -0
  186. package/lib/es6/a11y/translations/view/ja.json +42 -0
  187. package/lib/es6/a11y/translations/view/ko.json +42 -0
  188. package/lib/es6/a11y/translations/view/pt.json +42 -0
  189. package/lib/es6/a11y/translations/view/tr.json +42 -0
  190. package/lib/es6/a11y/translations/view/translations.js +25 -0
  191. package/lib/es6/a11y/translations/view/translations.js.map +1 -0
  192. package/lib/es6/a11y/translations/view/vi.json +42 -0
  193. package/lib/es6/a11y/translations/view/zh.json +42 -0
  194. package/lib/es6/createElement.js +3 -1
  195. package/lib/es6/createElement.js.map +1 -1
  196. package/lib/es6/style/plot.shadow.css +10 -0
  197. package/lib/es6/style/plotA11yModule.shadow.css +13 -0
  198. package/lib/es6/style/plotA11yView.shadow.css +39 -0
  199. package/lib/es6/types/Plot.d.ts +75 -0
  200. package/lib/es6/utils.js +5 -0
  201. package/lib/es6/utils.js.map +1 -1
  202. package/lib/types/Plot.d.ts +75 -0
  203. package/lib/types/a11y/PlotA11yModule.d.ts +12 -0
  204. package/lib/types/a11y/PlotA11yView.d.ts +3 -0
  205. package/lib/types/a11y/bezier.d.ts +8 -0
  206. package/lib/types/a11y/datasets/charts-a11y.d.ts +0 -0
  207. package/lib/types/a11y/focus.d.ts +5 -0
  208. package/lib/types/a11y/hints.d.ts +99 -0
  209. package/lib/types/a11y/insights.d.ts +54 -0
  210. package/lib/types/a11y/intl.d.ts +8 -0
  211. package/lib/types/a11y/locale.d.ts +3 -0
  212. package/lib/types/a11y/serialize.d.ts +16 -0
  213. package/lib/types/a11y/summarize.d.ts +2 -0
  214. package/lib/types/a11y/translations/module/translations.d.ts +5 -0
  215. package/lib/types/a11y/translations/view/translations.d.ts +5 -0
  216. package/lib/types/utils.d.ts +1 -0
  217. package/package.json +3 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlotA11yView.js","names":["PlotA11yView","id","providedData","data","hints","plotLabel","plotRef","providedConfig","config","locale","SPlotA11yView","intl","React","useMemo","getIntl","makeDataSummarizationConfig","Array","isArray","keys","fromHints","push","fields","verticalAxes","horizontalAxes","valueAxes","Object","values","Set","filter","key","length","forEach","row","duplicatedBaseKeys","baseKeys","titles","valuesAxes","map","has","axesTitle","vertical","horizontal","entry","undefined","doublicated","handled","label","renderTitle","useCallback","dataKey","useState","summary","setSummary","generatingSummary","setGeneratingSummary","useEffect","disable","override","setTimeout","summarize","handleSkip","current","heavyFindNextFocusableElement","focus","handleSkipKeyboard","event","code","handleGoToTable","dataTableRef","handleGoToTableKeyboard","texts","formatMessage","close","skipPlot","goToTable","summaryPlaceholder","table","useRef","sstyled","styles","index","join","formatValue"],"sources":["../../../src/a11y/PlotA11yView.tsx"],"sourcesContent":["import React from 'react';\nimport { heavyFindNextFocusableElement } from './focus';\nimport { makeDataSummarizationConfig } from './hints';\nimport type { A11yViewProps } from './PlotA11yModule';\nimport { formatValue } from './serialize';\nimport { getIntl } from './intl';\nimport { summarize } from './summarize';\nimport { Root, sstyled } from '@semcore/core';\nimport styles from '../style/plotA11yView.shadow.css';\n\nexport const PlotA11yView: React.FC<A11yViewProps> = ({\n id,\n data: providedData,\n hints,\n plotLabel,\n plotRef,\n config: providedConfig,\n locale,\n}) => {\n const SPlotA11yView = Root;\n const intl = React.useMemo(() => getIntl(locale), [locale]);\n const config = React.useMemo(() => makeDataSummarizationConfig(providedConfig), [providedConfig]);\n const data = React.useMemo(\n () => (Array.isArray(providedData) ? providedData : [providedData]),\n [providedData],\n );\n const keys = React.useMemo(() => {\n let fromHints: (string | number)[] = [];\n fromHints.push(...hints.fields.verticalAxes);\n fromHints.push(...hints.fields.horizontalAxes);\n fromHints.push(...hints.fields.valueAxes);\n fromHints.push(...Object.keys(hints.fields.values));\n\n fromHints = [...new Set(fromHints)].filter((key) => key in data[0]);\n\n if (fromHints.length === 0) {\n data.forEach((row) => fromHints.push(...Object.keys(row)));\n }\n\n return [...new Set(fromHints)];\n }, [data, hints]);\n const duplicatedBaseKeys = React.useMemo(() => {\n const baseKeys = keys\n .filter((key) => !hints.titles.valuesAxes[key])\n .map((key) => {\n if (hints.fields.verticalAxes.has(key) && hints.axesTitle.vertical)\n return [key, hints.axesTitle.vertical];\n if (hints.fields.horizontalAxes.has(key) && hints.axesTitle.horizontal)\n return [key, hints.axesTitle.horizontal];\n })\n .filter((entry) => entry !== undefined)\n .map((entry) => entry!);\n const doublicated: Record<string, true> = {};\n const handled: Record<string, string | number> = {};\n for (const [key, label] of baseKeys) {\n if (handled[label]) {\n doublicated[key] = true;\n doublicated[handled[label]] = true;\n }\n handled[label] = key;\n }\n return doublicated;\n }, [keys, hints]);\n const renderTitle = React.useCallback(\n (dataKey: string | number) => {\n if (hints.titles.valuesAxes[dataKey]) return hints.titles.valuesAxes[dataKey];\n if (!duplicatedBaseKeys[dataKey]) {\n if (hints.fields.verticalAxes.has(dataKey) && hints.axesTitle.vertical)\n return hints.axesTitle.vertical;\n if (hints.fields.horizontalAxes.has(dataKey) && hints.axesTitle.horizontal)\n return hints.axesTitle.horizontal;\n }\n\n return dataKey;\n },\n [data, hints, duplicatedBaseKeys],\n );\n\n const [summary, setSummary] = React.useState<string | null>(null);\n const [generatingSummary, setGeneratingSummary] = React.useState(true);\n\n React.useEffect(() => {\n if (config.disable) {\n setSummary('');\n setGeneratingSummary(false);\n return;\n }\n if (config.override) {\n setSummary(config.override);\n setGeneratingSummary(false);\n return;\n }\n setTimeout(() => {\n setSummary(summarize(providedData, hints, config, locale));\n setGeneratingSummary(false);\n }, 0);\n }, [providedData, hints, config, locale]);\n\n const handleSkip = React.useCallback(() => {\n if (!plotRef.current) return;\n\n heavyFindNextFocusableElement(plotRef.current)?.focus();\n }, []);\n const handleSkipKeyboard = React.useCallback(\n (event: React.KeyboardEvent) => {\n if (event.code !== 'Enter') return;\n\n handleSkip();\n },\n [handleSkip],\n );\n const handleGoToTable = React.useCallback(() => {\n dataTableRef.current?.focus();\n }, []);\n const handleGoToTableKeyboard = React.useCallback(\n (event: React.KeyboardEvent) => {\n if (event.code !== 'Enter') return;\n\n handleGoToTable();\n },\n [handleGoToTable],\n );\n\n const texts = React.useMemo(\n () => ({\n label: intl.formatMessage(\n { id: 'view-label' },\n { plotLabel: plotLabel ?? intl.formatMessage({ id: 'view-default-plot-label' }) },\n ),\n close: intl.formatMessage({ id: 'view-close' }),\n skipPlot: intl.formatMessage({ id: 'view-skip-plot' }),\n goToTable: intl.formatMessage({ id: 'view-go-to-table' }),\n summary: intl.formatMessage({ id: 'view-data-summary' }),\n summaryPlaceholder: intl.formatMessage({ id: 'view-summary-placeholder' }),\n table: intl.formatMessage({ id: 'view-table' }),\n }),\n [intl, plotLabel],\n );\n\n const dataTableRef = React.useRef<HTMLTableElement>(null);\n\n return sstyled(styles)(\n <SPlotA11yView render=\"div\" tabIndex={0} aria-label={texts.label}>\n <a aria-hidden onClick={handleSkip}>\n {texts.close}\n </a>\n <a role=\"link\" tabIndex={0} onKeyDown={handleSkipKeyboard} onClick={handleSkip}>\n {texts.skipPlot}\n </a>\n <a role=\"link\" tabIndex={0} onKeyDown={handleGoToTableKeyboard} onClick={handleGoToTable}>\n {texts.goToTable}\n </a>\n <strong>\n <label htmlFor={`${id}-data-summary`}>{texts.summary}</label>\n </strong>\n <div id={`${id}-data-summary`} aria-busy={generatingSummary} tabIndex={0}>\n {generatingSummary ? texts.summaryPlaceholder : summary}\n </div>\n <strong>\n <label htmlFor={`${id}-data-table`}>{texts.table}</label>\n </strong>\n <table id={`${id}-data-table`} tabIndex={0} ref={dataTableRef}>\n <thead>\n <tr>\n {keys.map((key, index) => (\n <th key={`${key}-${index}`}>{renderTitle(key)}</th>\n ))}\n </tr>\n </thead>\n <tbody>\n {data.map((row, index) => (\n <tr key={Object.values(row).join('-') + '-' + index}>\n {keys.map((key, index) => (\n <td key={`${key}-${index}`}>{formatValue(intl, row[key])}</td>\n ))}\n </tr>\n ))}\n </tbody>\n </table>\n </SPlotA11yView>,\n ) as React.ReactElement;\n};\n"],"mappings":"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"}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.makeBezier = void 0;
7
+
8
+ var makeBezier = function makeBezier(points, bounds) {
9
+ var yPoints = points.map(function (point) {
10
+ return point.y;
11
+ });
12
+ var noPoints = points.map(function () {
13
+ return 1;
14
+ });
15
+ var weightPoints = points.map(function (point) {
16
+ var _point$weight;
17
+
18
+ return (_point$weight = point.weight) !== null && _point$weight !== void 0 ? _point$weight : 1;
19
+ });
20
+
21
+ var process = function process(t, points) {
22
+ var result = 0;
23
+
24
+ for (var i = 0; i < points.length; i++) {
25
+ var tPower = i;
26
+ var reversedTPower = points.length - 1 - i;
27
+ var edge = i === 0 || i === points.length - 1;
28
+ var factor = edge ? 1 : points.length - 1;
29
+ var point = points[i];
30
+ var weight = weightPoints[i];
31
+ result += factor * Math.pow(t, tPower) * Math.pow(1 - t, reversedTPower) * point * weight;
32
+ }
33
+
34
+ return result;
35
+ };
36
+
37
+ return function (x) {
38
+ var t = x / bounds.width;
39
+ return process(t, yPoints) / process(t, noPoints);
40
+ };
41
+ };
42
+
43
+ exports.makeBezier = makeBezier;
44
+ //# sourceMappingURL=bezier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bezier.js","names":["makeBezier","points","bounds","yPoints","map","point","y","noPoints","weightPoints","weight","process","t","result","i","length","tPower","reversedTPower","edge","factor","x","width"],"sources":["../../../src/a11y/bezier.ts"],"sourcesContent":["export const makeBezier = (\n points: { x: number; y: number; weight?: number }[],\n bounds: { width: number; height: number },\n) => {\n const yPoints = points.map((point) => point.y);\n const noPoints = points.map(() => 1);\n const weightPoints = points.map((point) => point.weight ?? 1);\n const process = (t: number, points: number[]) => {\n let result = 0;\n for (let i = 0; i < points.length; i++) {\n const tPower = i;\n const reversedTPower = points.length - 1 - i;\n const edge = i === 0 || i === points.length - 1;\n const factor = edge ? 1 : points.length - 1;\n const point = points[i];\n const weight = weightPoints[i];\n result += factor * t ** tPower * (1 - t) ** reversedTPower * point * weight;\n }\n return result;\n };\n\n return (x: number) => {\n const t = x / bounds.width;\n return process(t, yPoints) / process(t, noPoints);\n };\n};\n"],"mappings":";;;;;;;AAAO,IAAMA,UAAU,GAAG,SAAbA,UAAa,CACxBC,MADwB,EAExBC,MAFwB,EAGrB;EACH,IAAMC,OAAO,GAAGF,MAAM,CAACG,GAAP,CAAW,UAACC,KAAD;IAAA,OAAWA,KAAK,CAACC,CAAjB;EAAA,CAAX,CAAhB;EACA,IAAMC,QAAQ,GAAGN,MAAM,CAACG,GAAP,CAAW;IAAA,OAAM,CAAN;EAAA,CAAX,CAAjB;EACA,IAAMI,YAAY,GAAGP,MAAM,CAACG,GAAP,CAAW,UAACC,KAAD;IAAA;;IAAA,wBAAWA,KAAK,CAACI,MAAjB,yDAA2B,CAA3B;EAAA,CAAX,CAArB;;EACA,IAAMC,OAAO,GAAG,SAAVA,OAAU,CAACC,CAAD,EAAYV,MAAZ,EAAiC;IAC/C,IAAIW,MAAM,GAAG,CAAb;;IACA,KAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGZ,MAAM,CAACa,MAA3B,EAAmCD,CAAC,EAApC,EAAwC;MACtC,IAAME,MAAM,GAAGF,CAAf;MACA,IAAMG,cAAc,GAAGf,MAAM,CAACa,MAAP,GAAgB,CAAhB,GAAoBD,CAA3C;MACA,IAAMI,IAAI,GAAGJ,CAAC,KAAK,CAAN,IAAWA,CAAC,KAAKZ,MAAM,CAACa,MAAP,GAAgB,CAA9C;MACA,IAAMI,MAAM,GAAGD,IAAI,GAAG,CAAH,GAAOhB,MAAM,CAACa,MAAP,GAAgB,CAA1C;MACA,IAAMT,KAAK,GAAGJ,MAAM,CAACY,CAAD,CAApB;MACA,IAAMJ,MAAM,GAAGD,YAAY,CAACK,CAAD,CAA3B;MACAD,MAAM,IAAIM,MAAM,YAAGP,CAAH,EAAQI,MAAR,CAAN,YAAwB,IAAIJ,CAA5B,EAAkCK,cAAlC,IAAmDX,KAAnD,GAA2DI,MAArE;IACD;;IACD,OAAOG,MAAP;EACD,CAZD;;EAcA,OAAO,UAACO,CAAD,EAAe;IACpB,IAAMR,CAAC,GAAGQ,CAAC,GAAGjB,MAAM,CAACkB,KAArB;IACA,OAAOV,OAAO,CAACC,CAAD,EAAIR,OAAJ,CAAP,GAAsBO,OAAO,CAACC,CAAD,EAAIJ,QAAJ,CAApC;EACD,CAHD;AAID,CAzBM"}
@@ -0,0 +1,591 @@
1
+ // import React from 'react';
2
+ // import {
3
+ // Line,
4
+ // XAxis,
5
+ // Plot,
6
+ // YAxis,
7
+ // minMax,
8
+ // Tooltip,
9
+ // Bubble,
10
+ // Donut,
11
+ // colors,
12
+ // Bar,
13
+ // HorizontalBar,
14
+ // GroupBar,
15
+ // HoverRect,
16
+ // RadialTree,
17
+ // Plot,
18
+ // ScatterPlot,
19
+ // XAxis,
20
+ // YAxis,
21
+ // minMax,
22
+ // Tooltip,
23
+ // StackBar,
24
+ // Plot,
25
+ // XAxis,
26
+ // YAxis,
27
+ // minMax,
28
+ // colors,
29
+ // StackedArea,
30
+ // HoverLine,
31
+ // Tooltip,
32
+ // Venn,
33
+ // } from '@semcore/d3-chart';
34
+ // import { Flex, Box, Flex, Box } from '@semcore/flex-box';
35
+ // import { Text, Text, Text } from '@semcore/typography';
36
+ // import LikeM from '@semcore/icon/Like/m';
37
+ // import resolveColor from '@semcore/utils/src/color';
38
+ // import { scaleLinear, scaleBand, scaleLinear, scaleLinear } from 'd3-scale';
39
+ // import goldData from '../../../semcore/d3-chart/src/a11y/datasets/gold.json';
40
+ // import imbdmData from '../../../semcore/d3-chart/src/a11y/datasets/imdb.json';
41
+ // import titanicData from '../../../semcore/d3-chart/src/a11y/datasets/titanic.json';
42
+ // const Stonks = () => {
43
+ // const MARGIN = 40;
44
+ // const width = 500;
45
+ // const height = 300;
46
+ // const data = goldData
47
+ // .map((row) => {
48
+ // const [d, m, y] = row.Date.split('-');
49
+ // return {
50
+ // ...row,
51
+ // Date: new Date(`${m}-${d}-${y}`),
52
+ // };
53
+ // })
54
+ // .filter((_, index) => index % 10 === 0);
55
+ // const xScale = scaleLinear()
56
+ // .range([MARGIN, width - MARGIN])
57
+ // .domain(minMax(data, 'Date'));
58
+ // const yScale = scaleLinear()
59
+ // .range([height - MARGIN, MARGIN])
60
+ // .domain(minMax(data, 'United States(USD)'));
61
+ // return (
62
+ // <Plot data={data} scale={[xScale, yScale]} width={width} height={height}>
63
+ // <YAxis>
64
+ // <YAxis.Ticks />
65
+ // <YAxis.Grid />
66
+ // <YAxis.Title>Price</YAxis.Title>
67
+ // </YAxis>
68
+ // <XAxis>
69
+ // <XAxis.Title>Year</XAxis.Title>
70
+ // <XAxis.Ticks ticks={xScale.ticks(6)}>
71
+ // {({ value }) => ({
72
+ // children: formatDate(value, {
73
+ // month: 'short',
74
+ // day: 'numeric',
75
+ // year: 'numeric',
76
+ // }),
77
+ // })}
78
+ // </XAxis.Ticks>
79
+ // </XAxis>
80
+ // <Line x="Date" y="United States(USD)">
81
+ // <Line.Dots display />
82
+ // </Line>
83
+ // <Line x="Date" y="Europe(EUR)">
84
+ // <Line.Dots display />
85
+ // </Line>
86
+ // <Line x="Date" y="Australia(AUD)">
87
+ // <Line.Dots display />
88
+ // </Line>
89
+ // </Plot>
90
+ // );
91
+ // };
92
+ // const FilmBubbles = () => {
93
+ // const MARGIN = 40;
94
+ // const width = 500;
95
+ // const height = 300;
96
+ // const data = imbdmData
97
+ // .map((row) => ({ ...row, label: row.Title }))
98
+ // .filter((_, index) => index % 70 === 0);
99
+ // const xScale = scaleLinear()
100
+ // .range([MARGIN, width - MARGIN])
101
+ // .domain([1950, 2020]);
102
+ // const yScale = scaleLinear()
103
+ // .range([height - MARGIN, MARGIN])
104
+ // .domain([0, 10]);
105
+ // return (
106
+ // <Plot data={data} scale={[xScale, yScale]} width={width} height={height}>
107
+ // <YAxis>
108
+ // <YAxis.Ticks />
109
+ // <YAxis.Grid />
110
+ // </YAxis>
111
+ // <XAxis>
112
+ // <XAxis.Ticks />
113
+ // </XAxis>
114
+ // <Bubble x="ReleaseYear" y="IMDb-Rating" value="IMDb-Rating" />
115
+ // </Plot>
116
+ // );
117
+ // };
118
+ // const SurvivedTitanicClassesPie = () => {
119
+ // const data: Record<string, number> = {};
120
+ // for (const row of titanicData) {
121
+ // const className = String(row.Pclass);
122
+ // data[className] = data[className] ? data[className] + 1 : 1;
123
+ // }
124
+ // return (
125
+ // <Plot width={300} height={300} data={data}>
126
+ // <Donut innerRadius={100}>
127
+ // <Donut.Pie dataKey="1" name="Class 1" />
128
+ // <Donut.Pie dataKey="2" color={colors['green-02']} name="Class 2" />
129
+ // <Donut.Pie dataKey="3" color={colors['violet-04']} name="Class 3" />
130
+ // <Donut.Label>Survived classes</Donut.Label>
131
+ // </Donut>
132
+ // <Tooltip>
133
+ // {({ dataKey, name }) => {
134
+ // return {
135
+ // children: (
136
+ // <>
137
+ // <Tooltip.Title>{name}</Tooltip.Title>
138
+ // <Flex justifyContent="space-between">
139
+ // <Text bold>{data[dataKey]}</Text>
140
+ // </Flex>
141
+ // </>
142
+ // ),
143
+ // };
144
+ // }}
145
+ // </Tooltip>
146
+ // </Plot>
147
+ // );
148
+ // };
149
+ // const SurvivedTitanicClassesBars = () => {
150
+ // const pieData: Record<string, number> = {};
151
+ // for (const row of titanicData) {
152
+ // const className = String(row.Pclass);
153
+ // pieData[className] = pieData[className] ? pieData[className] + 1 : 1;
154
+ // }
155
+ // const data = Object.entries(pieData).map(([className, survived]) => ({
156
+ // className: `Class ${className}`,
157
+ // survived,
158
+ // }));
159
+ // const MARGIN = 40;
160
+ // const width = 500;
161
+ // const height = 300;
162
+ // const xScale = scaleBand()
163
+ // .range([MARGIN, width - MARGIN])
164
+ // .domain(data.map((d) => d.className))
165
+ // .paddingInner(0.4)
166
+ // .paddingOuter(0.2);
167
+ // const yScale = scaleLinear()
168
+ // .range([height - MARGIN, MARGIN])
169
+ // .domain([0, 260]);
170
+ // return (
171
+ // <Plot data={data} scale={[xScale, yScale]} width={width} height={height}>
172
+ // <YAxis>
173
+ // <YAxis.Ticks />
174
+ // <YAxis.Grid />
175
+ // </YAxis>
176
+ // <XAxis>
177
+ // <XAxis.Ticks />
178
+ // <XAxis.Title>Survived passengers</XAxis.Title>
179
+ // </XAxis>
180
+ // <Bar x="className" y="survived" />
181
+ // </Plot>
182
+ // );
183
+ // };
184
+ // const HorizaontalBars = () => {
185
+ // const data = [...Array(5).keys()].map((d, i) => ({
186
+ // category: `Category ${i}`,
187
+ // bar: i + (Math.random() * 10).toFixed('2'),
188
+ // }));
189
+ // const MARGIN = 40;
190
+ // const width = 500;
191
+ // const height = 300;
192
+ // const xScale = scaleLinear()
193
+ // .range([MARGIN * 2, width - MARGIN * 2])
194
+ // .domain([0, Math.max(...data.map((d) => d.bar))]);
195
+ // const yScale = scaleBand()
196
+ // .range([height - MARGIN, MARGIN])
197
+ // .domain(data.map((d) => d.category))
198
+ // .paddingInner(0.4)
199
+ // .paddingOuter(0.2);
200
+ // return (
201
+ // <Plot data={data} scale={[xScale, yScale]} width={width} height={height}>
202
+ // <YAxis>
203
+ // <YAxis.Ticks />
204
+ // </YAxis>
205
+ // <HorizontalBar x="bar" y="category">
206
+ // {({ value, x, y, width, height }) => {
207
+ // return {
208
+ // children: (
209
+ // <text
210
+ // x={x + width + 16}
211
+ // y={y + height / 2}
212
+ // textAnchor="start"
213
+ // alignmentBaseline="middle"
214
+ // fill={resolveColor('gray60')}
215
+ // >
216
+ // $ {value.bar}
217
+ // </text>
218
+ // ),
219
+ // };
220
+ // }}
221
+ // </HorizontalBar>
222
+ // </Plot>
223
+ // );
224
+ // };
225
+ // const GroupBars = () => {
226
+ // const data = [...Array(5).keys()].map((d, i) => ({
227
+ // category: `Category ${i}`,
228
+ // bar1: Math.random() * 10,
229
+ // bar2: Math.random() * 10,
230
+ // }));
231
+ // const MARGIN = 40;
232
+ // const width = 500;
233
+ // const height = 300;
234
+ // const xScale = scaleLinear()
235
+ // .range([MARGIN * 2, width - MARGIN])
236
+ // .domain([0, 10]);
237
+ // const yScale = scaleBand()
238
+ // .range([height - MARGIN, MARGIN])
239
+ // .domain(data.map((d) => d.category))
240
+ // .paddingInner(0.4)
241
+ // .paddingOuter(0.2);
242
+ // return (
243
+ // <Plot data={data} scale={[xScale, yScale]} width={width} height={height}>
244
+ // <YAxis hide={false}>
245
+ // <YAxis.Ticks />
246
+ // </YAxis>
247
+ // <XAxis>
248
+ // <XAxis.Ticks />
249
+ // <XAxis.Grid />
250
+ // </XAxis>
251
+ // <Tooltip tag={HoverRect} y="category" wMin={100}>
252
+ // {({ yIndex }) => {
253
+ // return {
254
+ // children: (
255
+ // <>
256
+ // <Tooltip.Title>{data[yIndex].category}</Tooltip.Title>
257
+ // <Flex justifyContent="space-between">
258
+ // <Tooltip.Dot mr={4}>Bar 1</Tooltip.Dot>
259
+ // <Text bold>{data[yIndex].bar1}</Text>
260
+ // </Flex>
261
+ // <Flex mt={2} justifyContent="space-between">
262
+ // <Tooltip.Dot mr={4} color={colors['green-02']}>
263
+ // Bar 2
264
+ // </Tooltip.Dot>
265
+ // <Text bold>{data[yIndex].bar2}</Text>
266
+ // </Flex>
267
+ // </>
268
+ // ),
269
+ // };
270
+ // }}
271
+ // </Tooltip>
272
+ // <GroupBar y="category">
273
+ // <GroupBar.HorizontalBar x="bar1" />
274
+ // <GroupBar.HorizontalBar x="bar2" color={colors['green-02']} />
275
+ // </GroupBar>
276
+ // </Plot>
277
+ // );
278
+ // };
279
+ // const RadialTreeExample = () => {
280
+ // const width = 500;
281
+ // const height = 500;
282
+ // const data = Array(12)
283
+ // .fill({})
284
+ // .map((_, i) => ({
285
+ // label: `Sheep ${i + 1}`,
286
+ // icon: LikeM,
287
+ // }));
288
+ // return (
289
+ // <Plot data={data} scale={[scaleLinear(), scaleLinear()]} width={width} height={height}>
290
+ // <RadialTree color="#AB6CFE">
291
+ // <RadialTree.Radian>
292
+ // <RadialTree.Radian.Label />
293
+ // <RadialTree.Radian.Line />
294
+ // <RadialTree.Radian.Cap />
295
+ // <RadialTree.Radian.Icon />
296
+ // </RadialTree.Radian>
297
+ // <RadialTree.Title>Sleeping</RadialTree.Title>
298
+ // </RadialTree>
299
+ // </Plot>
300
+ // );
301
+ // };
302
+ // const ScatterPlotChart = () => {
303
+ // const data = Array(20)
304
+ // .fill({})
305
+ // .map((d, i) => ({
306
+ // x: i,
307
+ // y: Math.random() * 10,
308
+ // }));
309
+ // const MARGIN = 40;
310
+ // const width = 500;
311
+ // const height = 300;
312
+ // const xScale = scaleLinear()
313
+ // .range([MARGIN, width - MARGIN])
314
+ // .domain(minMax(data, 'x'));
315
+ // const yScale = scaleLinear()
316
+ // .range([height - MARGIN, MARGIN])
317
+ // .domain([0, 10]);
318
+ // return (
319
+ // <Plot scale={[xScale, yScale]} width={width} height={height} data={data}>
320
+ // <YAxis>
321
+ // <YAxis.Ticks />
322
+ // <YAxis.Grid />
323
+ // </YAxis>
324
+ // <XAxis>
325
+ // <XAxis.Ticks />
326
+ // </XAxis>
327
+ // <ScatterPlot x="x" y="y" />
328
+ // <Tooltip>
329
+ // {({ xIndex }) => {
330
+ // return {
331
+ // children: (
332
+ // <>
333
+ // <Tooltip.Title>Data</Tooltip.Title>
334
+ // <Text tag="div">X axis {data[xIndex].x}</Text>
335
+ // <Text tag="div">Y axis {data[xIndex].y}</Text>
336
+ // </>
337
+ // ),
338
+ // };
339
+ // }}
340
+ // </Tooltip>
341
+ // </Plot>
342
+ // );
343
+ // };
344
+ // const StackedBarChart = () => {
345
+ // const MARGIN = 40;
346
+ // const width = 500;
347
+ // const height = 300;
348
+ // const data = [...Array(5).keys()].map((d, i) => ({
349
+ // category: `Category ${i}`,
350
+ // stack1: Math.random() * 10,
351
+ // stack2: Math.random() * 10,
352
+ // }));
353
+ // const xScale = scaleBand()
354
+ // .range([MARGIN, width - MARGIN])
355
+ // .domain(data.map((d) => d.category))
356
+ // .paddingInner(0.4)
357
+ // .paddingOuter(0.2);
358
+ // const yScale = scaleLinear()
359
+ // .range([height - MARGIN, MARGIN])
360
+ // .domain([0, 20]);
361
+ // return (
362
+ // <Plot data={data} scale={[xScale, yScale]} width={width} height={height}>
363
+ // <YAxis>
364
+ // <YAxis.Ticks />
365
+ // <YAxis.Grid />
366
+ // </YAxis>
367
+ // <XAxis>
368
+ // <XAxis.Ticks />
369
+ // </XAxis>
370
+ // <Tooltip tag={HoverRect} x="category" wMin={100}>
371
+ // {({ xIndex }) => {
372
+ // return {
373
+ // children: (
374
+ // <>
375
+ // <Tooltip.Title>{data[xIndex].category}</Tooltip.Title>
376
+ // <Flex justifyContent="space-between">
377
+ // <Tooltip.Dot mr={4}>Stack 1</Tooltip.Dot>
378
+ // <Text bold>{data[xIndex].stack1}</Text>
379
+ // </Flex>
380
+ // <Flex mt={2} justifyContent="space-between">
381
+ // <Tooltip.Dot mr={4} color={colors['blue-02']}>
382
+ // Stack 2
383
+ // </Tooltip.Dot>
384
+ // <Text bold>{data[xIndex].stack2}</Text>
385
+ // </Flex>
386
+ // <Flex mt={2} justifyContent="space-between">
387
+ // <Box mr={4}>Total</Box>
388
+ // <Text bold>{data[xIndex].stack1 + data[xIndex].stack2}</Text>
389
+ // </Flex>
390
+ // </>
391
+ // ),
392
+ // };
393
+ // }}
394
+ // </Tooltip>
395
+ // <StackBar x="category">
396
+ // <StackBar.Bar y="stack1" />
397
+ // <StackBar.Bar y="stack2" color={colors['blue-02']} />
398
+ // </StackBar>
399
+ // </Plot>
400
+ // );
401
+ // };
402
+ // import { curveCardinal } from 'd3-shape';
403
+ // function formatDate(value, options) {
404
+ // return new Intl.DateTimeFormat('en', options).format(value);
405
+ // }
406
+ // const StackedAreaChart = () => {
407
+ // const date = new Date();
408
+ // const data = [...Array(5).keys()].map((d, i) => ({
409
+ // time: new Date(date.setDate(date.getDate() + 5)),
410
+ // stack1: Math.random() * 5,
411
+ // stack2: Math.random() * 5,
412
+ // stack3: Math.random() * 5,
413
+ // }));
414
+ // const MARGIN = 40;
415
+ // const width = 500;
416
+ // const height = 300;
417
+ // const xScale = scaleLinear()
418
+ // .range([MARGIN, width - MARGIN])
419
+ // .domain(minMax(data, 'time'));
420
+ // const yScale = scaleLinear()
421
+ // .range([height - MARGIN, MARGIN])
422
+ // .domain([0, 15]);
423
+ // return (
424
+ // <Plot data={data} scale={[xScale, yScale]} width={width} height={height}>
425
+ // <YAxis>
426
+ // <YAxis.Ticks />
427
+ // <YAxis.Grid />
428
+ // </YAxis>
429
+ // <XAxis>
430
+ // <XAxis.Ticks ticks={data.map((d) => +d.time)}>
431
+ // {({ value }) => ({
432
+ // children: formatDate(value, {
433
+ // month: 'short',
434
+ // day: 'numeric',
435
+ // }),
436
+ // })}
437
+ // </XAxis.Ticks>
438
+ // </XAxis>
439
+ // <Tooltip tag={HoverLine} x="time" wMin={100}>
440
+ // {({ xIndex }) => {
441
+ // return {
442
+ // children: (
443
+ // <>
444
+ // <Tooltip.Title>
445
+ // {formatDate(data[xIndex].time, {
446
+ // year: 'numeric',
447
+ // month: 'long',
448
+ // day: 'numeric',
449
+ // })}
450
+ // </Tooltip.Title>
451
+ // <Flex justifyContent="space-between">
452
+ // <Tooltip.Dot mr={4}>Stack 1</Tooltip.Dot>
453
+ // <Text bold>{data[xIndex].stack1}</Text>
454
+ // </Flex>
455
+ // <Flex mt={2} justifyContent="space-between">
456
+ // <Tooltip.Dot mr={4} color={colors['green-02']}>
457
+ // Stack 2
458
+ // </Tooltip.Dot>
459
+ // <Text bold>{data[xIndex].stack2}</Text>
460
+ // </Flex>
461
+ // <Flex mt={2} justifyContent="space-between">
462
+ // <Tooltip.Dot mr={4} color={colors['orange-04']}>
463
+ // Stack 3
464
+ // </Tooltip.Dot>
465
+ // <Text bold>{data[xIndex].stack3}</Text>
466
+ // </Flex>
467
+ // <Flex mt={2} justifyContent="space-between">
468
+ // <Box mr={4}>Total</Box>
469
+ // <Text bold>
470
+ // {data[xIndex].stack1 + data[xIndex].stack2 + data[xIndex].stack3}
471
+ // </Text>
472
+ // </Flex>
473
+ // </>
474
+ // ),
475
+ // };
476
+ // }}
477
+ // </Tooltip>
478
+ // <StackedArea x="time">
479
+ // <StackedArea.Area y="stack1" curve={curveCardinal}>
480
+ // <StackedArea.Area.Dots />
481
+ // </StackedArea.Area>
482
+ // <StackedArea.Area y="stack2" fill="#59DDAA50" color="#59DDAA" curve={curveCardinal}>
483
+ // <StackedArea.Area.Dots />
484
+ // </StackedArea.Area>
485
+ // <StackedArea.Area y="stack3" fill="#FF622D50" color="#FF622D" curve={curveCardinal}>
486
+ // <StackedArea.Area.Dots />
487
+ // </StackedArea.Area>
488
+ // </StackedArea>
489
+ // </Plot>
490
+ // );
491
+ // };
492
+ // const VennChart = () => {
493
+ // const data = {
494
+ // G: 200,
495
+ // F: 200,
496
+ // C: 500,
497
+ // U: 1,
498
+ // 'G/F': 100,
499
+ // 'G/C': 100,
500
+ // 'F/C': 100,
501
+ // 'G/F/C': 100,
502
+ // };
503
+ // return (
504
+ // <Plot height={300} width={400} data={data}>
505
+ // <Venn>
506
+ // <Venn.Circle dataKey="G" name="Good" />
507
+ // <Venn.Circle dataKey="F" name="Fast" color={colors['blue-03']} />
508
+ // <Venn.Circle dataKey="C" name="Cheap" color={colors['orange-04']} />
509
+ // <Venn.Circle dataKey="U" name="Unknown" color={colors['pink-03']} />
510
+ // <Venn.Intersection dataKey="G/F" name="Good & Fast" />
511
+ // <Venn.Intersection dataKey="G/C" name="Good & Cheap" />
512
+ // <Venn.Intersection dataKey="F/C" name="Fast & Cheap" />
513
+ // <Venn.Intersection dataKey="G/F/C" name="Good & Fast & Cheap" />
514
+ // </Venn>
515
+ // <Tooltip>
516
+ // {({ name, dataKey }) => {
517
+ // return {
518
+ // children: (
519
+ // <>
520
+ // <Tooltip.Title>{name}</Tooltip.Title>
521
+ // <Text bold>{data[dataKey]}</Text>
522
+ // </>
523
+ // ),
524
+ // };
525
+ // }}
526
+ // </Tooltip>
527
+ // </Plot>
528
+ // );
529
+ // };
530
+ // const MixedChart = () => {
531
+ // const MARGIN = 40;
532
+ // const width = 500;
533
+ // const height = 300;
534
+ // const data = goldData
535
+ // .map((row) => {
536
+ // const [d, m, y] = row.Date.split('-');
537
+ // return {
538
+ // ...row,
539
+ // Date: new Date(`${m}-${d}-${y}`),
540
+ // };
541
+ // })
542
+ // .filter((_, index) => index % 10 === 0);
543
+ // const xScale = scaleLinear()
544
+ // .range([MARGIN, width - MARGIN])
545
+ // .domain(minMax(data, 'Date'));
546
+ // const yScale = scaleLinear()
547
+ // .range([height - MARGIN, MARGIN])
548
+ // .domain(minMax(data, 'United States(USD)'));
549
+ // return (
550
+ // <Plot data={data} scale={[xScale, yScale]} width={width} height={height}>
551
+ // <YAxis>
552
+ // <YAxis.Ticks />
553
+ // <YAxis.Grid />
554
+ // <YAxis.Title>Price</YAxis.Title>
555
+ // </YAxis>
556
+ // <XAxis>
557
+ // <XAxis.Title>Year</XAxis.Title>
558
+ // <XAxis.Ticks />
559
+ // </XAxis>
560
+ // <Line x="Date" y="United States(USD)">
561
+ // <Line.Dots display />
562
+ // </Line>
563
+ // <Line x="Date" y="Europe(EUR)">
564
+ // <Line.Dots display />
565
+ // </Line>
566
+ // <Line x="Date" y="Australia(AUD)">
567
+ // <Line.Dots display />
568
+ // </Line>
569
+ // </Plot>
570
+ // );
571
+ // };
572
+ // export default () => {
573
+ // return (
574
+ // <div>
575
+ // <Stonks /> <br />
576
+ // <FilmBubbles /> <br />
577
+ // <SurvivedTitanicClassesPie /> <br />
578
+ // <SurvivedTitanicClassesBars /> <br />
579
+ // <HorizaontalBars /> <br />
580
+ // <GroupBars /> <br />
581
+ // <RadialTreeExample /> <br />
582
+ // <ScatterPlotChart /> <br />
583
+ // <StackedBarChart /> <br />
584
+ // <StackedAreaChart /> <br />
585
+ // <VennChart /> <br />
586
+ // <MixedChart /> <br />
587
+ // </div>
588
+ // );
589
+ // };
590
+ "use strict";
591
+ //# sourceMappingURL=charts-a11y.js.map