@sis-cc/dotstatsuite-visions 7.5.0 → 7.6.2

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.
@@ -40,7 +40,9 @@ var CollapseButtons = function CollapseButtons(props) {
40
40
  } : _props$breakpoint,
41
41
  justify = props.justify,
42
42
  _props$textTransform = props.textTransform,
43
- textTransform = _props$textTransform === undefined ? 'none' : _props$textTransform;
43
+ textTransform = _props$textTransform === undefined ? 'none' : _props$textTransform,
44
+ _props$labelAccessor = props.labelAccessor,
45
+ labelAccessor = _props$labelAccessor === undefined ? R.prop('label') : _props$labelAccessor;
44
46
 
45
47
 
46
48
  var classes = useStyles();
@@ -65,7 +67,8 @@ var CollapseButtons = function CollapseButtons(props) {
65
67
  parentId: parentId,
66
68
  item: item,
67
69
  action: action,
68
- isSecondLevelClikable: isSecondLevelClikable
70
+ isSecondLevelClikable: isSecondLevelClikable,
71
+ labelAccessor: labelAccessor
69
72
  });
70
73
  });
71
74
  };
@@ -155,7 +158,8 @@ CollapseButtons.propTypes = process.env.NODE_ENV !== "production" ? {
155
158
  breakpoint: PropTypes.func,
156
159
  gridButtonsProps: PropTypes.object,
157
160
  justify: PropTypes.string,
158
- textTransform: PropTypes.string
161
+ textTransform: PropTypes.string,
162
+ labelAccessor: PropTypes.func
159
163
  } : {};
160
164
 
161
165
  export default CollapseButtons;
@@ -28,6 +28,8 @@ var useStyles = makeStyles(function (theme) {
28
28
  display: 'flex'
29
29
  },
30
30
  itemSubtitle: _extends({}, theme.typography.body1, {
31
+ display: 'flex',
32
+ flexDirection: 'column',
31
33
  color: theme.palette.grey[800]
32
34
  }),
33
35
  itemSubtitleLink: _extends({}, theme.typography.body1, {
@@ -51,7 +53,8 @@ var Item = function Item(_ref) {
51
53
  item = _ref.item,
52
54
  action = _ref.action,
53
55
  testId = _ref.testId,
54
- isSecondLevelClikable = _ref.isSecondLevelClikable;
56
+ isSecondLevelClikable = _ref.isSecondLevelClikable,
57
+ labelAccessor = _ref.labelAccessor;
55
58
 
56
59
  var classes = useStyles();
57
60
 
@@ -83,14 +86,14 @@ var Item = function Item(_ref) {
83
86
  React.createElement(
84
87
  'span',
85
88
  { className: classes.itemTitle },
86
- R.prop('label')(item)
89
+ labelAccessor(item, parentId)
87
90
  ),
88
91
  React.createElement(
89
92
  'span',
90
93
  { className: classes.itemSubtitle },
91
94
  R.map(function (subtopic) {
92
95
  if (R.not(R.is(Object)(subtopic))) return subtopic;
93
- if (R.not(isSecondLevelClikable)) return R.prop('label')(subtopic);
96
+ if (R.not(isSecondLevelClikable)) return labelAccessor(subtopic, parentId);
94
97
  var id = R.prop('id')(subtopic);
95
98
  return React.createElement(
96
99
  Link,
@@ -105,9 +108,10 @@ var Item = function Item(_ref) {
105
108
  },
106
109
  tabIndex: 0
107
110
  },
108
- R.prop('label')(subtopic)
111
+ '\u2022 ',
112
+ labelAccessor(subtopic, parentId)
109
113
  );
110
- })(R.pipe(R.propOr([], 'subtopics'), R.intersperse(' • '))(item))
114
+ })(R.pipe(R.propOr([], 'subtopics'), R.ifElse(R.always(isSecondLevelClikable), R.identity, R.intersperse(' • ')))(item))
111
115
  )
112
116
  )
113
117
  )
