@redsift/charts 8.0.0 → 8.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 (218) hide show
  1. package/coverage/clover.xml +1070 -0
  2. package/coverage/coverage-final.json +60 -0
  3. package/coverage/lcov-report/ChartEmptyState/ChartEmptyState.tsx.html +679 -0
  4. package/coverage/lcov-report/ChartEmptyState/index.html +146 -0
  5. package/coverage/lcov-report/ChartEmptyState/index.ts.html +91 -0
  6. package/coverage/lcov-report/ChartEmptyState/styles.ts.html +184 -0
  7. package/coverage/lcov-report/HorizontalBarChart/HorizontalBarChart.tsx.html +775 -0
  8. package/coverage/lcov-report/HorizontalBarChart/HorizontalBarChartAxisBottom.tsx.html +259 -0
  9. package/coverage/lcov-report/HorizontalBarChart/HorizontalBarChartBar.tsx.html +421 -0
  10. package/coverage/lcov-report/HorizontalBarChart/index.html +191 -0
  11. package/coverage/lcov-report/HorizontalBarChart/index.ts.html +94 -0
  12. package/coverage/lcov-report/HorizontalBarChart/styles.ts.html +451 -0
  13. package/coverage/lcov-report/HorizontalBarChart/types.ts.html +433 -0
  14. package/coverage/lcov-report/PieChart/PieChart.tsx.html +1105 -0
  15. package/coverage/lcov-report/PieChart/PieChartArc.tsx.html +412 -0
  16. package/coverage/lcov-report/PieChart/index.html +176 -0
  17. package/coverage/lcov-report/PieChart/index.ts.html +94 -0
  18. package/coverage/lcov-report/PieChart/styles.ts.html +616 -0
  19. package/coverage/lcov-report/PieChart/types.ts.html +472 -0
  20. package/coverage/lcov-report/PieChart.tsx.html +1045 -0
  21. package/coverage/lcov-report/PieChartArc.tsx.html +271 -0
  22. package/coverage/lcov-report/StaticPieChart.tsx.html +286 -0
  23. package/coverage/lcov-report/base.css +224 -0
  24. package/coverage/lcov-report/block-navigation.js +87 -0
  25. package/coverage/lcov-report/components/Arc/Arc.tsx.html +304 -0
  26. package/coverage/lcov-report/components/Arc/index.html +146 -0
  27. package/coverage/lcov-report/components/Arc/index.ts.html +94 -0
  28. package/coverage/lcov-report/components/Arc/styles.ts.html +208 -0
  29. package/coverage/lcov-report/components/Arcs/Arcs.tsx.html +427 -0
  30. package/coverage/lcov-report/components/Arcs/index.html +146 -0
  31. package/coverage/lcov-report/components/Arcs/index.ts.html +94 -0
  32. package/coverage/lcov-report/components/Arcs/styles.ts.html +106 -0
  33. package/coverage/lcov-report/components/Axis/Axis.tsx.html +754 -0
  34. package/coverage/lcov-report/components/Axis/computeTicks.ts.html +481 -0
  35. package/coverage/lcov-report/components/Axis/index.html +176 -0
  36. package/coverage/lcov-report/components/Axis/index.ts.html +94 -0
  37. package/coverage/lcov-report/components/Axis/styles.ts.html +148 -0
  38. package/coverage/lcov-report/components/Axis/types.ts.html +253 -0
  39. package/coverage/lcov-report/components/Bar/Bar.tsx.html +421 -0
  40. package/coverage/lcov-report/components/Bar/index.html +161 -0
  41. package/coverage/lcov-report/components/Bar/index.ts.html +94 -0
  42. package/coverage/lcov-report/components/Bar/styles.ts.html +247 -0
  43. package/coverage/lcov-report/components/Bar/types.ts.html +178 -0
  44. package/coverage/lcov-report/components/BarChart/BarChart.tsx.html +355 -0
  45. package/coverage/lcov-report/components/BarChart/EmptyBarChart.tsx.html +259 -0
  46. package/coverage/lcov-report/components/BarChart/LoadingBarChart.tsx.html +145 -0
  47. package/coverage/lcov-report/components/BarChart/RenderedBarChart.tsx.html +496 -0
  48. package/coverage/lcov-report/components/BarChart/index.html +206 -0
  49. package/coverage/lcov-report/components/BarChart/index.ts.html +94 -0
  50. package/coverage/lcov-report/components/BarChart/styles.ts.html +190 -0
  51. package/coverage/lcov-report/components/BarChart/utils.ts.html +145 -0
  52. package/coverage/lcov-report/components/ChartContainer/ChartContainer.tsx.html +433 -0
  53. package/coverage/lcov-report/components/ChartContainer/index.html +146 -0
  54. package/coverage/lcov-report/components/ChartContainer/index.ts.html +94 -0
  55. package/coverage/lcov-report/components/ChartContainer/intl/index.html +116 -0
  56. package/coverage/lcov-report/components/ChartContainer/intl/index.ts.html +106 -0
  57. package/coverage/lcov-report/components/ChartContainer/styles.ts.html +211 -0
  58. package/coverage/lcov-report/components/DataPoint/DataPoint.tsx.html +442 -0
  59. package/coverage/lcov-report/components/DataPoint/index.html +146 -0
  60. package/coverage/lcov-report/components/DataPoint/index.ts.html +94 -0
  61. package/coverage/lcov-report/components/DataPoint/styles.ts.html +109 -0
  62. package/coverage/lcov-report/components/Dot/Dot.tsx.html +232 -0
  63. package/coverage/lcov-report/components/Dot/index.html +146 -0
  64. package/coverage/lcov-report/components/Dot/index.ts.html +94 -0
  65. package/coverage/lcov-report/components/Dot/styles.ts.html +184 -0
  66. package/coverage/lcov-report/components/Legend/Legend.tsx.html +268 -0
  67. package/coverage/lcov-report/components/Legend/index.html +146 -0
  68. package/coverage/lcov-report/components/Legend/index.ts.html +94 -0
  69. package/coverage/lcov-report/components/Legend/styles.ts.html +130 -0
  70. package/coverage/lcov-report/components/LegendItem/LegendItem.tsx.html +403 -0
  71. package/coverage/lcov-report/components/LegendItem/index.html +146 -0
  72. package/coverage/lcov-report/components/LegendItem/index.ts.html +94 -0
  73. package/coverage/lcov-report/components/LegendItem/styles.ts.html +205 -0
  74. package/coverage/lcov-report/components/PieChart/EmptyPieChart.tsx.html +343 -0
  75. package/coverage/lcov-report/components/PieChart/LoadingPieChart.tsx.html +145 -0
  76. package/coverage/lcov-report/components/PieChart/PieChart.tsx.html +388 -0
  77. package/coverage/lcov-report/components/PieChart/RenderedPieChart.tsx.html +571 -0
  78. package/coverage/lcov-report/components/PieChart/index.html +221 -0
  79. package/coverage/lcov-report/components/PieChart/index.ts.html +94 -0
  80. package/coverage/lcov-report/components/PieChart/styles.ts.html +376 -0
  81. package/coverage/lcov-report/components/PieChart/types.ts.html +352 -0
  82. package/coverage/lcov-report/components/PieChart/utils.ts.html +199 -0
  83. package/coverage/lcov-report/components/ScatterPlot/EmptyScatterPlot.tsx.html +295 -0
  84. package/coverage/lcov-report/components/ScatterPlot/LoadingScatterPlot.tsx.html +145 -0
  85. package/coverage/lcov-report/components/ScatterPlot/RenderedScatterPlot.tsx.html +910 -0
  86. package/coverage/lcov-report/components/ScatterPlot/ScatterPlot.tsx.html +379 -0
  87. package/coverage/lcov-report/components/ScatterPlot/index.html +221 -0
  88. package/coverage/lcov-report/components/ScatterPlot/index.ts.html +94 -0
  89. package/coverage/lcov-report/components/ScatterPlot/styles.ts.html +196 -0
  90. package/coverage/lcov-report/components/ScatterPlot/types.ts.html +376 -0
  91. package/coverage/lcov-report/components/ScatterPlot/utils.ts.html +388 -0
  92. package/coverage/lcov-report/favicon.png +0 -0
  93. package/coverage/lcov-report/hooks/index.html +176 -0
  94. package/coverage/lcov-report/hooks/index.ts.html +97 -0
  95. package/coverage/lcov-report/hooks/useBrush.tsx.html +430 -0
  96. package/coverage/lcov-report/hooks/useColor.tsx.html +163 -0
  97. package/coverage/lcov-report/hooks/useFormatCategoricalData.tsx.html +289 -0
  98. package/coverage/lcov-report/hooks/useZoom.tsx.html +235 -0
  99. package/coverage/lcov-report/index.html +311 -0
  100. package/coverage/lcov-report/index.ts.html +94 -0
  101. package/coverage/lcov-report/prettify.css +1 -0
  102. package/coverage/lcov-report/prettify.js +2 -0
  103. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  104. package/coverage/lcov-report/sorter.js +196 -0
  105. package/coverage/lcov-report/styles.ts.html +631 -0
  106. package/coverage/lcov-report/types.ts.html +457 -0
  107. package/coverage/lcov.info +2272 -0
  108. package/dist/index.js +6326 -0
  109. package/dist/index.js.map +1 -0
  110. package/dist/package.json +98 -0
  111. package/index.ts +1 -0
  112. package/jest.config.js +3 -0
  113. package/package.json +2 -3
  114. package/rollup.config.js +13 -0
  115. package/src/components/Arc/Arc.test.tsx +92 -0
  116. package/src/components/Arc/Arc.tsx +73 -0
  117. package/src/components/Arc/index.ts +3 -0
  118. package/src/components/Arc/styles.ts +41 -0
  119. package/src/components/Arc/types.ts +18 -0
  120. package/src/components/Arcs/Arcs.stories.tsx +177 -0
  121. package/src/components/Arcs/Arcs.tsx +114 -0
  122. package/src/components/Arcs/index.ts +3 -0
  123. package/src/components/Arcs/styles.ts +7 -0
  124. package/src/components/Arcs/types.ts +26 -0
  125. package/src/components/Axis/Axis.stories.tsx +297 -0
  126. package/src/components/Axis/Axis.tsx +223 -0
  127. package/src/components/Axis/computeTicks.ts +132 -0
  128. package/src/components/Axis/index.ts +3 -0
  129. package/src/components/Axis/styles.ts +21 -0
  130. package/src/components/Axis/types.ts +56 -0
  131. package/src/components/Bar/Bar.stories.tsx +152 -0
  132. package/src/components/Bar/Bar.test.tsx +158 -0
  133. package/src/components/Bar/Bar.tsx +112 -0
  134. package/src/components/Bar/index.ts +3 -0
  135. package/src/components/Bar/styles.ts +54 -0
  136. package/src/components/Bar/types.ts +31 -0
  137. package/src/components/BarChart/BarChart.stories.tsx +80 -0
  138. package/src/components/BarChart/BarChart.test.tsx +189 -0
  139. package/src/components/BarChart/BarChart.tsx +90 -0
  140. package/src/components/BarChart/EmptyBarChart.tsx +58 -0
  141. package/src/components/BarChart/LoadingBarChart.tsx +20 -0
  142. package/src/components/BarChart/RenderedBarChart.tsx +137 -0
  143. package/src/components/BarChart/__snapshots__/BarChart.test.tsx.snap +6932 -0
  144. package/src/components/BarChart/index.ts +3 -0
  145. package/src/components/BarChart/styles.ts +35 -0
  146. package/src/components/BarChart/types.ts +58 -0
  147. package/src/components/BarChart/utils.ts +20 -0
  148. package/src/components/ChartContainer/ChartContainer.stories.tsx +81 -0
  149. package/src/components/ChartContainer/ChartContainer.test.tsx +75 -0
  150. package/src/components/ChartContainer/ChartContainer.tsx +116 -0
  151. package/src/components/ChartContainer/index.ts +3 -0
  152. package/src/components/ChartContainer/intl/en-US.json +3 -0
  153. package/src/components/ChartContainer/intl/fr-FR.json +3 -0
  154. package/src/components/ChartContainer/intl/index.ts +7 -0
  155. package/src/components/ChartContainer/styles.ts +42 -0
  156. package/src/components/ChartContainer/types.ts +24 -0
  157. package/src/components/DataPoint/DataPoint.tsx +119 -0
  158. package/src/components/DataPoint/index.ts +3 -0
  159. package/src/components/DataPoint/styles.ts +8 -0
  160. package/src/components/DataPoint/types.ts +33 -0
  161. package/src/components/Dot/Dot.stories.tsx +157 -0
  162. package/src/components/Dot/Dot.test.tsx +136 -0
  163. package/src/components/Dot/Dot.tsx +49 -0
  164. package/src/components/Dot/index.ts +3 -0
  165. package/src/components/Dot/styles.ts +33 -0
  166. package/src/components/Dot/types.ts +16 -0
  167. package/src/components/Legend/Legend.stories.tsx +108 -0
  168. package/src/components/Legend/Legend.tsx +61 -0
  169. package/src/components/Legend/index.ts +3 -0
  170. package/src/components/Legend/styles.ts +15 -0
  171. package/src/components/Legend/types.ts +27 -0
  172. package/src/components/LegendItem/LegendItem.test.tsx +69 -0
  173. package/src/components/LegendItem/LegendItem.tsx +106 -0
  174. package/src/components/LegendItem/index.ts +3 -0
  175. package/src/components/LegendItem/styles.ts +40 -0
  176. package/src/components/LegendItem/types.ts +30 -0
  177. package/src/components/PieChart/EmptyPieChart.tsx +86 -0
  178. package/src/components/PieChart/LoadingPieChart.tsx +20 -0
  179. package/src/components/PieChart/PieChart.stories.tsx +91 -0
  180. package/src/components/PieChart/PieChart.test.tsx +201 -0
  181. package/src/components/PieChart/PieChart.tsx +101 -0
  182. package/src/components/PieChart/RenderedPieChart.tsx +162 -0
  183. package/src/components/PieChart/__snapshots__/PieChart.stories.storyshot +7843 -0
  184. package/src/components/PieChart/__snapshots__/PieChart.test.tsx.snap +20540 -0
  185. package/src/components/PieChart/index.ts +3 -0
  186. package/src/components/PieChart/styles.ts +97 -0
  187. package/src/components/PieChart/types.ts +89 -0
  188. package/src/components/PieChart/utils.ts +38 -0
  189. package/src/components/ScatterPlot/EmptyScatterPlot.tsx +70 -0
  190. package/src/components/ScatterPlot/LoadingScatterPlot.tsx +20 -0
  191. package/src/components/ScatterPlot/RenderedScatterPlot.tsx +275 -0
  192. package/src/components/ScatterPlot/ScatterPlot.stories.tsx +95 -0
  193. package/src/components/ScatterPlot/ScatterPlot.test.tsx +44 -0
  194. package/src/components/ScatterPlot/ScatterPlot.tsx +98 -0
  195. package/src/components/ScatterPlot/__snapshots__/ScatterPlot.test.tsx.snap +88352 -0
  196. package/src/components/ScatterPlot/index.ts +3 -0
  197. package/src/components/ScatterPlot/styles.ts +37 -0
  198. package/src/components/ScatterPlot/types.ts +97 -0
  199. package/src/components/ScatterPlot/utils.ts +101 -0
  200. package/src/config.ts +10 -0
  201. package/src/hooks/index.ts +4 -0
  202. package/src/hooks/useBrush.tsx +115 -0
  203. package/src/hooks/useColor.tsx +26 -0
  204. package/src/hooks/useFormatCategoricalData.tsx +68 -0
  205. package/src/hooks/useZoom.tsx +50 -0
  206. package/src/index.ts +15 -0
  207. package/src/scheme.ts +221 -0
  208. package/src/types/data.ts +52 -0
  209. package/src/types/index.ts +5 -0
  210. package/src/types/legend.ts +19 -0
  211. package/src/types/scale.ts +79 -0
  212. package/src/types/size.ts +17 -0
  213. package/src/types/theme.ts +27 -0
  214. package/tsconfig.json +3 -0
  215. package/index.js +0 -2606
  216. package/index.js.map +0 -1
  217. /package/{CONTRIBUTING.md → dist/CONTRIBUTING.md} +0 -0
  218. /package/{index.d.ts → dist/index.d.ts} +0 -0
