@sis-cc/dotstatsuite-visions 7.2.0 → 7.4.0

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.
@@ -78,7 +78,7 @@ var CollapsibleTree = function CollapsibleTree(_ref) {
78
78
  {
79
79
  'aria-label': buttonAllOpenLabel,
80
80
  color: 'primary',
81
- endIcon: isAllOpen ? React.createElement(KeyboardArrowDownIcon, { color: 'primary' }) : React.createElement(KeyboardArrowUpIcon, { color: 'primary' }),
81
+ endIcon: isAllOpen ? React.createElement(KeyboardArrowUpIcon, { color: 'primary' }) : React.createElement(KeyboardArrowDownIcon, { color: 'primary' }),
82
82
  onClick: function onClick() {
83
83
  return handleCollapse(isAllOpen);
84
84
  }
@@ -93,7 +93,10 @@ var useStyles = makeStyles(function (theme) {
93
93
  padding: 0,
94
94
  marginLeft: 20,
95
95
  maxWidth: 270
96
- }, theme.typography.body1)
96
+ }, theme.typography.body1),
97
+ sideIconContainer: {
98
+ marginLeft: '10px'
99
+ }
97
100
  };
98
101
  });
99
102
 
@@ -137,7 +140,7 @@ var DataHeader = function DataHeader(_ref4) {
137
140
  title.label,
138
141
  !R.isNil(SideIcon) && React.createElement(
139
142
  'span',
140
- { style: { 'margin-left': '10px' } },
143
+ { className: classes.sideIconContainer },
141
144
  React.createElement(SideIcon, { sideProps: sideProps })
142
145
  ),
143
146
  React.createElement(Flags, { classes: classes, content: R.propOr([], 'flags', title) }),
@@ -24,10 +24,13 @@ 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
+ if (R.isEmpty(frequencies)) return null;
27
29
  var frequency = getDefaultFrequency({
28
30
  defaultFrequency: defaultFrequency,
29
31
  frequencies: R.pluck('value')(frequencies)
30
32
  });
33
+ console.log('frequency', frequency);
31
34
  var period = R.defaultTo([], _period);
32
35
  var boundaries = R.defaultTo([], _boundaries);
33
36
  var isPeriodDisabled = R.or(R.any(R.isEmpty)([period, boundaries]), periodDisabled);
@@ -114,11 +114,6 @@ export var getAjustedDate = function getAjustedDate(frequency) {
114
114
  };
115
115
 
116
116
  export var isValidNumber = R.both(R.is(Number), R.complement(R.equals(NaN)));
117
- export var getSupportFrequencies = function getSupportFrequencies(availableFrequencies) {
118
- return R.filter(function (freq) {
119
- return R.includes(freq)(supportedFrequenciesKey);
120
- })(availableFrequencies);
121
- };
122
117
  export var getDefaultFrequency = function getDefaultFrequency(_ref4) {
123
118
  var defaultFrequency = _ref4.defaultFrequency,
124
119
  frequencies = _ref4.frequencies;
@@ -128,10 +123,14 @@ export var getDefaultFrequency = function getDefaultFrequency(_ref4) {
128
123
  };
129
124
 
130
125
  export var getFrequencyOptions = function getFrequencyOptions(frequencyoptions, frequencyLabels) {
131
- var availableFrequencies = R.or(R.isEmpty(frequencyoptions), R.isNil(frequencyoptions)) ? [defaultfreq] : getSupportFrequencies(frequencyoptions);
132
- return R.map(function (option) {
133
- return { value: option, label: R.prop(option)(frequencyLabels) };
126
+ var availableFrequencies = R.or(R.isEmpty(frequencyoptions), R.isNil(frequencyoptions)) ? [defaultfreq] : R.filter(function (freq) {
127
+ return R.includes(freq, supportedFrequenciesKey);
128
+ })(frequencyoptions);
129
+ var options = R.map(function (option) {
130
+ return { value: option, label: R.prop(option, frequencyLabels) };
134
131
  })(availableFrequencies);
132
+ if (R.isEmpty(options)) return [{ value: 'A', label: R.propOr('Annual', 'A', frequencyLabels) }];
133
+ return options;
135
134
  };
136
135
 
137
136
  export var getLayout = function getLayout(type, range) {
@@ -10,6 +10,7 @@ import ListItemText from '@material-ui/core/ListItemText';
10
10
  import IconButton from '@material-ui/core/IconButton';
11
11
  import SvgIcon from '@material-ui/core/SvgIcon';
12
12
  import cx from 'classnames';
13
+ import { Tooltip } from '../';
13
14
 
14
15
  var checkBoxPath = 'M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z';
15
16
  var checkPath = 'M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z';
@@ -37,6 +38,7 @@ var Item = function Item(_ref) {
37
38
  isSelected = _ref.isSelected,
38
39
  isDisabled = _ref.isDisabled,
39
40
  changeList = _ref.changeList,
41
+ changeListDescription = _ref.changeListDescription,
40
42
  ariaLabel = _ref.ariaLabel,
41
43
  NavigateIcon = _ref.NavigateIcon,
42
44
  changeSelection = _ref.changeSelection,
@@ -148,17 +150,28 @@ var Item = function Item(_ref) {
148
150
  }
149
151
  },
150
152
  React.createElement(
151
- IconButton,
153
+ Tooltip,
152
154
  {
153
- disableRipple: true,
154
- disableFocusRipple: true,
155
- className: classes.arrow,
156
- 'aria-label': ariaLabel,
157
- tabIndex: -1,
158
- size: 'small',
159
- color: 'inherit'
155
+ title: changeListDescription || '',
156
+ tabIndex: 0,
157
+ 'aria-label': changeListDescription,
158
+ 'aria-hidden': false,
159
+ placement: 'top',
160
+ variant: 'light'
160
161
  },
161
- React.createElement(NavigateIcon, null)
162
+ React.createElement(
163
+ IconButton,
164
+ {
165
+ disableRipple: true,
166
+ disableFocusRipple: true,
167
+ className: classes.arrow,
168
+ 'aria-label': ariaLabel,
169
+ tabIndex: -1,
170
+ size: 'small',
171
+ color: 'inherit'
172
+ },
173
+ React.createElement(NavigateIcon, null)
174
+ )
162
175
  )
163
176
  )
164
177
  );
@@ -177,6 +190,7 @@ Item.propTypes = process.env.NODE_ENV !== "production" ? {
177
190
  hasChild: PropTypes.bool,
178
191
  isSection: PropTypes.bool,
179
192
  changeList: PropTypes.func,
193
+ changeListDescription: PropTypes.string,
180
194
  changeSelection: PropTypes.func,
181
195
  changeMouseSelection: PropTypes.func,
182
196
  count: PropTypes.number,
@@ -244,6 +244,7 @@ var ScopeList = function ScopeList(props) {
244
244
  classes: classes,
245
245
  isRtl: isRtl,
246
246
  changeList: changeList,
247
+ changeListDescription: labels.childrenNavigateDesc,
247
248
  changeSelection: changeSelection,
248
249
  changeMouseSelection: changeMouseSelection,
249
250
  ariaLabel: R.prop('navigateNext')(labels),
@@ -284,6 +285,7 @@ ScopeList.propTypes = process.env.NODE_ENV !== "production" ? {
284
285
  isBlank: PropTypes.bool,
285
286
  isCurrentListAllSelected: PropTypes.bool,
286
287
  labels: PropTypes.shape({
288
+ childrenNavigateDesc: PropTypes.string,
287
289
  navigateNext: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),
288
290
  backHelper: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),
289
291
  selection: PropTypes.shape({
@@ -47,6 +47,7 @@
47
47
  * hasPath: PropTypes.bool,
48
48
  * changeSelection: PropTypes.func,
49
49
  * labels: {
50
+ * childrenNavigateDesc: PropTypes.string,
50
51
  * navigateBefore: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),
51
52
  * navigateNext: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),
52
53
  * backHelper: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),
@@ -1,11 +1,12 @@
1
1
  var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
2
2
 
3
- import React from 'react';
3
+ import React, { useEffect } from 'react';
4
4
  import * as R from 'ramda';
5
5
  import PropTypes from 'prop-types';
6
6
  import { makeStyles } from '@material-ui/core/styles';
7
7
  import TextField from '@material-ui/core/TextField';
8
8
  import MenuItem from '@material-ui/core/MenuItem';
9
+ import { Tooltip } from '../';
9
10
 
10
11
  var useStyles = makeStyles(function (theme) {
11
12
  return {
@@ -34,6 +35,15 @@ var Select = function Select(_ref) {
34
35
  dataTestId = _ref$dataTestId === undefined ? 'select-testid' : _ref$dataTestId;
35
36
 
36
37
  var classes = useStyles();
38
+ var ref = React.useRef(null);
39
+
40
+ var _React$useState = React.useState(false),
41
+ open = _React$useState[0],
42
+ setOpen = _React$useState[1];
43
+
44
+ var _React$useState2 = React.useState(0),
45
+ width = _React$useState2[0],
46
+ setWidth = _React$useState2[1];
37
47
 
38
48
  var handleChange = function handleChange(event) {
39
49
  if (R.is(Function)(onChange)) {
@@ -41,6 +51,12 @@ var Select = function Select(_ref) {
41
51
  }
42
52
  };
43
53
 
54
+ useEffect(function () {
55
+ if (ref.current && open) {
56
+ setWidth(ref.current.clientWidth);
57
+ }
58
+ }, [ref.current, open]);
59
+
44
60
  var getter = function getter(key) {
45
61
  return function (accessor) {
46
62
  return R.ifElse(R.is(Object), function (item) {
@@ -49,42 +65,62 @@ var Select = function Select(_ref) {
49
65
  };
50
66
  };
51
67
 
68
+ var joinByValue = R.innerJoin(function (obj, value) {
69
+ return obj.value === value;
70
+ });
71
+ var labels = R.pluck('label', joinByValue(items, R.is(Array, value) ? value : [value]));
52
72
  return React.createElement(
53
73
  TextField,
54
74
  _extends({
75
+ select: true,
55
76
  id: id,
56
77
  'data-testid': dataTestId,
57
78
  disabled: R.isEmpty(items),
58
- select: true,
59
79
  label: label,
60
80
  value: value,
81
+ title: R.join(', ', labels),
61
82
  onChange: handleChange,
62
83
  variant: 'outlined',
63
84
  size: 'small',
64
85
  fullWidth: true,
65
86
  SelectProps: {
87
+ ref: ref,
88
+ open: open,
89
+ autoWidth: true,
66
90
  multiple: isMultiple,
91
+ onOpen: function onOpen() {
92
+ return setOpen(true);
93
+ },
94
+ onClose: function onClose() {
95
+ return setOpen(false);
96
+ },
67
97
  classes: { root: classes.root },
68
98
  MenuProps: {
69
99
  getContentAnchorEl: null,
70
100
  anchorOrigin: { vertical: 'bottom', horizontal: 'center' },
71
101
  transformOrigin: { vertical: 'top', horizontal: 'center' },
72
- classes: { paper: classes.paper }
102
+ classes: { paper: classes.paper },
103
+ PaperProps: {
104
+ style: { width: width }
105
+ }
73
106
  }
74
107
  },
75
108
  className: classes.root
76
109
  }, textFieldProps),
77
110
  R.map(function (item) {
111
+ var value = getter('value')(valueAccessor)(item);
112
+ var label = getter('label')(labelAccessor)(item);
78
113
  return React.createElement(
79
114
  MenuItem,
80
115
  {
81
- key: optionsKey + '-' + getter('value')(valueAccessor)(item),
82
- value: getter('value')(valueAccessor)(item),
116
+ key: optionsKey + '-' + value,
117
+ id: label,
118
+ value: value,
83
119
  dense: true,
84
- id: getter('label')(labelAccessor)(item),
85
- 'aria-label': getter('label')(labelAccessor)(item)
120
+ 'aria-label': label,
121
+ title: label
86
122
  },
87
- getter('label')(labelAccessor)(item)
123
+ label
88
124
  );
89
125
  })(items)
90
126
  );
@@ -122,7 +122,7 @@ var CollapsibleTree = function CollapsibleTree(_ref) {
122
122
  {
123
123
  'aria-label': buttonAllOpenLabel,
124
124
  color: 'primary',
125
- endIcon: isAllOpen ? _react2.default.createElement(_KeyboardArrowDown2.default, { color: 'primary' }) : _react2.default.createElement(_KeyboardArrowUp2.default, { color: 'primary' }),
125
+ endIcon: isAllOpen ? _react2.default.createElement(_KeyboardArrowUp2.default, { color: 'primary' }) : _react2.default.createElement(_KeyboardArrowDown2.default, { color: 'primary' }),
126
126
  onClick: function onClick() {
127
127
  return handleCollapse(isAllOpen);
128
128
  }
@@ -133,7 +133,10 @@ var useStyles = (0, _styles.makeStyles)(function (theme) {
133
133
  padding: 0,
134
134
  marginLeft: 20,
135
135
  maxWidth: 270
136
- }, theme.typography.body1)
136
+ }, theme.typography.body1),
137
+ sideIconContainer: {
138
+ marginLeft: '10px'
139
+ }
137
140
  };
138
141
  });
139
142
 
@@ -177,7 +180,7 @@ var DataHeader = function DataHeader(_ref4) {
177
180
  title.label,
178
181
  !R.isNil(SideIcon) && _react2.default.createElement(
179
182
  'span',
180
- { style: { 'margin-left': '10px' } },
183
+ { className: classes.sideIconContainer },
181
184
  _react2.default.createElement(SideIcon, { sideProps: sideProps })
182
185
  ),
183
186
  _react2.default.createElement(_Flags2.default, { classes: classes, content: R.propOr([], 'flags', title) }),
@@ -49,10 +49,13 @@ 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
+ if (R.isEmpty(frequencies)) return null;
52
54
  var frequency = (0, _lib.getDefaultFrequency)({
53
55
  defaultFrequency: defaultFrequency,
54
56
  frequencies: R.pluck('value')(frequencies)
55
57
  });
58
+ console.log('frequency', frequency);
56
59
  var period = R.defaultTo([], _period);
57
60
  var boundaries = R.defaultTo([], _boundaries);
58
61
  var isPeriodDisabled = R.or(R.any(R.isEmpty)([period, boundaries]), periodDisabled);
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  exports.__esModule = true;
4
- exports.numeralFormat = exports.getDateInTheRange = exports.getDate = exports.getPeriodValue = exports.getLayout = exports.getFrequencyOptions = exports.getDefaultFrequency = exports.getSupportFrequencies = exports.isValidNumber = exports.getAjustedDate = exports.getRange = exports.getDestructuringDate = undefined;
4
+ exports.numeralFormat = exports.getDateInTheRange = exports.getDate = exports.getPeriodValue = exports.getLayout = exports.getFrequencyOptions = exports.getDefaultFrequency = exports.isValidNumber = exports.getAjustedDate = exports.getRange = exports.getDestructuringDate = undefined;
5
5
 
6
6
  var _numeralFormat;
7
7
 
@@ -132,11 +132,6 @@ var getAjustedDate = exports.getAjustedDate = function getAjustedDate(frequency)
132
132
  };
133
133
 
134
134
  var isValidNumber = exports.isValidNumber = R.both(R.is(Number), R.complement(R.equals(NaN)));
135
- var getSupportFrequencies = exports.getSupportFrequencies = function getSupportFrequencies(availableFrequencies) {
136
- return R.filter(function (freq) {
137
- return R.includes(freq)(supportedFrequenciesKey);
138
- })(availableFrequencies);
139
- };
140
135
  var getDefaultFrequency = exports.getDefaultFrequency = function getDefaultFrequency(_ref4) {
141
136
  var defaultFrequency = _ref4.defaultFrequency,
142
137
  frequencies = _ref4.frequencies;
@@ -146,10 +141,14 @@ var getDefaultFrequency = exports.getDefaultFrequency = function getDefaultFrequ
146
141
  };
147
142
 
148
143
  var getFrequencyOptions = exports.getFrequencyOptions = function getFrequencyOptions(frequencyoptions, frequencyLabels) {
149
- var availableFrequencies = R.or(R.isEmpty(frequencyoptions), R.isNil(frequencyoptions)) ? [_constants.defaultfreq] : getSupportFrequencies(frequencyoptions);
150
- return R.map(function (option) {
151
- return { value: option, label: R.prop(option)(frequencyLabels) };
144
+ var availableFrequencies = R.or(R.isEmpty(frequencyoptions), R.isNil(frequencyoptions)) ? [_constants.defaultfreq] : R.filter(function (freq) {
145
+ return R.includes(freq, supportedFrequenciesKey);
146
+ })(frequencyoptions);
147
+ var options = R.map(function (option) {
148
+ return { value: option, label: R.prop(option, frequencyLabels) };
152
149
  })(availableFrequencies);
150
+ if (R.isEmpty(options)) return [{ value: 'A', label: R.propOr('Annual', 'A', frequencyLabels) }];
151
+ return options;
153
152
  };
154
153
 
155
154
  var getLayout = exports.getLayout = function getLayout(type, range) {
@@ -44,6 +44,8 @@ var _classnames = require('classnames');
44
44
 
45
45
  var _classnames2 = _interopRequireDefault(_classnames);
46
46
 
47
+ var _ = require('../');
48
+
47
49
  function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
48
50
 
49
51
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -74,6 +76,7 @@ var Item = function Item(_ref) {
74
76
  isSelected = _ref.isSelected,
75
77
  isDisabled = _ref.isDisabled,
76
78
  changeList = _ref.changeList,
79
+ changeListDescription = _ref.changeListDescription,
77
80
  ariaLabel = _ref.ariaLabel,
78
81
  NavigateIcon = _ref.NavigateIcon,
79
82
  changeSelection = _ref.changeSelection,
@@ -185,17 +188,28 @@ var Item = function Item(_ref) {
185
188
  }
186
189
  },
187
190
  _react2.default.createElement(
188
- _IconButton2.default,
191
+ _.Tooltip,
189
192
  {
190
- disableRipple: true,
191
- disableFocusRipple: true,
192
- className: classes.arrow,
193
- 'aria-label': ariaLabel,
194
- tabIndex: -1,
195
- size: 'small',
196
- color: 'inherit'
193
+ title: changeListDescription || '',
194
+ tabIndex: 0,
195
+ 'aria-label': changeListDescription,
196
+ 'aria-hidden': false,
197
+ placement: 'top',
198
+ variant: 'light'
197
199
  },
198
- _react2.default.createElement(NavigateIcon, null)
200
+ _react2.default.createElement(
201
+ _IconButton2.default,
202
+ {
203
+ disableRipple: true,
204
+ disableFocusRipple: true,
205
+ className: classes.arrow,
206
+ 'aria-label': ariaLabel,
207
+ tabIndex: -1,
208
+ size: 'small',
209
+ color: 'inherit'
210
+ },
211
+ _react2.default.createElement(NavigateIcon, null)
212
+ )
199
213
  )
200
214
  )
201
215
  );
@@ -214,6 +228,7 @@ Item.propTypes = process.env.NODE_ENV !== "production" ? {
214
228
  hasChild: _propTypes2.default.bool,
215
229
  isSection: _propTypes2.default.bool,
216
230
  changeList: _propTypes2.default.func,
231
+ changeListDescription: _propTypes2.default.string,
217
232
  changeSelection: _propTypes2.default.func,
218
233
  changeMouseSelection: _propTypes2.default.func,
219
234
  count: _propTypes2.default.number,
@@ -297,6 +297,7 @@ var ScopeList = function ScopeList(props) {
297
297
  classes: classes,
298
298
  isRtl: isRtl,
299
299
  changeList: changeList,
300
+ changeListDescription: labels.childrenNavigateDesc,
300
301
  changeSelection: changeSelection,
301
302
  changeMouseSelection: changeMouseSelection,
302
303
  ariaLabel: R.prop('navigateNext')(labels),
@@ -337,6 +338,7 @@ ScopeList.propTypes = process.env.NODE_ENV !== "production" ? {
337
338
  isBlank: _propTypes2.default.bool,
338
339
  isCurrentListAllSelected: _propTypes2.default.bool,
339
340
  labels: _propTypes2.default.shape({
341
+ childrenNavigateDesc: _propTypes2.default.string,
340
342
  navigateNext: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.element]),
341
343
  backHelper: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.element]),
342
344
  selection: _propTypes2.default.shape({
@@ -26,6 +26,8 @@ var _MenuItem = require('@material-ui/core/MenuItem');
26
26
 
27
27
  var _MenuItem2 = _interopRequireDefault(_MenuItem);
28
28
 
29
+ var _ = require('../');
30
+
29
31
  function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
30
32
 
31
33
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -57,6 +59,15 @@ var Select = function Select(_ref) {
57
59
  dataTestId = _ref$dataTestId === undefined ? 'select-testid' : _ref$dataTestId;
58
60
 
59
61
  var classes = useStyles();
62
+ var ref = _react2.default.useRef(null);
63
+
64
+ var _React$useState = _react2.default.useState(false),
65
+ open = _React$useState[0],
66
+ setOpen = _React$useState[1];
67
+
68
+ var _React$useState2 = _react2.default.useState(0),
69
+ width = _React$useState2[0],
70
+ setWidth = _React$useState2[1];
60
71
 
61
72
  var handleChange = function handleChange(event) {
62
73
  if (R.is(Function)(onChange)) {
@@ -64,6 +75,12 @@ var Select = function Select(_ref) {
64
75
  }
65
76
  };
66
77
 
78
+ (0, _react.useEffect)(function () {
79
+ if (ref.current && open) {
80
+ setWidth(ref.current.clientWidth);
81
+ }
82
+ }, [ref.current, open]);
83
+
67
84
  var getter = function getter(key) {
68
85
  return function (accessor) {
69
86
  return R.ifElse(R.is(Object), function (item) {
@@ -72,42 +89,62 @@ var Select = function Select(_ref) {
72
89
  };
73
90
  };
74
91
 
92
+ var joinByValue = R.innerJoin(function (obj, value) {
93
+ return obj.value === value;
94
+ });
95
+ var labels = R.pluck('label', joinByValue(items, R.is(Array, value) ? value : [value]));
75
96
  return _react2.default.createElement(
76
97
  _TextField2.default,
77
98
  _extends({
99
+ select: true,
78
100
  id: id,
79
101
  'data-testid': dataTestId,
80
102
  disabled: R.isEmpty(items),
81
- select: true,
82
103
  label: label,
83
104
  value: value,
105
+ title: R.join(', ', labels),
84
106
  onChange: handleChange,
85
107
  variant: 'outlined',
86
108
  size: 'small',
87
109
  fullWidth: true,
88
110
  SelectProps: {
111
+ ref: ref,
112
+ open: open,
113
+ autoWidth: true,
89
114
  multiple: isMultiple,
115
+ onOpen: function onOpen() {
116
+ return setOpen(true);
117
+ },
118
+ onClose: function onClose() {
119
+ return setOpen(false);
120
+ },
90
121
  classes: { root: classes.root },
91
122
  MenuProps: {
92
123
  getContentAnchorEl: null,
93
124
  anchorOrigin: { vertical: 'bottom', horizontal: 'center' },
94
125
  transformOrigin: { vertical: 'top', horizontal: 'center' },
95
- classes: { paper: classes.paper }
126
+ classes: { paper: classes.paper },
127
+ PaperProps: {
128
+ style: { width: width }
129
+ }
96
130
  }
97
131
  },
98
132
  className: classes.root
99
133
  }, textFieldProps),
100
134
  R.map(function (item) {
135
+ var value = getter('value')(valueAccessor)(item);
136
+ var label = getter('label')(labelAccessor)(item);
101
137
  return _react2.default.createElement(
102
138
  _MenuItem2.default,
103
139
  {
104
- key: optionsKey + '-' + getter('value')(valueAccessor)(item),
105
- value: getter('value')(valueAccessor)(item),
140
+ key: optionsKey + '-' + value,
141
+ id: label,
142
+ value: value,
106
143
  dense: true,
107
- id: getter('label')(labelAccessor)(item),
108
- 'aria-label': getter('label')(labelAccessor)(item)
144
+ 'aria-label': label,
145
+ title: label
109
146
  },
110
- getter('label')(labelAccessor)(item)
147
+ label
111
148
  );
112
149
  })(items)
113
150
  );
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sis-cc/dotstatsuite-visions",
3
- "version": "7.2.0",
3
+ "version": "7.4.0",
4
4
  "description": "Library of visual components",
5
5
  "author": "OECD",
6
6
  "homepage": "https://visions-qa.siscc.org/#o",