@sis-cc/dotstatsuite-visions 10.17.0 → 10.19.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.
@@ -10,14 +10,20 @@ import { makeStyles } from '@material-ui/core/styles';
10
10
  import Typography from '@material-ui/core/Typography';
11
11
  import Divider from '@material-ui/core/Divider';
12
12
  import Button from '@material-ui/core/Button';
13
+ import IconButton from '@material-ui/core/IconButton';
13
14
  import KeyboardArrowDownIcon from '@material-ui/icons/KeyboardArrowDown';
14
15
  import KeyboardArrowUpIcon from '@material-ui/icons/KeyboardArrowUp';
15
16
  import CircularProgress from '@material-ui/core/CircularProgress';
16
17
  import Grid from '@material-ui/core/Grid';
17
18
  import Collapse, { VARIANT_BOLD } from './Collapse';
18
19
  import cx from 'classnames';
20
+
19
21
  var useStyles = makeStyles(function (theme) {
20
22
  return {
23
+ container: {
24
+ display: 'flex',
25
+ justifyContent: 'space-between'
26
+ },
21
27
  title: _extends({
22
28
  fontWeight: 'bold'
23
29
  }, R.pathOr({}, ['mixins', 'collapsibleTree', 'title'], theme)),
@@ -46,7 +52,9 @@ var CollapsibleTree = function CollapsibleTree(_ref) {
46
52
  labels = _ref.labels,
47
53
  _ref$testId = _ref.testId,
48
54
  testId = _ref$testId === undefined ? 'collapsible-tree' : _ref$testId,
49
- valueHandler = _ref.valueHandler;
55
+ valueHandler = _ref.valueHandler,
56
+ icon = _ref.icon,
57
+ onClick = _ref.onClick;
50
58
 
51
59
  var classes = useStyles();
52
60
 
@@ -94,7 +102,7 @@ var CollapsibleTree = function CollapsibleTree(_ref) {
94
102
  null,
95
103
  React.createElement(
96
104
  Container,
97
- { disableGutters: true, 'data-testid': testId },
105
+ { disableGutters: true, 'data-testid': testId, className: classes.container },
98
106
  React.createElement(
99
107
  Button,
100
108
  {
@@ -107,6 +115,11 @@ var CollapsibleTree = function CollapsibleTree(_ref) {
107
115
  },
108
116
  buttonAllOpenLabel
109
117
  ),
118
+ React.createElement(
119
+ IconButton,
120
+ { color: 'primary', onClick: onClick },
121
+ icon
122
+ ),
110
123
  children
111
124
  ),
112
125
  R.map(function (_ref3) {
@@ -196,7 +209,9 @@ CollapsibleTree.propTypes = process.env.NODE_ENV !== "production" ? {
196
209
  noValue: PropTypes.string
197
210
  }),
198
211
  testId: PropTypes.string,
199
- valueHandler: PropTypes.func
212
+ valueHandler: PropTypes.func,
213
+ icon: PropTypes.element,
214
+ onClick: PropTypes.func
200
215
  } : {};
201
216
 
202
217
  export default CollapsibleTree;
@@ -9,6 +9,7 @@ import Link from '@material-ui/core/Link';
9
9
  import { makeStyles } from '@material-ui/core/styles';
10
10
  import { Tooltip } from '../';
11
11
  import { T4_BREAKPOINTS } from '../theme';
12
+ import useKeyboardEscapeHandler from '../hooks/useKeybordEscapeHandler';
12
13
 
13
14
  var HEIGHT = 42;
14
15
 
@@ -71,6 +72,10 @@ var DataFooter = function DataFooter(_ref3) {
71
72
  var isCopyrighted = copyright && copyright.label && copyright.content;
72
73
  var classes = useStyles({ isWidthUp: isWidthUp, isSourced: isSourced });
73
74
 
75
+ var _useKeyboardEscapeHan = useKeyboardEscapeHandler(),
76
+ open = _useKeyboardEscapeHan.open,
77
+ setOpen = _useKeyboardEscapeHan.setOpen;
78
+
74
79
  if (!isWidthUp(T4_BREAKPOINTS.xs)) return React.createElement(Grid, { ref: target });
75
80
 
76
81
  return React.createElement(
@@ -121,7 +126,14 @@ var DataFooter = function DataFooter(_ref3) {
121
126
  placement: 'top',
122
127
  enterNextDelay: 100,
123
128
  interactive: true,
124
- arrow: true
129
+ arrow: true,
130
+ open: open,
131
+ onOpen: function onOpen() {
132
+ return setOpen(true);
133
+ },
134
+ onClose: function onClose() {
135
+ return setOpen(false);
136
+ }
125
137
  },
126
138
  React.createElement(
127
139
  Typography,
@@ -47,7 +47,8 @@ var InputNumber = function InputNumber(_ref) {
47
47
  popperLabel = _ref.popperLabel,
48
48
  _ref$placeholder = _ref.placeholder,
49
49
  placeholder = _ref$placeholder === undefined ? '--' : _ref$placeholder,
50
- textFieldProps = _ref.textFieldProps;
50
+ textFieldProps = _ref.textFieldProps,
51
+ ariaLabel = _ref.ariaLabel;
51
52
 
52
53
  var classes = useStyles();
53
54
 
@@ -60,7 +61,7 @@ var InputNumber = function InputNumber(_ref) {
60
61
  { 'data-testid': 'input-number-test-id', className: classes.root },
61
62
  beforeLabel && React.createElement(
62
63
  Typography,
63
- { variant: 'body2', 'aria-label': beforeLabel, tabIndex: 0 },
64
+ { variant: 'body2', 'aria-label': beforeLabel, tabIndex: -1 },
64
65
  beforeLabel
65
66
  ),
66
67
  React.createElement(TextField, _extends({
@@ -68,7 +69,8 @@ var InputNumber = function InputNumber(_ref) {
68
69
  inputProps: {
69
70
  min: 0,
70
71
  step: 1,
71
- className: classes.input
72
+ className: classes.input,
73
+ 'aria-label': ariaLabel
72
74
  },
73
75
  placeholder: placeholder,
74
76
  onChange: function onChange(e) {
@@ -104,7 +106,8 @@ InputNumber.propTypes = process.env.NODE_ENV !== "production" ? {
104
106
  afterLabel: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),
105
107
  popperLabel: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),
106
108
  placeholder: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),
107
- textFieldProps: PropTypes.object
109
+ textFieldProps: PropTypes.object,
110
+ ariaLabel: PropTypes.string
108
111
  } : {};
109
112
 
110
113
  export default withBlank(function (_ref2) {
package/es/Mode/Mode.js CHANGED
@@ -8,6 +8,7 @@ import RadioGroup from '@material-ui/core/RadioGroup';
8
8
  import FormControlLabel from '@material-ui/core/FormControlLabel';
9
9
  import Radio from '@material-ui/core/Radio';
10
10
  import { Tooltip } from '../';
11
+ import useKeyboardEscapeHandler from '../hooks/useKeybordEscapeHandler';
11
12
 
12
13
  var useStyles = makeStyles(function (theme) {
13
14
  return {
@@ -29,6 +30,11 @@ var Warning = function Warning(_ref) {
29
30
  children = _ref.children;
30
31
 
31
32
  var classes = useStyles();
33
+
34
+ var _useKeyboardEscapeHan = useKeyboardEscapeHandler(),
35
+ open = _useKeyboardEscapeHan.open,
36
+ setOpen = _useKeyboardEscapeHan.setOpen;
37
+
32
38
  return React.createElement(
33
39
  Tooltip,
34
40
  {
@@ -36,7 +42,15 @@ var Warning = function Warning(_ref) {
36
42
  title: title,
37
43
  variant: 'light',
38
44
  'aria-label': title,
39
- 'aria-hidden': false
45
+ 'aria-hidden': false,
46
+ interactive: true,
47
+ open: open,
48
+ onOpen: function onOpen() {
49
+ return setOpen(true);
50
+ },
51
+ onClose: function onClose() {
52
+ return setOpen(false);
53
+ }
40
54
  },
41
55
  children
42
56
  );
@@ -34,6 +34,10 @@ var _Button = require('@material-ui/core/Button');
34
34
 
35
35
  var _Button2 = _interopRequireDefault(_Button);
36
36
 
37
+ var _IconButton = require('@material-ui/core/IconButton');
38
+
39
+ var _IconButton2 = _interopRequireDefault(_IconButton);
40
+
37
41
  var _KeyboardArrowDown = require('@material-ui/icons/KeyboardArrowDown');
38
42
 
39
43
  var _KeyboardArrowDown2 = _interopRequireDefault(_KeyboardArrowDown);
@@ -66,6 +70,10 @@ function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in ob
66
70
 
67
71
  var useStyles = (0, _styles.makeStyles)(function (theme) {
68
72
  return {
73
+ container: {
74
+ display: 'flex',
75
+ justifyContent: 'space-between'
76
+ },
69
77
  title: _extends({
70
78
  fontWeight: 'bold'
71
79
  }, R.pathOr({}, ['mixins', 'collapsibleTree', 'title'], theme)),
@@ -94,7 +102,9 @@ var CollapsibleTree = function CollapsibleTree(_ref) {
94
102
  labels = _ref.labels,
95
103
  _ref$testId = _ref.testId,
96
104
  testId = _ref$testId === undefined ? 'collapsible-tree' : _ref$testId,
97
- valueHandler = _ref.valueHandler;
105
+ valueHandler = _ref.valueHandler,
106
+ icon = _ref.icon,
107
+ onClick = _ref.onClick;
98
108
 
99
109
  var classes = useStyles();
100
110
 
@@ -142,7 +152,7 @@ var CollapsibleTree = function CollapsibleTree(_ref) {
142
152
  null,
143
153
  _react2.default.createElement(
144
154
  _Container2.default,
145
- { disableGutters: true, 'data-testid': testId },
155
+ { disableGutters: true, 'data-testid': testId, className: classes.container },
146
156
  _react2.default.createElement(
147
157
  _Button2.default,
148
158
  {
@@ -155,6 +165,11 @@ var CollapsibleTree = function CollapsibleTree(_ref) {
155
165
  },
156
166
  buttonAllOpenLabel
157
167
  ),
168
+ _react2.default.createElement(
169
+ _IconButton2.default,
170
+ { color: 'primary', onClick: onClick },
171
+ icon
172
+ ),
158
173
  children
159
174
  ),
160
175
  R.map(function (_ref3) {
@@ -244,7 +259,9 @@ CollapsibleTree.propTypes = process.env.NODE_ENV !== "production" ? {
244
259
  noValue: _propTypes2.default.string
245
260
  }),
246
261
  testId: _propTypes2.default.string,
247
- valueHandler: _propTypes2.default.func
262
+ valueHandler: _propTypes2.default.func,
263
+ icon: _propTypes2.default.element,
264
+ onClick: _propTypes2.default.func
248
265
  } : {};
249
266
 
250
267
  exports.default = CollapsibleTree;
@@ -40,6 +40,10 @@ var _ = require('../');
40
40
 
41
41
  var _theme = require('../theme');
42
42
 
43
+ var _useKeybordEscapeHandler = require('../hooks/useKeybordEscapeHandler');
44
+
45
+ var _useKeybordEscapeHandler2 = _interopRequireDefault(_useKeybordEscapeHandler);
46
+
43
47
  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; } }
44
48
 
45
49
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -105,6 +109,10 @@ var DataFooter = function DataFooter(_ref3) {
105
109
  var isCopyrighted = copyright && copyright.label && copyright.content;
106
110
  var classes = useStyles({ isWidthUp: isWidthUp, isSourced: isSourced });
107
111
 
112
+ var _useKeyboardEscapeHan = (0, _useKeybordEscapeHandler2.default)(),
113
+ open = _useKeyboardEscapeHan.open,
114
+ setOpen = _useKeyboardEscapeHan.setOpen;
115
+
108
116
  if (!isWidthUp(_theme.T4_BREAKPOINTS.xs)) return _react2.default.createElement(_Grid2.default, { ref: target });
109
117
 
110
118
  return _react2.default.createElement(
@@ -155,7 +163,14 @@ var DataFooter = function DataFooter(_ref3) {
155
163
  placement: 'top',
156
164
  enterNextDelay: 100,
157
165
  interactive: true,
158
- arrow: true
166
+ arrow: true,
167
+ open: open,
168
+ onOpen: function onOpen() {
169
+ return setOpen(true);
170
+ },
171
+ onClose: function onClose() {
172
+ return setOpen(false);
173
+ }
159
174
  },
160
175
  _react2.default.createElement(
161
176
  _Typography2.default,
@@ -80,7 +80,8 @@ var InputNumber = function InputNumber(_ref) {
80
80
  popperLabel = _ref.popperLabel,
81
81
  _ref$placeholder = _ref.placeholder,
82
82
  placeholder = _ref$placeholder === undefined ? '--' : _ref$placeholder,
83
- textFieldProps = _ref.textFieldProps;
83
+ textFieldProps = _ref.textFieldProps,
84
+ ariaLabel = _ref.ariaLabel;
84
85
 
85
86
  var classes = useStyles();
86
87
 
@@ -93,7 +94,7 @@ var InputNumber = function InputNumber(_ref) {
93
94
  { 'data-testid': 'input-number-test-id', className: classes.root },
94
95
  beforeLabel && _react2.default.createElement(
95
96
  _Typography2.default,
96
- { variant: 'body2', 'aria-label': beforeLabel, tabIndex: 0 },
97
+ { variant: 'body2', 'aria-label': beforeLabel, tabIndex: -1 },
97
98
  beforeLabel
98
99
  ),
99
100
  _react2.default.createElement(_TextField2.default, _extends({
@@ -101,7 +102,8 @@ var InputNumber = function InputNumber(_ref) {
101
102
  inputProps: {
102
103
  min: 0,
103
104
  step: 1,
104
- className: classes.input
105
+ className: classes.input,
106
+ 'aria-label': ariaLabel
105
107
  },
106
108
  placeholder: placeholder,
107
109
  onChange: function onChange(e) {
@@ -137,7 +139,8 @@ InputNumber.propTypes = process.env.NODE_ENV !== "production" ? {
137
139
  afterLabel: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.element]),
138
140
  popperLabel: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.element]),
139
141
  placeholder: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.element]),
140
- textFieldProps: _propTypes2.default.object
142
+ textFieldProps: _propTypes2.default.object,
143
+ ariaLabel: _propTypes2.default.string
141
144
  } : {};
142
145
 
143
146
  exports.default = (0, _utils.withBlank)(function (_ref2) {
package/lib/Mode/Mode.js CHANGED
@@ -32,6 +32,10 @@ var _Radio2 = _interopRequireDefault(_Radio);
32
32
 
33
33
  var _ = require('../');
34
34
 
35
+ var _useKeybordEscapeHandler = require('../hooks/useKeybordEscapeHandler');
36
+
37
+ var _useKeybordEscapeHandler2 = _interopRequireDefault(_useKeybordEscapeHandler);
38
+
35
39
  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; } }
36
40
 
37
41
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -56,6 +60,11 @@ var Warning = function Warning(_ref) {
56
60
  children = _ref.children;
57
61
 
58
62
  var classes = useStyles();
63
+
64
+ var _useKeyboardEscapeHan = (0, _useKeybordEscapeHandler2.default)(),
65
+ open = _useKeyboardEscapeHan.open,
66
+ setOpen = _useKeyboardEscapeHan.setOpen;
67
+
59
68
  return _react2.default.createElement(
60
69
  _.Tooltip,
61
70
  {
@@ -63,7 +72,15 @@ var Warning = function Warning(_ref) {
63
72
  title: title,
64
73
  variant: 'light',
65
74
  'aria-label': title,
66
- 'aria-hidden': false
75
+ 'aria-hidden': false,
76
+ interactive: true,
77
+ open: open,
78
+ onOpen: function onOpen() {
79
+ return setOpen(true);
80
+ },
81
+ onClose: function onClose() {
82
+ return setOpen(false);
83
+ }
67
84
  },
68
85
  children
69
86
  );
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sis-cc/dotstatsuite-visions",
3
- "version": "10.17.0",
3
+ "version": "10.19.0",
4
4
  "description": "Library of visual components",
5
5
  "author": "OECD",
6
6
  "homepage": "https://visions-qa.siscc.org/#o",
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * @sis-cc/dotstatsuite-visions v10.17.0 - https://visions-qa.siscc.org/#o
2
+ * @sis-cc/dotstatsuite-visions v10.19.0 - https://visions-qa.siscc.org/#o
3
3
  * MIT Licensed
4
4
  */
5
5
  (function webpackUniversalModuleDefinition(root, factory) {
@@ -821,7 +821,7 @@ function capitalize(string) {
821
821
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return useForkRef; });
822
822
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(0);
823
823
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
824
- /* harmony import */ var _setRef__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(28);
824
+ /* harmony import */ var _setRef__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(29);
825
825
 
826
826
 
827
827
  function useForkRef(refA, refB) {
@@ -1516,7 +1516,8 @@ function _objectWithoutPropertiesLoose(source, excluded) {
1516
1516
  }
1517
1517
 
1518
1518
  /***/ }),
1519
- /* 28 */
1519
+ /* 28 */,
1520
+ /* 29 */
1520
1521
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1521
1522
 
1522
1523
  "use strict";
@@ -1531,7 +1532,6 @@ function setRef(ref, value) {
1531
1532
  }
1532
1533
 
1533
1534
  /***/ }),
1534
- /* 29 */,
1535
1535
  /* 30 */
1536
1536
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
1537
1537
 
@@ -5638,7 +5638,7 @@ __webpack_require__.r(__webpack_exports__);
5638
5638
  /* harmony import */ var _requirePropFactory__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(105);
5639
5639
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "requirePropFactory", function() { return _requirePropFactory__WEBPACK_IMPORTED_MODULE_8__["a"]; });
5640
5640
 
5641
- /* harmony import */ var _setRef__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(28);
5641
+ /* harmony import */ var _setRef__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(29);
5642
5642
  /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "setRef", function() { return _setRef__WEBPACK_IMPORTED_MODULE_9__["a"]; });
5643
5643
 
5644
5644
  /* harmony import */ var _unsupportedProp__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(81);
@@ -6699,7 +6699,7 @@ function removeClassName(el
6699
6699
  /* 121 */
6700
6700
  /***/ (function(module) {
6701
6701
 
6702
- module.exports = {"name":"@sis-cc/dotstatsuite-visions","version":"10.17.0","description":"Library of visual components","author":"OECD","homepage":"https://visions-qa.siscc.org/#o","license":"MIT","repository":"https://gitlab.com/sis-cc/.stat-suite/dotstatsuite-visions","main":"lib/index.js","module":"es/index.js","engines":{"node":">=14"},"files":["css","es","lib","umd"],"scripts":{"build":"nwb build-react-component --copy-files --no-demo && node scripts/doc && nwb build-demo","build:dev":"nwb build-react-component --copy-files --no-demo","clean":"nwb clean-module && nwb clean-demo","prepublishOnly":"npm run build","start":"nwb serve-react-demo","test":"jest","test:watch":"jest --watch --no-cache","lint":"eslint src/ --color","precommit":"lint-staged"},"dependencies":{"@react-hook/size":"^2.1.1","classnames":"^2.2.6","date-fns":"^1.30.1","isemail":"^3.2.0","numeral":"^2.0.6","prop-types":"^15.7.2","ramda":"^0.27.0","react-beautiful-dnd":"^13.0.0","react-draggable":"^4.4.5","react-error-boundary":"^4.0.10","react-virtualized":"^9.21.2"},"peerDependencies":{"@material-ui/core":"^4","@material-ui/icons":"^4","@sis-cc/dotstatsuite-sdmxjs":"^8.x","react":"^18","react-dom":"^18"},"devDependencies":{"@babel/eslint-parser":"^7.5.4","@babel/plugin-syntax-dynamic-import":"^7.2.0","@cfaester/enzyme-adapter-react-18":"^0.7.0","@material-ui/core":"^4","@material-ui/icons":"^4","@sis-cc/dotstatsuite-sdmxjs":"*","@testing-library/jest-dom":"^5.16.5","@testing-library/react":"^14.0.0","babel-jest":"^24.8.0","babel-preset-react-app":"^9.0.0","dox":"^0.9.0","eslint":"^8.39.0","eslint-plugin-import":"^2.27.5","eslint-plugin-jsx-a11y":"^6.7.1","eslint-plugin-prettier":"^4.2.1","eslint-plugin-react":"^7.32.2","eslint-plugin-react-hooks":"^4.6.0","husky":"^2.7.0","identity-obj-proxy":"^3.0.0","jest":"^24.8.0","jss":"^10.10.0","jss-rtl":"^0.2.3","lint-staged":"^8.2.1","mutationobserver-shim":"^0.3.7","nwb":"0.23.0","prettier":"^2.8.8","pretty-quick":"^3.1.3","react":"^18","react-a11y":"^1.1.0","react-dom":"^18","react-helmet":"^5.2.1","react-scrollable-anchor":"^0.6.1","react-syntax-highlighter":"^10.2.1","sanitize-html":"2.7.0","webpack":"^5.68.0","webpack-cli":"^4.9.2","webpack-dev-server":"^4.7.4"},"jest":{"verbose":true,"coverageDirectory":"coverage","collectCoverageFrom":["src/**/*.{js,jsx,ts,tsx}","!src/ScopeList/*.{js,jsx,ts,tsx}","!src/**/*.d.ts"],"setupFilesAfterEnv":["<rootDir>/tests/setup.js"],"testMatch":["**/tests/**/*.{spec,test}.{js,jsx,ts,tsx}","!**/tests/ScopeList.test.js"],"testEnvironment":"jsdom","transform":{"^.+\\.(js|jsx|ts|tsx)$":"<rootDir>/node_modules/babel-jest"},"transformIgnorePatterns":["[/\\\\]node_modules[/\\\\].+\\.(js|jsx|ts|tsx)$","^.+\\.module\\.(css|sass|scss)$"],"modulePaths":[],"moduleNameMapper":{"^react-native$":"react-native-web","^.+\\.module\\.(css|sass|scss)$":"identity-obj-proxy","\\.(jpg|jpeg|png)$":"identity-obj-proxy"},"moduleFileExtensions":["web.js","js","web.ts","ts","web.tsx","tsx","json","web.jsx","jsx","node"]},"babel":{"presets":["react-app"],"plugins":["@babel/plugin-syntax-dynamic-import"]},"eslintConfig":{"env":{"browser":true,"jest":true,"node":true,"es6":true},"extends":["eslint:recommended","plugin:react/recommended","plugin:jsx-a11y/recommended"],"parser":"@babel/eslint-parser","parserOptions":{"babelOptions":{"presets":[["babel-preset-react-app",false],"babel-preset-react-app/test"]},"ecmaFeatures":{"experimentalObjectRestSpread":true,"jsx":true},"sourceType":"module"},"plugins":["prettier","react","import","react-hooks","jsx-a11y"],"rules":{"no-console":"warn","no-unused-vars":"error","react/display-name":"off","react-hooks/rules-of-hooks":"error","react-hooks/exhaustive-deps":"warn","no-use-before-define":"error"}},"browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"src/**/*.{js,css}":["prettier --write","git add","yarn lint"]},"prettier":{"endOfLine":"lf","useTabs":false,"printWidth":100,"tabWidth":2,"singleQuote":true,"trailingComma":"all","bracketSameLine":false,"bracketSpacing":true,"parser":"babel","semi":true,"arrowParens":"avoid"}};
6702
+ module.exports = {"name":"@sis-cc/dotstatsuite-visions","version":"10.19.0","description":"Library of visual components","author":"OECD","homepage":"https://visions-qa.siscc.org/#o","license":"MIT","repository":"https://gitlab.com/sis-cc/.stat-suite/dotstatsuite-visions","main":"lib/index.js","module":"es/index.js","engines":{"node":">=14"},"files":["css","es","lib","umd"],"scripts":{"build":"nwb build-react-component --copy-files --no-demo && node scripts/doc && nwb build-demo","build:dev":"nwb build-react-component --copy-files --no-demo","clean":"nwb clean-module && nwb clean-demo","prepublishOnly":"npm run build","start":"nwb serve-react-demo","test":"jest","test:watch":"jest --watch --no-cache","lint":"eslint src/ --color","precommit":"lint-staged"},"dependencies":{"@react-hook/size":"^2.1.1","classnames":"^2.2.6","date-fns":"^1.30.1","isemail":"^3.2.0","numeral":"^2.0.6","prop-types":"^15.7.2","ramda":"^0.27.0","react-beautiful-dnd":"^13.0.0","react-draggable":"^4.4.5","react-error-boundary":"^4.0.10","react-virtualized":"^9.21.2"},"peerDependencies":{"@material-ui/core":"^4","@material-ui/icons":"^4","@sis-cc/dotstatsuite-sdmxjs":"^8.x","react":"^18","react-dom":"^18"},"devDependencies":{"@babel/eslint-parser":"^7.5.4","@babel/plugin-syntax-dynamic-import":"^7.2.0","@cfaester/enzyme-adapter-react-18":"^0.7.0","@material-ui/core":"^4","@material-ui/icons":"^4","@sis-cc/dotstatsuite-sdmxjs":"*","@testing-library/jest-dom":"^5.16.5","@testing-library/react":"^14.0.0","babel-jest":"^24.8.0","babel-preset-react-app":"^9.0.0","dox":"^0.9.0","eslint":"^8.39.0","eslint-plugin-import":"^2.27.5","eslint-plugin-jsx-a11y":"^6.7.1","eslint-plugin-prettier":"^4.2.1","eslint-plugin-react":"^7.32.2","eslint-plugin-react-hooks":"^4.6.0","husky":"^2.7.0","identity-obj-proxy":"^3.0.0","jest":"^24.8.0","jss":"^10.10.0","jss-rtl":"^0.2.3","lint-staged":"^8.2.1","mutationobserver-shim":"^0.3.7","nwb":"0.23.0","prettier":"^2.8.8","pretty-quick":"^3.1.3","react":"^18","react-a11y":"^1.1.0","react-dom":"^18","react-helmet":"^5.2.1","react-scrollable-anchor":"^0.6.1","react-syntax-highlighter":"^10.2.1","sanitize-html":"2.7.0","webpack":"^5.68.0","webpack-cli":"^4.9.2","webpack-dev-server":"^4.7.4"},"jest":{"verbose":true,"coverageDirectory":"coverage","collectCoverageFrom":["src/**/*.{js,jsx,ts,tsx}","!src/ScopeList/*.{js,jsx,ts,tsx}","!src/**/*.d.ts"],"setupFilesAfterEnv":["<rootDir>/tests/setup.js"],"testMatch":["**/tests/**/*.{spec,test}.{js,jsx,ts,tsx}","!**/tests/ScopeList.test.js"],"testEnvironment":"jsdom","transform":{"^.+\\.(js|jsx|ts|tsx)$":"<rootDir>/node_modules/babel-jest"},"transformIgnorePatterns":["[/\\\\]node_modules[/\\\\].+\\.(js|jsx|ts|tsx)$","^.+\\.module\\.(css|sass|scss)$"],"modulePaths":[],"moduleNameMapper":{"^react-native$":"react-native-web","^.+\\.module\\.(css|sass|scss)$":"identity-obj-proxy","\\.(jpg|jpeg|png)$":"identity-obj-proxy"},"moduleFileExtensions":["web.js","js","web.ts","ts","web.tsx","tsx","json","web.jsx","jsx","node"]},"babel":{"presets":["react-app"],"plugins":["@babel/plugin-syntax-dynamic-import"]},"eslintConfig":{"env":{"browser":true,"jest":true,"node":true,"es6":true},"extends":["eslint:recommended","plugin:react/recommended","plugin:jsx-a11y/recommended"],"parser":"@babel/eslint-parser","parserOptions":{"babelOptions":{"presets":[["babel-preset-react-app",false],"babel-preset-react-app/test"]},"ecmaFeatures":{"experimentalObjectRestSpread":true,"jsx":true},"sourceType":"module"},"plugins":["prettier","react","import","react-hooks","jsx-a11y"],"rules":{"no-console":"warn","no-unused-vars":"error","react/display-name":"off","react-hooks/rules-of-hooks":"error","react-hooks/exhaustive-deps":"warn","no-use-before-define":"error"}},"browserslist":{"production":[">0.2%","not dead","not op_mini all"],"development":["last 1 chrome version","last 1 firefox version","last 1 safari version"]},"husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"src/**/*.{js,css}":["prettier --write","git add","yarn lint"]},"prettier":{"endOfLine":"lf","useTabs":false,"printWidth":100,"tabWidth":2,"singleQuote":true,"trailingComma":"all","bracketSameLine":false,"bracketSpacing":true,"parser":"babel","semi":true,"arrowParens":"avoid"}};
6703
6703
 
6704
6704
  /***/ }),
6705
6705
  /* 122 */
@@ -34298,7 +34298,7 @@ var createChainedFunction = __webpack_require__(33);
34298
34298
  var getThemeProps = __webpack_require__(415);
34299
34299
 
34300
34300
  // EXTERNAL MODULE: ./node_modules/@material-ui/core/esm/utils/setRef.js
34301
- var utils_setRef = __webpack_require__(28);
34301
+ var utils_setRef = __webpack_require__(29);
34302
34302
 
34303
34303
  // CONCATENATED MODULE: ./node_modules/@material-ui/core/esm/Portal/Portal.js
34304
34304
 
@@ -43882,8 +43882,14 @@ function CollapsibleTree_objectWithoutProperties(obj, keys) { var target = {}; f
43882
43882
 
43883
43883
 
43884
43884
 
43885
+
43886
+
43885
43887
  var CollapsibleTree_useStyles = styles_makeStyles(function (theme) {
43886
43888
  return {
43889
+ container: {
43890
+ display: 'flex',
43891
+ justifyContent: 'space-between'
43892
+ },
43887
43893
  title: CollapsibleTree_extends({
43888
43894
  fontWeight: 'bold'
43889
43895
  }, es_pathOr({}, ['mixins', 'collapsibleTree', 'title'], theme)),
@@ -43912,7 +43918,9 @@ var CollapsibleTree_CollapsibleTree = function CollapsibleTree(_ref) {
43912
43918
  labels = _ref.labels,
43913
43919
  _ref$testId = _ref.testId,
43914
43920
  testId = _ref$testId === undefined ? 'collapsible-tree' : _ref$testId,
43915
- valueHandler = _ref.valueHandler;
43921
+ valueHandler = _ref.valueHandler,
43922
+ icon = _ref.icon,
43923
+ onClick = _ref.onClick;
43916
43924
 
43917
43925
  var classes = CollapsibleTree_useStyles();
43918
43926
 
@@ -43960,7 +43968,7 @@ var CollapsibleTree_CollapsibleTree = function CollapsibleTree(_ref) {
43960
43968
  null,
43961
43969
  react_default.a.createElement(
43962
43970
  esm_Container_Container,
43963
- { disableGutters: true, 'data-testid': testId },
43971
+ { disableGutters: true, 'data-testid': testId, className: classes.container },
43964
43972
  react_default.a.createElement(
43965
43973
  esm_Button_Button,
43966
43974
  {
@@ -43973,6 +43981,11 @@ var CollapsibleTree_CollapsibleTree = function CollapsibleTree(_ref) {
43973
43981
  },
43974
43982
  buttonAllOpenLabel
43975
43983
  ),
43984
+ react_default.a.createElement(
43985
+ esm_IconButton_IconButton,
43986
+ { color: 'primary', onClick: onClick },
43987
+ icon
43988
+ ),
43976
43989
  children
43977
43990
  ),
43978
43991
  es_map(function (_ref3) {
@@ -44062,7 +44075,9 @@ CollapsibleTree_CollapsibleTree.propTypes = {
44062
44075
  noValue: prop_types_default.a.string
44063
44076
  }),
44064
44077
  testId: prop_types_default.a.string,
44065
- valueHandler: prop_types_default.a.func
44078
+ valueHandler: prop_types_default.a.func,
44079
+ icon: prop_types_default.a.element,
44080
+ onClick: prop_types_default.a.func
44066
44081
  };
44067
44082
 
44068
44083
  /* harmony default export */ var src_CollapsibleTree_CollapsibleTree = (CollapsibleTree_CollapsibleTree);
@@ -47866,6 +47881,7 @@ DataHeader_DataHeader.propTypes = {
47866
47881
 
47867
47882
 
47868
47883
 
47884
+
47869
47885
  var HEIGHT = 42;
47870
47886
 
47871
47887
  var DataFooter_useStyles = styles_makeStyles(function (theme) {
@@ -47927,6 +47943,10 @@ var DataFooter_DataFooter = function DataFooter(_ref3) {
47927
47943
  var isCopyrighted = copyright && copyright.label && copyright.content;
47928
47944
  var classes = DataFooter_useStyles({ isWidthUp: isWidthUp, isSourced: isSourced });
47929
47945
 
47946
+ var _useKeyboardEscapeHan = useKeybordEscapeHandler(),
47947
+ open = _useKeyboardEscapeHan.open,
47948
+ setOpen = _useKeyboardEscapeHan.setOpen;
47949
+
47930
47950
  if (!isWidthUp(T4_BREAKPOINTS.xs)) return react_default.a.createElement(esm_Grid_Grid, { ref: target });
47931
47951
 
47932
47952
  return react_default.a.createElement(
@@ -47977,7 +47997,14 @@ var DataFooter_DataFooter = function DataFooter(_ref3) {
47977
47997
  placement: 'top',
47978
47998
  enterNextDelay: 100,
47979
47999
  interactive: true,
47980
- arrow: true
48000
+ arrow: true,
48001
+ open: open,
48002
+ onOpen: function onOpen() {
48003
+ return setOpen(true);
48004
+ },
48005
+ onClose: function onClose() {
48006
+ return setOpen(false);
48007
+ }
47981
48008
  },
47982
48009
  react_default.a.createElement(
47983
48010
  esm_Typography_Typography,
@@ -49207,7 +49234,8 @@ var InputNumber_InputNumber = function InputNumber(_ref) {
49207
49234
  popperLabel = _ref.popperLabel,
49208
49235
  _ref$placeholder = _ref.placeholder,
49209
49236
  placeholder = _ref$placeholder === undefined ? '--' : _ref$placeholder,
49210
- textFieldProps = _ref.textFieldProps;
49237
+ textFieldProps = _ref.textFieldProps,
49238
+ ariaLabel = _ref.ariaLabel;
49211
49239
 
49212
49240
  var classes = InputNumber_useStyles();
49213
49241
 
@@ -49220,7 +49248,7 @@ var InputNumber_InputNumber = function InputNumber(_ref) {
49220
49248
  { 'data-testid': 'input-number-test-id', className: classes.root },
49221
49249
  beforeLabel && react_default.a.createElement(
49222
49250
  esm_Typography_Typography,
49223
- { variant: 'body2', 'aria-label': beforeLabel, tabIndex: 0 },
49251
+ { variant: 'body2', 'aria-label': beforeLabel, tabIndex: -1 },
49224
49252
  beforeLabel
49225
49253
  ),
49226
49254
  react_default.a.createElement(esm_TextField_TextField, InputNumber_extends({
@@ -49228,7 +49256,8 @@ var InputNumber_InputNumber = function InputNumber(_ref) {
49228
49256
  inputProps: {
49229
49257
  min: 0,
49230
49258
  step: 1,
49231
- className: classes.input
49259
+ className: classes.input,
49260
+ 'aria-label': ariaLabel
49232
49261
  },
49233
49262
  placeholder: placeholder,
49234
49263
  onChange: function onChange(e) {
@@ -49264,7 +49293,8 @@ InputNumber_InputNumber.propTypes = {
49264
49293
  afterLabel: prop_types_default.a.oneOfType([prop_types_default.a.string, prop_types_default.a.element]),
49265
49294
  popperLabel: prop_types_default.a.oneOfType([prop_types_default.a.string, prop_types_default.a.element]),
49266
49295
  placeholder: prop_types_default.a.oneOfType([prop_types_default.a.string, prop_types_default.a.element]),
49267
- textFieldProps: prop_types_default.a.object
49296
+ textFieldProps: prop_types_default.a.object,
49297
+ ariaLabel: prop_types_default.a.string
49268
49298
  };
49269
49299
 
49270
49300
  /* harmony default export */ var src_InputNumber_InputNumber = (utils_withBlank(function (_ref2) {
@@ -49644,6 +49674,7 @@ var Mode_Mode_extends = Object.assign || function (target) { for (var i = 1; i <
49644
49674
 
49645
49675
 
49646
49676
 
49677
+
49647
49678
  var Mode_Mode_useStyles = styles_makeStyles(function (theme) {
49648
49679
  return {
49649
49680
  title: Mode_Mode_extends({
@@ -49664,6 +49695,11 @@ var Mode_Mode_Warning = function Warning(_ref) {
49664
49695
  children = _ref.children;
49665
49696
 
49666
49697
  var classes = Mode_Mode_useStyles();
49698
+
49699
+ var _useKeyboardEscapeHan = useKeybordEscapeHandler(),
49700
+ open = _useKeyboardEscapeHan.open,
49701
+ setOpen = _useKeyboardEscapeHan.setOpen;
49702
+
49667
49703
  return react_default.a.createElement(
49668
49704
  src_Tooltip_Tooltip,
49669
49705
  {
@@ -49671,7 +49707,15 @@ var Mode_Mode_Warning = function Warning(_ref) {
49671
49707
  title: title,
49672
49708
  variant: 'light',
49673
49709
  'aria-label': title,
49674
- 'aria-hidden': false
49710
+ 'aria-hidden': false,
49711
+ interactive: true,
49712
+ open: open,
49713
+ onOpen: function onOpen() {
49714
+ return setOpen(true);
49715
+ },
49716
+ onClose: function onClose() {
49717
+ return setOpen(false);
49718
+ }
49675
49719
  },
49676
49720
  children
49677
49721
  );