@pie-lib/charting 5.36.3-next.2 → 5.36.3-next.203

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 (117) hide show
  1. package/CHANGELOG.md +24 -87
  2. package/lib/actions-button.js +60 -90
  3. package/lib/actions-button.js.map +1 -1
  4. package/lib/axes.js +162 -238
  5. package/lib/axes.js.map +1 -1
  6. package/lib/bars/bar.js +13 -41
  7. package/lib/bars/bar.js.map +1 -1
  8. package/lib/bars/common/bars.js +61 -137
  9. package/lib/bars/common/bars.js.map +1 -1
  10. package/lib/bars/common/correct-check-icon.js +5 -6
  11. package/lib/bars/common/correct-check-icon.js.map +1 -1
  12. package/lib/bars/histogram.js +13 -41
  13. package/lib/bars/histogram.js.map +1 -1
  14. package/lib/chart-setup.js +119 -195
  15. package/lib/chart-setup.js.map +1 -1
  16. package/lib/chart-type.js +52 -43
  17. package/lib/chart-type.js.map +1 -1
  18. package/lib/chart-types.js +1 -10
  19. package/lib/chart-types.js.map +1 -1
  20. package/lib/chart.js +73 -151
  21. package/lib/chart.js.map +1 -1
  22. package/lib/common/correctness-indicators.js +109 -52
  23. package/lib/common/correctness-indicators.js.map +1 -1
  24. package/lib/common/drag-handle.js +65 -108
  25. package/lib/common/drag-handle.js.map +1 -1
  26. package/lib/common/drag-icon.js +12 -12
  27. package/lib/common/drag-icon.js.map +1 -1
  28. package/lib/common/styles.js +6 -24
  29. package/lib/common/styles.js.map +1 -1
  30. package/lib/grid.js +43 -83
  31. package/lib/grid.js.map +1 -1
  32. package/lib/index.js +0 -6
  33. package/lib/index.js.map +1 -1
  34. package/lib/key-legend.js +63 -87
  35. package/lib/key-legend.js.map +1 -1
  36. package/lib/line/common/drag-handle.js +72 -100
  37. package/lib/line/common/drag-handle.js.map +1 -1
  38. package/lib/line/common/line.js +50 -96
  39. package/lib/line/common/line.js.map +1 -1
  40. package/lib/line/line-cross.js +79 -89
  41. package/lib/line/line-cross.js.map +1 -1
  42. package/lib/line/line-dot.js +58 -76
  43. package/lib/line/line-dot.js.map +1 -1
  44. package/lib/mark-label.js +84 -119
  45. package/lib/mark-label.js.map +1 -1
  46. package/lib/plot/common/plot.js +90 -148
  47. package/lib/plot/common/plot.js.map +1 -1
  48. package/lib/plot/dot.js +32 -58
  49. package/lib/plot/dot.js.map +1 -1
  50. package/lib/plot/line.js +39 -64
  51. package/lib/plot/line.js.map +1 -1
  52. package/lib/tool-menu.js +47 -83
  53. package/lib/tool-menu.js.map +1 -1
  54. package/lib/utils.js +31 -86
  55. package/lib/utils.js.map +1 -1
  56. package/package.json +22 -24
  57. package/src/__tests__/axes.test.jsx +85 -100
  58. package/src/__tests__/chart-type.test.jsx +5 -11
  59. package/src/__tests__/chart.test.jsx +41 -50
  60. package/src/__tests__/grid.test.jsx +23 -11
  61. package/src/__tests__/mark-label.test.jsx +13 -11
  62. package/src/__tests__/utils.js +8 -2
  63. package/src/actions-button.jsx +44 -39
  64. package/src/axes.jsx +67 -81
  65. package/src/bars/__tests__/bar.test.jsx +19 -11
  66. package/src/bars/__tests__/histogram.test.jsx +19 -12
  67. package/src/bars/common/__tests__/bars.test.jsx +23 -24
  68. package/src/bars/common/bars.jsx +42 -69
  69. package/src/bars/common/correct-check-icon.jsx +5 -0
  70. package/src/chart-setup.jsx +75 -88
  71. package/src/chart-type.js +45 -22
  72. package/src/chart.jsx +19 -34
  73. package/src/common/__tests__/drag-handle.test.jsx +16 -45
  74. package/src/common/correctness-indicators.jsx +91 -13
  75. package/src/common/drag-handle.jsx +44 -64
  76. package/src/common/drag-icon.jsx +9 -2
  77. package/src/common/styles.js +1 -1
  78. package/src/grid.jsx +10 -14
  79. package/src/key-legend.jsx +62 -60
  80. package/src/line/__tests__/line-cross.test.jsx +16 -13
  81. package/src/line/__tests__/line-dot.test.jsx +16 -13
  82. package/src/line/__tests__/utils.js +8 -2
  83. package/src/line/common/__tests__/drag-handle.test.jsx +20 -45
  84. package/src/line/common/__tests__/line.test.jsx +27 -30
  85. package/src/line/common/drag-handle.jsx +61 -55
  86. package/src/line/common/line.jsx +21 -11
  87. package/src/line/line-cross.js +39 -14
  88. package/src/line/line-dot.js +27 -32
  89. package/src/mark-label.jsx +51 -47
  90. package/src/plot/__tests__/dot.test.jsx +19 -12
  91. package/src/plot/__tests__/line.test.jsx +19 -12
  92. package/src/plot/common/__tests__/plot.test.jsx +23 -24
  93. package/src/plot/common/plot.jsx +29 -24
  94. package/src/plot/dot.js +11 -4
  95. package/src/plot/line.js +16 -8
  96. package/src/tool-menu.jsx +26 -30
  97. package/src/utils.js +13 -9
  98. package/esm/index.css +0 -847
  99. package/esm/index.js +0 -231130
  100. package/esm/index.js.map +0 -1
  101. package/esm/package.json +0 -3
  102. package/src/__tests__/__snapshots__/axes.test.jsx.snap +0 -569
  103. package/src/__tests__/__snapshots__/chart-type.test.jsx.snap +0 -14
  104. package/src/__tests__/__snapshots__/chart.test.jsx.snap +0 -595
  105. package/src/__tests__/__snapshots__/grid.test.jsx.snap +0 -72
  106. package/src/__tests__/__snapshots__/mark-label.test.jsx.snap +0 -73
  107. package/src/bars/__tests__/__snapshots__/bar.test.jsx.snap +0 -43
  108. package/src/bars/__tests__/__snapshots__/histogram.test.jsx.snap +0 -45
  109. package/src/bars/common/__tests__/__snapshots__/bars.test.jsx.snap +0 -110
  110. package/src/common/__tests__/__snapshots__/drag-handle.test.jsx.snap +0 -48
  111. package/src/line/__tests__/__snapshots__/line-cross.test.jsx.snap +0 -45
  112. package/src/line/__tests__/__snapshots__/line-dot.test.jsx.snap +0 -45
  113. package/src/line/common/__tests__/__snapshots__/drag-handle.test.jsx.snap +0 -49
  114. package/src/line/common/__tests__/__snapshots__/line.test.jsx.snap +0 -143
  115. package/src/plot/__tests__/__snapshots__/dot.test.jsx.snap +0 -45
  116. package/src/plot/__tests__/__snapshots__/line.test.jsx.snap +0 -45
  117. package/src/plot/common/__tests__/__snapshots__/plot.test.jsx.snap +0 -97
