@semcore/d3-chart 1.8.0 → 2.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 (179) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/lib/cjs/Area.js +9 -9
  3. package/lib/cjs/Axis.js +17 -19
  4. package/lib/cjs/Axis.js.map +1 -1
  5. package/lib/cjs/Bar.js +11 -11
  6. package/lib/cjs/Bar.js.map +1 -1
  7. package/lib/cjs/Bubble.js +13 -34
  8. package/lib/cjs/Bubble.js.map +1 -1
  9. package/lib/cjs/ClipPath.js +2 -1
  10. package/lib/cjs/ClipPath.js.map +1 -1
  11. package/lib/cjs/Donut.js +8 -8
  12. package/lib/cjs/Donut.js.map +1 -1
  13. package/lib/cjs/Dots.js +9 -9
  14. package/lib/cjs/Dots.js.map +1 -1
  15. package/lib/cjs/GroupBar.js +8 -8
  16. package/lib/cjs/GroupBar.js.map +1 -1
  17. package/lib/cjs/HorizontalBar.js +11 -11
  18. package/lib/cjs/HorizontalBar.js.map +1 -1
  19. package/lib/cjs/Hover.js +4 -4
  20. package/lib/cjs/Line.js +8 -8
  21. package/lib/cjs/Plot.js +15 -1
  22. package/lib/cjs/Plot.js.map +1 -1
  23. package/lib/cjs/RadialTree.js +694 -0
  24. package/lib/cjs/RadialTree.js.map +1 -0
  25. package/lib/cjs/ResponsiveContainer.js +1 -1
  26. package/lib/cjs/ResponsiveContainer.js.map +1 -1
  27. package/lib/cjs/ScatterPlot.js +7 -7
  28. package/lib/cjs/StackBar.js +8 -8
  29. package/lib/cjs/StackBar.js.map +1 -1
  30. package/lib/cjs/StackedArea.js +8 -8
  31. package/lib/cjs/StackedArea.js.map +1 -1
  32. package/lib/cjs/Tooltip.js +11 -15
  33. package/lib/cjs/Tooltip.js.map +1 -1
  34. package/lib/cjs/Venn.js +9 -9
  35. package/lib/cjs/Venn.js.map +1 -1
  36. package/lib/cjs/color.js +122 -30
  37. package/lib/cjs/color.js.map +1 -1
  38. package/lib/cjs/createElement.js +3 -2
  39. package/lib/cjs/createElement.js.map +1 -1
  40. package/lib/cjs/index.js +8 -0
  41. package/lib/cjs/index.js.map +1 -1
  42. package/lib/cjs/style/area.shadow.css +4 -4
  43. package/lib/cjs/style/axis.shadow.css +4 -4
  44. package/lib/cjs/style/bar.shadow.css +2 -2
  45. package/lib/cjs/style/bubble.shadow.css +3 -3
  46. package/lib/cjs/style/donut.shadow.css +2 -2
  47. package/lib/cjs/style/dot.shadow.css +1 -1
  48. package/lib/cjs/style/hover.shadow.css +2 -2
  49. package/lib/cjs/style/line.shadow.css +2 -2
  50. package/lib/cjs/style/plot.shadow.css +6 -0
  51. package/lib/cjs/style/radial-tree.shadow.css +34 -0
  52. package/lib/cjs/style/scatterplot.shadow.css +2 -2
  53. package/lib/cjs/style/tooltip.shadow.css +5 -5
  54. package/lib/cjs/style/var.css +123 -30
  55. package/lib/cjs/style/venn.shadow.css +1 -1
  56. package/lib/cjs/types/Area.d.ts +47 -0
  57. package/lib/cjs/types/Axis.d.ts +64 -0
  58. package/lib/cjs/types/Bar.d.ts +48 -0
  59. package/lib/cjs/types/Bubble.d.ts +27 -0
  60. package/lib/cjs/types/ClipPath.d.ts +26 -0
  61. package/lib/cjs/types/Donut.d.ts +42 -0
  62. package/lib/cjs/types/GroupBar.d.ts +20 -0
  63. package/lib/cjs/types/HorizontalBar.d.ts +29 -0
  64. package/lib/cjs/types/Hover.d.ts +15 -0
  65. package/lib/cjs/types/Line.d.ts +50 -0
  66. package/lib/cjs/types/Plot.d.ts +16 -0
  67. package/lib/cjs/types/ResponsiveContainer.d.ts +20 -0
  68. package/lib/cjs/types/ScatterPlot.d.ts +27 -0
  69. package/lib/cjs/types/StackBar.d.ts +26 -0
  70. package/lib/cjs/types/StackedArea.d.ts +26 -0
  71. package/lib/cjs/types/Tooltip.d.ts +31 -0
  72. package/lib/cjs/types/Venn.d.ts +45 -0
  73. package/lib/cjs/types/context.d.ts +6 -0
  74. package/lib/cjs/types/index.d.ts +53 -0
  75. package/lib/cjs/utils.js +120 -55
  76. package/lib/cjs/utils.js.map +1 -1
  77. package/lib/es6/Area.js +9 -9
  78. package/lib/es6/Axis.js +17 -19
  79. package/lib/es6/Axis.js.map +1 -1
  80. package/lib/es6/Bar.js +11 -11
  81. package/lib/es6/Bar.js.map +1 -1
  82. package/lib/es6/Bubble.js +13 -34
  83. package/lib/es6/Bubble.js.map +1 -1
  84. package/lib/es6/ClipPath.js +2 -1
  85. package/lib/es6/ClipPath.js.map +1 -1
  86. package/lib/es6/Donut.js +8 -8
  87. package/lib/es6/Donut.js.map +1 -1
  88. package/lib/es6/Dots.js +9 -9
  89. package/lib/es6/Dots.js.map +1 -1
  90. package/lib/es6/GroupBar.js +8 -8
  91. package/lib/es6/GroupBar.js.map +1 -1
  92. package/lib/es6/HorizontalBar.js +11 -11
  93. package/lib/es6/HorizontalBar.js.map +1 -1
  94. package/lib/es6/Hover.js +4 -4
  95. package/lib/es6/Line.js +8 -8
  96. package/lib/es6/Plot.js +17 -1
  97. package/lib/es6/Plot.js.map +1 -1
  98. package/lib/es6/RadialTree.js +682 -0
  99. package/lib/es6/RadialTree.js.map +1 -0
  100. package/lib/es6/ResponsiveContainer.js +1 -1
  101. package/lib/es6/ResponsiveContainer.js.map +1 -1
  102. package/lib/es6/ScatterPlot.js +7 -7
  103. package/lib/es6/StackBar.js +8 -8
  104. package/lib/es6/StackBar.js.map +1 -1
  105. package/lib/es6/StackedArea.js +8 -8
  106. package/lib/es6/StackedArea.js.map +1 -1
  107. package/lib/es6/Tooltip.js +11 -15
  108. package/lib/es6/Tooltip.js.map +1 -1
  109. package/lib/es6/Venn.js +9 -9
  110. package/lib/es6/Venn.js.map +1 -1
  111. package/lib/es6/color.js +122 -30
  112. package/lib/es6/color.js.map +1 -1
  113. package/lib/es6/createElement.js +3 -2
  114. package/lib/es6/createElement.js.map +1 -1
  115. package/lib/es6/index.js +1 -0
  116. package/lib/es6/index.js.map +1 -1
  117. package/lib/es6/style/area.shadow.css +4 -4
  118. package/lib/es6/style/axis.shadow.css +4 -4
  119. package/lib/es6/style/bar.shadow.css +2 -2
  120. package/lib/es6/style/bubble.shadow.css +3 -3
  121. package/lib/es6/style/donut.shadow.css +2 -2
  122. package/lib/es6/style/dot.shadow.css +1 -1
  123. package/lib/es6/style/hover.shadow.css +2 -2
  124. package/lib/es6/style/line.shadow.css +2 -2
  125. package/lib/es6/style/plot.shadow.css +6 -0
  126. package/lib/es6/style/radial-tree.shadow.css +34 -0
  127. package/lib/es6/style/scatterplot.shadow.css +2 -2
  128. package/lib/es6/style/tooltip.shadow.css +5 -5
  129. package/lib/es6/style/var.css +123 -30
  130. package/lib/es6/style/venn.shadow.css +1 -1
  131. package/lib/es6/types/Area.d.ts +47 -0
  132. package/lib/es6/types/Axis.d.ts +64 -0
  133. package/lib/es6/types/Bar.d.ts +48 -0
  134. package/lib/es6/types/Bubble.d.ts +27 -0
  135. package/lib/es6/types/ClipPath.d.ts +26 -0
  136. package/lib/es6/types/Donut.d.ts +42 -0
  137. package/lib/es6/types/GroupBar.d.ts +20 -0
  138. package/lib/es6/types/HorizontalBar.d.ts +29 -0
  139. package/lib/es6/types/Hover.d.ts +15 -0
  140. package/lib/es6/types/Line.d.ts +50 -0
  141. package/lib/es6/types/Plot.d.ts +16 -0
  142. package/lib/es6/types/ResponsiveContainer.d.ts +20 -0
  143. package/lib/es6/types/ScatterPlot.d.ts +27 -0
  144. package/lib/es6/types/StackBar.d.ts +26 -0
  145. package/lib/es6/types/StackedArea.d.ts +26 -0
  146. package/lib/es6/types/Tooltip.d.ts +31 -0
  147. package/lib/es6/types/Venn.d.ts +45 -0
  148. package/lib/es6/types/context.d.ts +6 -0
  149. package/lib/es6/types/index.d.ts +53 -0
  150. package/lib/es6/utils.js +95 -44
  151. package/lib/es6/utils.js.map +1 -1
  152. package/lib/types/RadialTree.d.ts +202 -0
  153. package/lib/types/index.d.ts +6 -0
  154. package/lib/types/utils.d.ts +27 -0
  155. package/package.json +22 -10
  156. package/src/Bubble.jsx +1 -21
  157. package/src/ClipPath.jsx +1 -0
  158. package/src/Donut.jsx +7 -9
  159. package/src/Plot.jsx +2 -0
  160. package/src/RadialTree.tsx +767 -0
  161. package/src/createElement.jsx +3 -1
  162. package/src/index.js +1 -0
  163. package/src/style/area.shadow.css +4 -4
  164. package/src/style/axis.shadow.css +4 -4
  165. package/src/style/bar.shadow.css +2 -2
  166. package/src/style/bubble.shadow.css +3 -3
  167. package/src/style/donut.shadow.css +2 -2
  168. package/src/style/dot.shadow.css +1 -1
  169. package/src/style/hover.shadow.css +2 -2
  170. package/src/style/line.shadow.css +2 -2
  171. package/src/style/plot.shadow.css +6 -0
  172. package/src/style/radial-tree.shadow.css +34 -0
  173. package/src/style/scatterplot.shadow.css +2 -2
  174. package/src/style/tooltip.shadow.css +5 -5
  175. package/src/style/var.css +123 -30
  176. package/src/style/venn.shadow.css +1 -1
  177. package/src/types/index.d.ts +6 -0
  178. package/src/utils.ts +227 -0
  179. package/src/utils.js +0 -147