@@ -119,7 +123,8 @@ Item.propTypes = process.env.NODE_ENV !== "production" ? {
119
123
  testId: PropTypes.string,
120
124
  item: PropTypes.object,
121
125
  action: PropTypes.func,
122
- isSecondLevelClikable: PropTypes.bool
126
+ isSecondLevelClikable: PropTypes.bool,
127
+ labelAccessor: PropTypes.func
123
128
  } : {};
124
129
 
125
130
  export default Item;
@@ -39,7 +39,8 @@ var CollapsibleTree = function CollapsibleTree(_ref) {
39
39
  children = _ref.children,
40
40
  labels = _ref.labels,
41
41
  _ref$testId = _ref.testId,
42
- testId = _ref$testId === undefined ? 'collapsible-tree' : _ref$testId;
42
+ testId = _ref$testId === undefined ? 'collapsible-tree' : _ref$testId,
43
+ valueHandler = _ref.valueHandler;
43
44
 
44
45
  var classes = useStyles();
45
46
 
@@ -106,7 +107,9 @@ var CollapsibleTree = function CollapsibleTree(_ref) {
106
107
  var id = _ref3.id,
107
108
  label = _ref3.label,
108
109
  children = _ref3.children,
109
- value = _ref3.value;
110
+ value = _ref3.value,
111
+ _ref3$handlerProps = _ref3.handlerProps,
112
+ handlerProps = _ref3$handlerProps === undefined ? {} : _ref3$handlerProps;
110
113
 
111
114
  return React.createElement(
112
115
  Collapse,
@@ -114,12 +117,14 @@ var CollapsibleTree = function CollapsibleTree(_ref) {
114
117
  value && React.createElement(
115
118
  Typography,
116
119
  { className: classes.spacingValue, variant: 'body2' },
117
- value
120
+ R.is(Function, valueHandler) ? valueHandler(_extends({ value: value }, handlerProps)) : value
118
121
  ),
119
122
  children && R.map(function (_ref4) {
120
123
  var id = _ref4.id,
121
124
  label = _ref4.label,
122
- value = _ref4.value;
125
+ value = _ref4.value,
126
+ _ref4$handlerProps = _ref4.handlerProps,
127
+ handlerProps = _ref4$handlerProps === undefined ? {} : _ref4$handlerProps;
123
128
 
124
129
  return React.createElement(
125
130
  Collapse,
@@ -133,7 +138,7 @@ var CollapsibleTree = function CollapsibleTree(_ref) {
133
138
  React.createElement(
134
139
  Typography,
135
140
  { variant: 'body2' },
136
- value
141
+ R.is(Function, valueHandler) ? valueHandler(_extends({ value: value }, handlerProps)) : value
137
142
  )
138
143
  );
139
144
  }, children)
@@ -165,7 +170,8 @@ CollapsibleTree.propTypes = process.env.NODE_ENV !== "production" ? {
165
170
  collapseAll: PropTypes.string,
166
171
  expandAll: PropTypes.string
167
172
  }),
168
- testId: PropTypes.string
173
+ testId: PropTypes.string,
174
+ valueHandler: PropTypes.func
169
175
  } : {};
170
176
 
171
177
  export default CollapsibleTree;
@@ -158,6 +158,7 @@ var DataHeader = function DataHeader(_ref4) {
158
158
  className: cx(classes.title, classes.disclaimer),
159
159
  title: disclaimer,
160
160
  tabIndex: 0,
161
+ 'data-testid': 'data-header-disclaimer',
161
162
  variant: 'warning',
162
163
  'aria-hidden': false,
163
164
  placement: 'bottom',
@@ -24,13 +24,11 @@ var Period = function Period(_ref) {
24
24
 
25
25
  var classes = useStyles();
26
26
  var frequencies = getFrequencyOptions(availableFrequencies, labels);
27
- console.log('frequencies', frequencies);
28
27
  if (R.isEmpty(frequencies)) return null;
29
28
  var frequency = getDefaultFrequency({
30
29
  defaultFrequency: defaultFrequency,
31
30
  frequencies: R.pluck('value')(frequencies)
32
31
  });
33
- console.log('frequency', frequency);
34
32
  var period = R.defaultTo([], _period);
35
33
  var boundaries = R.defaultTo([], _boundaries);
36
34
  var isPeriodDisabled = R.or(R.any(R.isEmpty)([period, boundaries]), periodDisabled);
@@ -34,6 +34,10 @@ var useStyles = makeStyles(function (theme) {
34
34
  },
35
35
  value: {
36
36
  overflow: 'inherit'
37
+ },
38
+ textValue: {
39
+ textAlign: 'right',
40
+ whiteSpace: 'nowrap'
37
41
  }
38
42
  };
39
43
  });
@@ -81,7 +85,7 @@ var Cell = function Cell(_ref) {
81
85
  },
82
86
  React.createElement(
83
87
  'div',
84
- { style: { textAlign: 'right' } },
88
+ { className: classes.textValue },
85
89
  React.createElement(
86
90
  Typography,
87
91
  { variant: 'body1', tabIndex: 0, noWrap: hasFlag },
@@ -21,7 +21,8 @@ var useStyles = makeStyles(function (theme) {
21
21
  borderRight: '1px solid ' + theme.palette.grey[500],
22
22
  padding: theme.spacing(0, 1),
23
23
  color: theme.palette.grey['A700'],
24
- verticalAlign: 'middle'
24
+ verticalAlign: 'middle',
25
+ whiteSpace: 'nowrap'
25
26
  },
26
27
  lens: _extends({}, theme.mixins.table.dot, {
27
28
  marginLeft: theme.spacing(1),
@@ -74,7 +74,9 @@ var CollapseButtons = function CollapseButtons(props) {
74
74
  } : _props$breakpoint,
75
75
  justify = props.justify,
76
76
  _props$textTransform = props.textTransform,
77
- textTransform = _props$textTransform === undefined ? 'none' : _props$textTransform;
77
+ textTransform = _props$textTransform === undefined ? 'none' : _props$textTransform,
78
+ _props$labelAccessor = props.labelAccessor,
79
+ labelAccessor = _props$labelAccessor === undefined ? R.prop('label') : _props$labelAccessor;
78
80
 
79
81
 
80
82
  var classes = useStyles();
@@ -99,7 +101,8 @@ var CollapseButtons = function CollapseButtons(props) {
99
101
  parentId: parentId,
100
102
  item: item,
101
103
  action: action,
102
- isSecondLevelClikable: isSecondLevelClikable
104
+ isSecondLevelClikable: isSecondLevelClikable,
105
+ labelAccessor: labelAccessor
103
106
  });
104
107
  });
105
108
  };
@@ -189,7 +192,8 @@ CollapseButtons.propTypes = process.env.NODE_ENV !== "production" ? {
189
192
  breakpoint: _propTypes2.default.func,
190
193
  gridButtonsProps: _propTypes2.default.object,
191
194
  justify: _propTypes2.default.string,
192
- textTransform: _propTypes2.default.string
195
+ textTransform: _propTypes2.default.string,
196
+ labelAccessor: _propTypes2.default.func
193
197
  } : {};
194
198
 
195
199
  exports.default = CollapseButtons;
@@ -57,6 +57,8 @@ var useStyles = (0, _styles.makeStyles)(function (theme) {
57
57
  display: 'flex'
58
58
  },
59
59
  itemSubtitle: _extends({}, theme.typography.body1, {
60
+ display: 'flex',
61
+ flexDirection: 'column',
60
62
  color: theme.palette.grey[800]
61
63
  }),
62
64
  itemSubtitleLink: _extends({}, theme.typography.body1, {
@@ -80,7 +82,8 @@ var Item = function Item(_ref) {
80
82
  item = _ref.item,
81
83
  action = _ref.action,
82
84
  testId = _ref.testId,
83
- isSecondLevelClikable = _ref.isSecondLevelClikable;
85
+ isSecondLevelClikable = _ref.isSecondLevelClikable,
86
+ labelAccessor = _ref.labelAccessor;
84
87
 
85
88
  var classes = useStyles();
86
89
 
@@ -112,14 +115,14 @@ var Item = function Item(_ref) {
112
115
  _react2.default.createElement(
113
116
  'span',
114
117
  { className: classes.itemTitle },
115
- R.prop('label')(item)
118
+ labelAccessor(item, parentId)
116
119
  ),
117
120
  _react2.default.createElement(
118
121
  'span',
119
122
  { className: classes.itemSubtitle },
120
123
  R.map(function (subtopic) {
121
124
  if (R.not(R.is(Object)(subtopic))) return subtopic;
122
- if (R.not(isSecondLevelClikable)) return R.prop('label')(subtopic);
125
+ if (R.not(isSecondLevelClikable)) return labelAccessor(subtopic, parentId);
123
126
  var id = R.prop('id')(subtopic);
124
127
  return _react2.default.createElement(
125
128
  _Link2.default,
@@ -134,9 +137,10 @@ var Item = function Item(_ref) {
134
137
  },
135
138
  tabIndex: 0
136
139
  },
137
- R.prop('label')(subtopic)
140
+ '\u2022 ',
141
+ labelAccessor(subtopic, parentId)
138
142
  );
139
- })(R.pipe(R.propOr([], 'subtopics'), R.intersperse(' • '))(item))
143
+ })(R.pipe(R.propOr([], 'subtopics'), R.ifElse(R.always(isSecondLevelClikable), R.identity, R.intersperse(' • ')))(item))
140
144
  )
141
145
  )
142
146
  )
@@ -148,7 +152,8 @@ Item.propTypes = process.env.NODE_ENV !== "production" ? {
148
152
  testId: _propTypes2.default.string,
149
153
  item: _propTypes2.default.object,
150
154
  action: _propTypes2.default.func,
151
- isSecondLevelClikable: _propTypes2.default.bool
155
+ isSecondLevelClikable: _propTypes2.default.bool,
156
+ labelAccessor: _propTypes2.default.func
152
157
  } : {};
153
158
 
154
159
  exports.default = Item;
@@ -83,7 +83,8 @@ var CollapsibleTree = function CollapsibleTree(_ref) {
83
83
  children = _ref.children,
84
84
  labels = _ref.labels,
85
85
  _ref$testId = _ref.testId,
86
- testId = _ref$testId === undefined ? 'collapsible-tree' : _ref$testId;
86
+ testId = _ref$testId === undefined ? 'collapsible-tree' : _ref$testId,
87
+ valueHandler = _ref.valueHandler;
87
88
 
88
89
  var classes = useStyles();
89
90
 
@@ -150,7 +151,9 @@ var CollapsibleTree = function CollapsibleTree(_ref) {
150
151
  var id = _ref3.id,
151
152
  label = _ref3.label,
152
153
  children = _ref3.children,
153
- value = _ref3.value;
154
+ value = _ref3.value,
155
+ _ref3$handlerProps = _ref3.handlerProps,
156
+ handlerProps = _ref3$handlerProps === undefined ? {} : _ref3$handlerProps;
154
157
 
155
158
  return _react2.default.createElement(
156
159
  _Collapse2.default,
@@ -158,12 +161,14 @@ var CollapsibleTree = function CollapsibleTree(_ref) {
158
161
  value && _react2.default.createElement(
159
162
  _Typography2.default,
160
163
  { className: classes.spacingValue, variant: 'body2' },
161
- value
164
+ R.is(Function, valueHandler) ? valueHandler(_extends({ value: value }, handlerProps)) : value
162
165
  ),
163
166
  children && R.map(function (_ref4) {
164
167
  var id = _ref4.id,
165
168
  label = _ref4.label,
166
- value = _ref4.value;
169
+ value = _ref4.value,
170
+ _ref4$handlerProps = _ref4.handlerProps,
171
+ handlerProps = _ref4$handlerProps === undefined ? {} : _ref4$handlerProps;
167
172
 
168
173
  return _react2.default.createElement(
169
174
  _Collapse2.default,
@@ -177,7 +182,7 @@ var CollapsibleTree = function CollapsibleTree(_ref) {
177
182
  _react2.default.createElement(
178
183
  _Typography2.default,
179
184
  { variant: 'body2' },
180
- value
185
+ R.is(Function, valueHandler) ? valueHandler(_extends({ value: value }, handlerProps)) : value
181
186
  )
182
187
  );
183
188
  }, children)
@@ -209,7 +214,8 @@ CollapsibleTree.propTypes = process.env.NODE_ENV !== "production" ? {
209
214
  collapseAll: _propTypes2.default.string,
210
215
  expandAll: _propTypes2.default.string
211
216
  }),
212
- testId: _propTypes2.default.string
217
+ testId: _propTypes2.default.string,
218
+ valueHandler: _propTypes2.default.func
213
219
  } : {};
214
220
 
215
221
  exports.default = CollapsibleTree;
@@ -198,6 +198,7 @@ var DataHeader = function DataHeader(_ref4) {
198
198
  className: (0, _classnames2.default)(classes.title, classes.disclaimer),
199
199
  title: disclaimer,
200
200
  tabIndex: 0,
201
+ 'data-testid': 'data-header-disclaimer',
201
202
  variant: 'warning',
202
203
  'aria-hidden': false,
203
204
  placement: 'bottom',
@@ -49,13 +49,11 @@ var Period = function Period(_ref) {
49
49
 
50
50
  var classes = (0, _styles2.default)();
51
51
  var frequencies = (0, _lib.getFrequencyOptions)(availableFrequencies, labels);
52
- console.log('frequencies', frequencies);
53
52
  if (R.isEmpty(frequencies)) return null;
54
53
  var frequency = (0, _lib.getDefaultFrequency)({
55
54
  defaultFrequency: defaultFrequency,
56
55
  frequencies: R.pluck('value')(frequencies)
57
56
  });
58
- console.log('frequency', frequency);
59
57
  var period = R.defaultTo([], _period);
60
58
  var boundaries = R.defaultTo([], _boundaries);
61
59
  var isPeriodDisabled = R.or(R.any(R.isEmpty)([period, boundaries]), periodDisabled);
@@ -66,6 +66,10 @@ var useStyles = (0, _styles.makeStyles)(function (theme) {
66
66
  },
67
67
  value: {
68
68
  overflow: 'inherit'
69
+ },
70
+ textValue: {
71
+ textAlign: 'right',
72
+ whiteSpace: 'nowrap'
69
73
  }
70
74
  };
71
75
  });
@@ -113,7 +117,7 @@ var Cell = function Cell(_ref) {
113
117
  },
114
118
  _react2.default.createElement(
115
119
  'div',
116
- { style: { textAlign: 'right' } },
120
+ { className: classes.textValue },
117
121
  _react2.default.createElement(
118
122
  _Typography2.default,
119
123
  { variant: 'body1', tabIndex: 0, noWrap: hasFlag },
@@ -57,7 +57,8 @@ var useStyles = (0, _styles.makeStyles)(function (theme) {
57
57
  borderRight: '1px solid ' + theme.palette.grey[500],
58
58
  padding: theme.spacing(0, 1),
59
59
  color: theme.palette.grey['A700'],
60
- verticalAlign: 'middle'
60
+ verticalAlign: 'middle',
61
+ whiteSpace: 'nowrap'
61
62
  },
62
63
  lens: _extends({}, theme.mixins.table.dot, {
63
64
  marginLeft: theme.spacing(1),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sis-cc/dotstatsuite-visions",
3
- "version": "7.5.0",
3
+ "version": "7.6.2",
4
4
  "description": "Library of visual components",
5
5
  "author": "OECD",
6
6
  "homepage": "https://visions-qa.siscc.org/#o",