package/src/scheme.ts ADDED
@@ -0,0 +1,221 @@
1
+ import {
2
+ scaleOrdinal as d3scaleOrdinal,
3
+ ScaleOrdinal as d3ScaleOrdinal,
4
+ } from 'd3';
5
+ import { ChartTheme } from './types';
6
+
7
+ import {
8
+ RedsiftDataVizColorAquaDark,
9
+ RedsiftDataVizColorAquaDarker,
10
+ RedsiftDataVizColorAquaDarkerer,
11
+ RedsiftDataVizColorAquaDefault,
12
+ RedsiftDataVizColorAquaLight,
13
+ RedsiftDataVizColorAquaLighter,
14
+ RedsiftDataVizColorAquaLighterer,
15
+ RedsiftDataVizColorBlueDark,
16
+ RedsiftDataVizColorBlueDarker,
17
+ RedsiftDataVizColorBlueDarkerer,
18
+ RedsiftDataVizColorBlueDefault,
19
+ RedsiftDataVizColorBlueLight,
20
+ RedsiftDataVizColorBlueLighter,
21
+ RedsiftDataVizColorBlueLighterer,
22
+ RedsiftDataVizColorBrownDark,
23
+ RedsiftDataVizColorBrownDarker,
24
+ RedsiftDataVizColorBrownDarkerer,
25
+ RedsiftDataVizColorBrownDefault,
26
+ RedsiftDataVizColorBrownLight,
27
+ RedsiftDataVizColorBrownLighter,
28
+ RedsiftDataVizColorBrownLighterer,
29
+ RedsiftDataVizColorGreenDark,
30
+ RedsiftDataVizColorGreenDarker,
31
+ RedsiftDataVizColorGreenDarkerer,
32
+ RedsiftDataVizColorGreenDefault,
33
+ RedsiftDataVizColorGreenLight,
34
+ RedsiftDataVizColorGreenLighter,
35
+ RedsiftDataVizColorGreenLighterer,
36
+ RedsiftDataVizColorGreyDark,
37
+ RedsiftDataVizColorGreyDarker,
38
+ RedsiftDataVizColorGreyDarkerer,
39
+ RedsiftDataVizColorGreyDefault,
40
+ RedsiftDataVizColorGreyLight,
41
+ RedsiftDataVizColorGreyLighter,
42
+ RedsiftDataVizColorGreyLighterer,
43
+ RedsiftDataVizColorOrangeDark,
44
+ RedsiftDataVizColorOrangeDarker,
45
+ RedsiftDataVizColorOrangeDarkerer,
46
+ RedsiftDataVizColorOrangeDefault,
47
+ RedsiftDataVizColorOrangeLight,
48
+ RedsiftDataVizColorOrangeLighter,
49
+ RedsiftDataVizColorOrangeLighterer,
50
+ RedsiftDataVizColorPinkDark,
51
+ RedsiftDataVizColorPinkDarker,
52
+ RedsiftDataVizColorPinkDarkerer,
53
+ RedsiftDataVizColorPinkDefault,
54
+ RedsiftDataVizColorPinkLight,
55
+ RedsiftDataVizColorPinkLighter,
56
+ RedsiftDataVizColorPinkLighterer,
57
+ RedsiftDataVizColorPurpleDark,
58
+ RedsiftDataVizColorPurpleDarker,
59
+ RedsiftDataVizColorPurpleDarkerer,
60
+ RedsiftDataVizColorPurpleDefault,
61
+ RedsiftDataVizColorPurpleLight,
62
+ RedsiftDataVizColorPurpleLighter,
63
+ RedsiftDataVizColorPurpleLighterer,
64
+ RedsiftDataVizColorRedDark,
65
+ RedsiftDataVizColorRedDarker,
66
+ RedsiftDataVizColorRedDarkerer,
67
+ RedsiftDataVizColorRedDefault,
68
+ RedsiftDataVizColorRedLight,
69
+ RedsiftDataVizColorRedLighter,
70
+ RedsiftDataVizColorRedLighterer,
71
+ RedsiftDataVizColorYellowDark,
72
+ RedsiftDataVizColorYellowDarker,
73
+ RedsiftDataVizColorYellowDarkerer,
74
+ RedsiftDataVizColorYellowDefault,
75
+ RedsiftDataVizColorYellowLight,
76
+ RedsiftDataVizColorYellowLighter,
77
+ RedsiftDataVizColorYellowLighterer,
78
+ } from '@redsift/design-system';
79
+
80
+ export const monochrome = RedsiftDataVizColorBlueDefault;
81
+ export const empty = RedsiftDataVizColorGreyDark;
82
+
83
+ export const scheme = {
84
+ default: [
85
+ RedsiftDataVizColorGreenDefault,
86
+ RedsiftDataVizColorPinkDefault,
87
+ RedsiftDataVizColorAquaDefault,
88
+ RedsiftDataVizColorBrownDefault,
89
+ RedsiftDataVizColorRedDefault,
90
+ RedsiftDataVizColorYellowDefault,
91
+ RedsiftDataVizColorPurpleDefault,
92
+ RedsiftDataVizColorOrangeDefault,
93
+ RedsiftDataVizColorBlueDefault,
94
+ RedsiftDataVizColorGreyDefault,
95
+ ],
96
+ dark: [
97
+ RedsiftDataVizColorGreenDark,
98
+ RedsiftDataVizColorPinkDark,
99
+ RedsiftDataVizColorAquaDark,
100
+ RedsiftDataVizColorBrownDark,
101
+ RedsiftDataVizColorRedDark,
102
+ RedsiftDataVizColorYellowDark,
103
+ RedsiftDataVizColorPurpleDark,
104
+ RedsiftDataVizColorOrangeDark,
105
+ RedsiftDataVizColorBlueDark,
106
+ RedsiftDataVizColorGreyDark,
107
+ ],
108
+ darker: [
109
+ RedsiftDataVizColorGreenDarker,
110
+ RedsiftDataVizColorPinkDarker,
111
+ RedsiftDataVizColorAquaDarker,
112
+ RedsiftDataVizColorBrownDarker,
113
+ RedsiftDataVizColorRedDarker,
114
+ RedsiftDataVizColorYellowDarker,
115
+ RedsiftDataVizColorPurpleDarker,
116
+ RedsiftDataVizColorOrangeDarker,
117
+ RedsiftDataVizColorBlueDarker,
118
+ RedsiftDataVizColorGreyDarker,
119
+ ],
120
+ darkerer: [
121
+ RedsiftDataVizColorGreenDarkerer,
122
+ RedsiftDataVizColorPinkDarkerer,
123
+ RedsiftDataVizColorAquaDarkerer,
124
+ RedsiftDataVizColorBrownDarkerer,
125
+ RedsiftDataVizColorRedDarkerer,
126
+ RedsiftDataVizColorYellowDarkerer,
127
+ RedsiftDataVizColorPurpleDarkerer,
128
+ RedsiftDataVizColorOrangeDarkerer,
129
+ RedsiftDataVizColorBlueDarkerer,
130
+ RedsiftDataVizColorGreyDarkerer,
131
+ ],
132
+ light: [
133
+ RedsiftDataVizColorGreenLight,
134
+ RedsiftDataVizColorPinkLight,
135
+ RedsiftDataVizColorAquaLight,
136
+ RedsiftDataVizColorBrownLight,
137
+ RedsiftDataVizColorRedLight,
138
+ RedsiftDataVizColorYellowLight,
139
+ RedsiftDataVizColorPurpleLight,
140
+ RedsiftDataVizColorOrangeLight,
141
+ RedsiftDataVizColorBlueLight,
142
+ RedsiftDataVizColorGreyLight,
143
+ ],
144
+ lighter: [
145
+ RedsiftDataVizColorGreenLighter,
146
+ RedsiftDataVizColorPinkLighter,
147
+ RedsiftDataVizColorAquaLighter,
148
+ RedsiftDataVizColorBrownLighter,
149
+ RedsiftDataVizColorRedLighter,
150
+ RedsiftDataVizColorYellowLighter,
151
+ RedsiftDataVizColorPurpleLighter,
152
+ RedsiftDataVizColorOrangeLighter,
153
+ RedsiftDataVizColorBlueLighter,
154
+ RedsiftDataVizColorGreyLighter,
155
+ ],
156
+ lighterer: [
157
+ RedsiftDataVizColorGreenLighterer,
158
+ RedsiftDataVizColorPinkLighterer,
159
+ RedsiftDataVizColorAquaLighterer,
160
+ RedsiftDataVizColorBrownLighterer,
161
+ RedsiftDataVizColorRedLighterer,
162
+ RedsiftDataVizColorYellowLighterer,
163
+ RedsiftDataVizColorPurpleLighterer,
164
+ RedsiftDataVizColorOrangeLighterer,
165
+ RedsiftDataVizColorBlueLighterer,
166
+ RedsiftDataVizColorGreyLighterer,
167
+ ],
168
+ monochrome: [monochrome],
169
+ empty: [empty],
170
+ };
171
+
172
+ export const successDangerScheme = {
173
+ success: RedsiftDataVizColorGreenDefault,
174
+ warning: RedsiftDataVizColorOrangeDefault,
175
+ danger: RedsiftDataVizColorRedDefault,
176
+ neutral: RedsiftDataVizColorGreyDefault,
177
+ };
178
+
179
+ export const getColorScale = (
180
+ theme: ChartTheme,
181
+ domain?: string[],
182
+ isEmpty?: boolean
183
+ ): d3ScaleOrdinal<string, string> => {
184
+ let d3colors = d3scaleOrdinal(scheme.default);
185
+ if (isEmpty) {
186
+ d3colors = d3scaleOrdinal(scheme.empty);
187
+ } else if (typeof theme === 'string') {
188
+ d3colors = d3scaleOrdinal()
189
+ .domain(domain!)
190
+ .range(scheme[theme])
191
+ .unknown(monochrome) as d3ScaleOrdinal<string, string>;
192
+ } else if (typeof theme === 'object') {
193
+ if (
194
+ Object.keys(theme).includes('success') &&
195
+ Object.keys(theme).includes('danger') &&
196
+ Object.keys(theme).includes('warning')
197
+ ) {
198
+ d3colors = d3scaleOrdinal()
199
+ .domain([
200
+ theme.success,
201
+ theme.warning,
202
+ theme.danger,
203
+ ...(theme.neutral ? [theme.neutral] : []),
204
+ ])
205
+ .range([
206
+ successDangerScheme.success,
207
+ successDangerScheme.warning,
208
+ successDangerScheme.danger,
209
+ ...(theme.neutral ? [successDangerScheme.neutral] : []),
210
+ ])
211
+ .unknown(monochrome) as d3ScaleOrdinal<string, string>;
212
+ } else {
213
+ d3colors = d3scaleOrdinal()
214
+ .domain(Object.keys(theme))
215
+ .range(Object.values(theme))
216
+ .unknown(monochrome) as d3ScaleOrdinal<string, string>;
217
+ }
218
+ }
219
+
220
+ return d3colors;
221
+ };
@@ -0,0 +1,52 @@
1
+ import { PieArcDatum as d3PieArcDatum } from 'd3-shape';
2
+
3
+ export type JSONValue =
4
+ | string
5
+ | number
6
+ | boolean
7
+ | { [x: string]: JSONValue }
8
+ | Array<JSONValue>
9
+ | undefined
10
+ | null;
11
+
12
+ export type JSONObject = { [x: string]: JSONValue };
13
+
14
+ export type JSONArray = Array<JSONObject>;
15
+
16
+ export type Datum<T> = {
17
+ key: T;
18
+ value: number;
19
+ percent?: number;
20
+ };
21
+
22
+ export type CategoryDim = string;
23
+ export type CoordinatesCategoryDim = [
24
+ number,
25
+ number,
26
+ string | undefined | null
27
+ ];
28
+
29
+ export type CategoryDatum = Datum<CategoryDim>;
30
+ export type CoordinatesCategoryDatum = Datum<CoordinatesCategoryDim>;
31
+
32
+ export type CategoryData = CategoryDatum[];
33
+ export type CoordinatesCategoryData = CoordinatesCategoryDatum[];
34
+
35
+ export type ArcDatum = d3PieArcDatum<CategoryDatum>;
36
+
37
+ export type BarDatum = {
38
+ data: CategoryDatum;
39
+ height?: number;
40
+ width?: number;
41
+ };
42
+
43
+ export type DotDatum = {
44
+ data: CoordinatesCategoryDatum;
45
+ x: number;
46
+ y: number;
47
+ r: number;
48
+ };
49
+
50
+ export type LegendItemDatum = {
51
+ data: CategoryDatum;
52
+ };
@@ -0,0 +1,5 @@
1
+ export * from './data';
2
+ export * from './legend';
3
+ export * from './scale';
4
+ export * from './size';
5
+ export * from './theme';
@@ -0,0 +1,19 @@
1
+ import { ValueOf } from '@redsift/design-system';
2
+
3
+ /** TOOLTIP */
4
+
5
+ export const TooltipVariant = {
6
+ none: 'none',
7
+ label: 'label',
8
+ value: 'value',
9
+ percent: 'percent',
10
+ };
11
+ export type TooltipVariant = ValueOf<typeof TooltipVariant>;
12
+
13
+ /** LEGEND */
14
+ export const LabelVariant = {
15
+ label: 'label',
16
+ value: 'value',
17
+ percent: 'percent',
18
+ } as const;
19
+ export type LabelVariant = ValueOf<typeof LabelVariant>;
@@ -0,0 +1,79 @@
1
+ import {
2
+ ScaleLinear as d3ScaleLinear,
3
+ ScalePoint as d3ScalePoint,
4
+ ScaleBand as d3ScaleBand,
5
+ ScaleLogarithmic as d3ScaleLogarithmic,
6
+ ScaleSymLog as d3ScaleSymLog,
7
+ ScaleTime as d3ScaleTime,
8
+ } from 'd3-scale';
9
+
10
+ export type Coordinates = {
11
+ x: number;
12
+ y: number;
13
+ };
14
+
15
+ export type NumericValue = { valueOf(): number };
16
+
17
+ export type StringValue = { toString(): string };
18
+
19
+ export type ScaleValue = NumericValue | StringValue | Date;
20
+
21
+ export interface ScaleLinear<Output>
22
+ extends d3ScaleLinear<number, Output, never> {
23
+ type: 'linear';
24
+ // default to `false`
25
+ stacked: boolean;
26
+ }
27
+
28
+ export interface ScaleLog extends d3ScaleLogarithmic<number, number> {
29
+ type: 'log';
30
+ }
31
+
32
+ export interface ScaleSymlog extends d3ScaleSymLog<number, number> {
33
+ type: 'symlog';
34
+ }
35
+
36
+ export interface ScalePoint<Input extends StringValue>
37
+ extends d3ScalePoint<Input> {
38
+ type: 'point';
39
+ }
40
+
41
+ export interface ScaleBand<Input extends StringValue>
42
+ extends d3ScaleBand<Input> {
43
+ type: 'band';
44
+ }
45
+
46
+ export interface ScaleTime<Input> extends d3ScaleTime<Input, number> {
47
+ type: 'time';
48
+ useUTC: boolean;
49
+ }
50
+
51
+ export interface ScaleTypeToScale<Input, Output> {
52
+ linear: Input extends NumericValue ? ScaleLinear<Output> : never;
53
+ log: Input extends NumericValue ? ScaleLog : never;
54
+ symlog: Input extends NumericValue ? ScaleSymlog : never;
55
+ point: Input extends StringValue ? ScalePoint<Input> : never;
56
+ band: Input extends StringValue ? ScaleBand<Input> : never;
57
+ time: Input extends StringValue | Date ? ScaleTime<Input> : never;
58
+ }
59
+
60
+ export type Scale<Input, Output> = ScaleTypeToScale<
61
+ Input,
62
+ Output
63
+ >[keyof ScaleTypeToScale<Input, Output>];
64
+
65
+ export type AnyScale = Scale<any, any>;
66
+
67
+ export type ScaleWithBandwidth = ScaleBand<any> | ScalePoint<any>;
68
+
69
+ export type TicksSpec =
70
+ // exact number of ticks, please note that
71
+ // depending on the current range of values,
72
+ // you might not get this exact count
73
+ | number
74
+ // string is used for Date based scales,
75
+ // it can express a time interval,
76
+ // for example: every 2 weeks
77
+ | string
78
+ // override scale ticks with custom explicit values
79
+ | ScaleValue[];
@@ -0,0 +1,17 @@
1
+ import { ValueOf } from '@redsift/design-system';
2
+
3
+ export type ChartDimensions = {
4
+ width: number;
5
+ height: number;
6
+ marginTop?: number;
7
+ marginRight?: number;
8
+ marginBottom?: number;
9
+ marginLeft?: number;
10
+ };
11
+
12
+ export const ChartSize = {
13
+ small: 'small',
14
+ medium: 'medium',
15
+ large: 'large',
16
+ } as const;
17
+ export type ChartSize = ValueOf<typeof ChartSize>;
@@ -0,0 +1,27 @@
1
+ import { ValueOf } from '@redsift/design-system';
2
+
3
+ export const ColorTheme = {
4
+ default: 'default',
5
+ dark: 'dark',
6
+ darker: 'darker',
7
+ darkerer: 'darkerer',
8
+ light: 'light',
9
+ lighter: 'lighter',
10
+ lighterer: 'lighterer',
11
+ monochrome: 'monochrome',
12
+ } as const;
13
+ export type ColorTheme = ValueOf<typeof ColorTheme>;
14
+
15
+ export type SuccessDangerColorTheme = {
16
+ success: string;
17
+ warning: string;
18
+ danger: string;
19
+ neutral?: string;
20
+ };
21
+
22
+ export type CustomColorTheme = Record<string, string>;
23
+
24
+ export type ChartTheme =
25
+ | ColorTheme
26
+ | SuccessDangerColorTheme
27
+ | CustomColorTheme;
package/tsconfig.json ADDED
@@ -0,0 +1,3 @@
1
+ {
2
+ "extends": "../../tsconfig"
3
+ }