package/src/tool-menu.jsx CHANGED
@@ -1,63 +1,59 @@
1
1
  import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
- import classNames from 'classnames';
4
3
  import { color } from '@pie-lib/render-ui';
5
4
 
6
- import { withStyles } from '@material-ui/core/styles';
7
- import cn from 'classnames';
8
- import Button from '@material-ui/core/Button';
5
+ import { styled } from '@mui/material/styles';
6
+ import Button from '@mui/material/Button';
9
7
  import Translator from '@pie-lib/translator';
10
8
 
11
9
  const { translator } = Translator;
12
10
 
13
- const buttonStyles = (theme) => ({
14
- root: {
15
- color: color.text(),
16
- border: `1px solid ${color.secondary()}`,
17
- fontSize: theme.typography.fontSize,
18
- },
19
- selected: {
11
+ const StyledMiniButton = styled(Button)(({ theme, selected, disabled }) => ({
12
+ color: color.text(),
13
+ border: `1px solid ${color.secondary()}`,
14
+ fontSize: theme.typography.fontSize,
15
+ ...(selected && {
20
16
  backgroundColor: color.background(),
21
17
  '& span': {
22
18
  color: color.primaryDark(),
23
19
  },
24
- },
25
- notSelected: {
26
- '& span': {
27
- color: color.primary(),
28
- },
29
- backgroundColor: color.background(),
30
- },
31
- disabled: {
20
+ }),
21
+ ...(!selected &&
22
+ !disabled && {
23
+ '& span': {
24
+ color: color.primary(),
25
+ },
26
+ backgroundColor: color.background(),
27
+ }),
28
+ ...(disabled && {
32
29
  '& span': {
33
30
  color: color.primary(),
34
31
  },
35
32
  backgroundColor: color.disabled(),
36
- },
37
- });
33
+ }),
34
+ }));
35
+
36
+ export const MiniButton = (props) => {
37
+ const { disabled, selected, value, onClick } = props;
38
38
 
39
- export const MiniButton = withStyles(buttonStyles)((props) => {
40
- const { disabled, classes, className, selected, value, onClick } = props;
41
39
  return (
42
- <Button
40
+ <StyledMiniButton
43
41
  size="small"
44
42
  disabled={disabled}
43
+ selected={selected}
45
44
  color={selected ? 'secondary' : 'default'}
46
- className={cn(classes.root, selected && classes.selected, className)}
47
- classes={{ disabled: cn(disabled && classes.disabled) }}
48
45
  value={value}
49
46
  key={value}
50
47
  variant="outlined"
51
48
  onClick={onClick}
52
49
  >
53
50
  {value}
54
- </Button>
51
+ </StyledMiniButton>
55
52
  );
56
- });
53
+ };
57
54
  MiniButton.propTypes = {
58
55
  disabled: PropTypes.bool,
59
56
  className: PropTypes.string,
60
- disabledClassName: PropTypes.string,
61
57
  selected: PropTypes.bool,
62
58
  value: PropTypes.string,
63
59
  onClick: PropTypes.func,
@@ -77,7 +73,7 @@ export class ToolMenu extends React.Component {
77
73
  const { className, disabled, addCategory, language } = this.props;
78
74
 
79
75
  return (
80
- <div className={classNames(className)}>
76
+ <div className={className}>
81
77
  {!disabled && (
82
78
  <MiniButton value={translator.t('charting.addCategory', { lng: language })} onClick={addCategory} />
83
79
  )}
package/src/utils.js CHANGED
@@ -1,4 +1,4 @@
1
- import { scaleBand, scalePoint } from '@vx/scale';
1
+ import { scaleBand, scalePoint } from '@visx/scale';
2
2
  import { utils } from '@pie-lib/plot';
3
3
 
4
4
  export const tickCount = utils.tickCount;
@@ -8,39 +8,43 @@ export const point = utils.point;
8
8
  export const bandKey = (d, index) => `${index}-${d.label || '-'}`;
9
9
 
10
10
  export const dataToXBand = (scaleX, data, width, type) => {
11
+ const chartWidth = width || 400; // fallback
12
+ const domain = data && data.length ? data.map(bandKey) : ['default'];
13
+
11
14
  switch (type) {
12
15
  case 'bar':
13
16
  case 'dotPlot':
14
17
  case 'linePlot':
15
18
  return scaleBand({
16
- rangeRound: [0, width],
17
- domain: data && data.map(bandKey),
19
+ range: [0, chartWidth],
20
+ domain,
18
21
  padding: 0.2,
19
22
  });
20
23
 
21
24
  case 'histogram':
22
25
  return scaleBand({
23
- rangeRound: [0, width],
24
- domain: data && data.map(bandKey),
26
+ range: [0, chartWidth],
27
+ domain,
25
28
  padding: 0,
26
29
  });
27
30
 
28
31
  case 'lineCross':
29
32
  case 'lineDot':
30
33
  return scalePoint({
31
- domain: data && data.map(bandKey),
32
- rangeRound: [0, width],
34
+ domain,
35
+ range: [0, chartWidth],
33
36
  });
34
37
 
35
38
  default:
36
39
  return scaleBand({
37
- range: [0, width],
38
- domain: data && data.map(bandKey),
40
+ range: [0, chartWidth],
41
+ domain,
39
42
  padding: 0,
40
43
  });
41
44
  }
42
45
  };
43
46
 
47
+
44
48
  export const getTickValues = (prop = {}) => {
45
49
  const tickValues = [];
46
50
  let tickVal = prop.min;