package/src/utils.js DELETED
@@ -1,147 +0,0 @@
1
- import { extent, bisector } from 'd3-array';
2
- import { scaleQuantize } from 'd3-scale';
3
-
4
- const CONSTANT = {
5
- VIRTUAL_ELEMENT: Symbol('VIRTUAL_ELEMENT'),
6
- };
7
-
8
- export { CONSTANT };
9
-
10
- export function eventToPoint(event, svgRoot) {
11
- const node = event.currentTarget || event.target;
12
- const rect = svgRoot.getBoundingClientRect();
13
- return [event.clientX - rect.left - node.clientLeft, event.clientY - rect.top - node.clientTop];
14
- }
15
-
16
- export function invert(scale, value) {
17
- if (scale.invert) return scale.invert(value);
18
-
19
- const range = scale.range();
20
- const domain = scale.domain();
21
-
22
- return scaleQuantize()
23
- .domain(range[0] <= range[1] ? range : range.slice().reverse())
24
- .range(range[0] <= range[1] ? domain : domain.slice().reverse())(value);
25
- }
26
-
27
- export function definedNullData(x, y) {
28
- return (p) => p[x] !== null && p[y] !== null;
29
- }
30
-
31
- export function definedData(x, y) {
32
- return (p) => {
33
- return p[x] !== null && p[x] !== undefined && p[y] !== null && p[y] !== undefined;
34
- };
35
- }
36
-
37
- export function scaleOfBandwidth(scale, value) {
38
- return scale.bandwidth ? scale(value) + scale.bandwidth() / 2 : scale(value);
39
- }
40
-
41
- export function minMax(data, key) {
42
- if (typeof key === 'string') {
43
- return extent(data, (d) => d[key]);
44
- }
45
- return extent(data, key);
46
- }
47
-
48
- export function getNullData(data, defined, name) {
49
- return data.reduce((acc, d, i, data) => {
50
- if (defined(d)) {
51
- acc.push({
52
- [name]: null,
53
- });
54
- } else {
55
- const prev = data[i - 1];
56
- const next = data[i + 1];
57
-
58
- if (i === 0) {
59
- const defNext = data.find(defined);
60
- acc.push({
61
- ...d,
62
- [name]: defNext ? defNext[name] : null,
63
- });
64
- }
65
-
66
- // prev
67
- if (prev && defined(prev)) {
68
- acc.push(prev);
69
- }
70
-
71
- // next
72
- if (next && defined(next)) {
73
- acc.push(next);
74
- }
75
-
76
- if (data.length - 1 === i) {
77
- const defPrev = data.slice().reverse().find(defined);
78
- acc.push({
79
- ...d,
80
- [name]: defPrev ? defPrev[name] : null,
81
- });
82
- }
83
- }
84
- return acc;
85
- }, []);
86
- }
87
-
88
- export function getIndexFromData(data, scale, key, value) {
89
- // detect line chart
90
- if ('invert' in scale && typeof scale.invert === 'function') {
91
- const bisect = bisector((d) => d[key]).center;
92
- return bisect(data, value);
93
- }
94
- // detect bar chart
95
- else if ('step' in scale && typeof scale.step !== 'undefined') {
96
- const index = data.findIndex((d) => d[key] === value);
97
- return index >= 0 ? index : null;
98
- } else {
99
- console.warn('[d3-chart/utils/getIndexFromData] encountered incompatible scale type');
100
- return null;
101
- }
102
- }
103
-
104
- export function roundedPath(x, y, w, h, r, tl = false, tr = false, bl = false, br = false) {
105
- let retval;
106
- retval = 'M' + (x + r) + ',' + y;
107
- retval += 'h' + (w - 2 * r);
108
- if (tr) {
109
- retval += 'a' + r + ',' + r + ' 0 0 1 ' + r + ',' + r;
110
- } else {
111
- retval += 'h' + r;
112
- retval += 'v' + r;
113
- }
114
- retval += 'v' + (h - 2 * r);
115
- if (br) {
116
- retval += 'a' + r + ',' + r + ' 0 0 1 ' + -r + ',' + r;
117
- } else {
118
- retval += 'v' + r;
119
- retval += 'h' + -r;
120
- }
121
- retval += 'h' + (2 * r - w);
122
- if (bl) {
123
- retval += 'a' + r + ',' + r + ' 0 0 1 ' + -r + ',' + -r;
124
- } else {
125
- retval += 'h' + -r;
126
- retval += 'v' + -r;
127
- }
128
- retval += 'v' + (2 * r - h);
129
- if (tl) {
130
- retval += 'a' + r + ',' + r + ' 0 0 1 ' + r + ',' + -r;
131
- } else {
132
- retval += 'v' + -r;
133
- retval += 'h' + r;
134
- }
135
- retval += 'z';
136
- return retval;
137
- }
138
-
139
- export function getBandwidth(scale) {
140
- if ('bandwidth' in scale) {
141
- return scale.bandwidth();
142
- }
143
-
144
- const range = scale.range();
145
- const domain = scale.domain();
146
- return Math.abs(range[range.length - 1] - range[0]) / domain.length;
147
- }