@sis-cc/dotstatsuite-visions 10.15.1 → 10.15.3

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.
@@ -1,4 +1,4 @@
1
- import React, { useState, useCallback, useEffect } from 'react';
1
+ import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import * as R from 'ramda';
4
4
  import cx from 'classnames';
@@ -10,6 +10,7 @@ import { getIsRtl } from '../utils';
10
10
  import Tooltip from '../Tooltip';
11
11
  import makeStylesFn from './styles';
12
12
  import { myTooltipRenderer, myTooltipRendererSrOnly, showMultiLinedTooltip, shownTooltip } from './utils';
13
+ import useKeyboardEscapeHandler from '../hooks/useKeybordEscapeHandler';
13
14
 
14
15
  var useStyles = makeStyles(makeStylesFn);
15
16
 
@@ -59,22 +60,10 @@ var CustomChip = function CustomChip(_ref) {
59
60
  return R.join(',')(R.map(myTooltipRendererSrOnly({ isRtl: isRtl, labelRenderer: labelRenderer, ariaLabelTooltip: ariaLabelTooltip }), R.propOr([], 'parents')(R.head(items))));
60
61
  };
61
62
 
62
- var _useState = useState(false),
63
- open = _useState[0],
64
- setOpen = _useState[1];
63
+ var _useKeyboardEscapeHan = useKeyboardEscapeHandler(),
64
+ open = _useKeyboardEscapeHan.open,
65
+ setOpen = _useKeyboardEscapeHan.setOpen;
65
66
 
66
- var handler = useCallback(function (e) {
67
- if (e.key === 'Escape') {
68
- setOpen(false);
69
- }
70
- }, []);
71
-
72
- useEffect(function () {
73
- document.addEventListener('keydown', handler);
74
- return function () {
75
- document.removeEventListener('keydown', handler);
76
- };
77
- }, []);
78
67
  return React.createElement(Chip, {
79
68
  'data-testid': testId,
80
69
  size: 'small',
@@ -28,12 +28,9 @@ var useStyles = makeStyles(function (theme) {
28
28
  card: {
29
29
  borderBottom: '1px solid ' + theme.palette.grey[700],
30
30
  padding: theme.spacing(0, 0, 2, 0),
31
- '& em': {
31
+ '& mark': {
32
32
  color: 'inherit',
33
- backgroundColor: R.path(['palette', 'highlight', 'hl3'])(theme) || theme.palette.success.main,
34
- borderBottom: '2px solid ' + (R.path(['palette', 'highlight', 'hl2'])(theme) || theme.palette.success.dark),
35
- marginBottom: -3,
36
- fontStyle: 'unset'
33
+ borderBottom: '2px solid ' + (R.path(['palette', 'highlight', 'hl2'])(theme) || theme.palette.success.dark)
37
34
  }
38
35
  },
39
36
  cardHeader: {
@@ -1,6 +1,6 @@
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, { Fragment, useState, useCallback, useEffect } from 'react';
3
+ import React, { Fragment } from 'react';
4
4
  import PropTypes from 'prop-types';
5
5
  import * as R from 'ramda';
6
6
  import cx from 'classnames';
@@ -9,6 +9,7 @@ import Typography from '@material-ui/core/Typography';
9
9
  import Tooltip from '@material-ui/core/Tooltip';
10
10
  import { Asterisk } from '../';
11
11
  import { getValue } from './utils';
12
+ import useKeyboardEscapeHandler from '../hooks/useKeybordEscapeHandler';
12
13
 
13
14
  var useStyles = makeStyles(function (theme) {
14
15
  return {
@@ -52,22 +53,10 @@ var Flags = function Flags(_ref) {
52
53
  var classes = useStyles();
53
54
  var noFlags = R.isNil(flags) || R.isEmpty(flags);
54
55
 
55
- var _useState = useState(false),
56
- open = _useState[0],
57
- setOpen = _useState[1];
56
+ var _useKeyboardEscapeHan = useKeyboardEscapeHandler(),
57
+ open = _useKeyboardEscapeHan.open,
58
+ setOpen = _useKeyboardEscapeHan.setOpen;
58
59
 
59
- var handler = useCallback(function (e) {
60
- if (e.key === 'Escape') {
61
- setOpen(false);
62
- }
63
- }, []);
64
-
65
- useEffect(function () {
66
- document.addEventListener('keydown', handler);
67
- return function () {
68
- document.removeEventListener('keydown', handler);
69
- };
70
- }, []);
71
60
  if (noFlags) return null;
72
61
 
73
62
  var hasUncoded = R.any(R.complement(R.has('code')), flags);
@@ -1,6 +1,6 @@
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, { useCallback, useEffect } from 'react';
3
+ import React from 'react';
4
4
  import * as R from 'ramda';
5
5
  import PropTypes from 'prop-types';
6
6
  import ListItem from '@material-ui/core/ListItem';
@@ -13,6 +13,7 @@ import CheckBoxIcon from '@material-ui/icons/CheckBoxOutlineBlankOutlined';
13
13
  import CheckedBoxIcon from '@material-ui/icons/CheckBoxOutlined';
14
14
  import cx from 'classnames';
15
15
  import { Tooltip } from '../';
16
+ import useKeyboardEscapeHandler from '../hooks/useKeybordEscapeHandler';
16
17
 
17
18
  var Item = function Item(_ref) {
18
19
  var _extends2, _cx, _cx2, _cx3, _cx4, _cx5;
@@ -43,25 +44,12 @@ var Item = function Item(_ref) {
43
44
  eventsListeners = _ref.eventsListeners,
44
45
  expanded = _ref.expanded;
45
46
 
46
- var _React$useState = React.useState(false),
47
- isTooltipShown = _React$useState[0],
48
- setIsTooltipShown = _React$useState[1];
47
+ var _useKeyboardEscapeHan = useKeyboardEscapeHandler(),
48
+ open = _useKeyboardEscapeHan.open,
49
+ setOpen = _useKeyboardEscapeHan.setOpen;
49
50
 
50
51
  var padding = depth * 30 + (depth > 0 && !hasChildrenOnLevel ? 30 : 0) + (!hasChild && hasChildrenOnLevel ? 30 : 0);
51
52
 
52
- var handler = useCallback(function (e) {
53
- if (e.key === 'Escape') {
54
- setIsTooltipShown(false);
55
- }
56
- }, []);
57
-
58
- useEffect(function () {
59
- document.addEventListener('keydown', handler);
60
- return function () {
61
- document.removeEventListener('keydown', handler);
62
- };
63
- }, []);
64
-
65
53
  return React.createElement(
66
54
  ListItem,
67
55
  {
@@ -105,8 +93,8 @@ var Item = function Item(_ref) {
105
93
  className: cx((_cx = {}, _cx[classes.accessibilityItemHover] = accessibility, _cx[classes.listItemSelected] = isSelected, _cx[classes.listItemHover] = !isDisabled, _cx)),
106
94
  onKeyDown: isDisabled ? null : eventsListeners.onKeyDown,
107
95
  onClick: isDisabled ? null : eventsListeners.onClick,
108
- onMouseDown: isDisabled || isTooltipShown ? null : eventsListeners.onMouseDown,
109
- onMouseEnter: isDisabled || isTooltipShown ? null : eventsListeners.onMouseEnter,
96
+ onMouseDown: isDisabled || open ? null : eventsListeners.onMouseDown,
97
+ onMouseEnter: isDisabled || open ? null : eventsListeners.onMouseEnter,
110
98
  title: isGreyed ? R.propOr('', 'disableItemLabel')(labels) + ' ' + label : label,
111
99
  style: { opacity: isDisabled && isGreyed ? '0.5' : '1' },
112
100
  primary: React.createElement(
@@ -145,13 +133,13 @@ var Item = function Item(_ref) {
145
133
  placement: 'top',
146
134
  interactive: Boolean(HTMLRenderer),
147
135
  onOpen: function onOpen() {
148
- return setIsTooltipShown(true);
136
+ return setOpen(true);
149
137
  },
150
138
  onClose: function onClose() {
151
- return setIsTooltipShown(false);
139
+ return setOpen(false);
152
140
  },
153
141
  disableHoverListener: R.isEmpty(description),
154
- open: isTooltipShown
142
+ open: open
155
143
  },
156
144
  React.createElement(
157
145
  Typography,
@@ -0,0 +1,22 @@
1
+ import { useEffect, useState, useCallback } from 'react';
2
+
3
+ export default (function () {
4
+ var _useState = useState(false),
5
+ open = _useState[0],
6
+ setOpen = _useState[1];
7
+
8
+ var handler = useCallback(function (e) {
9
+ if (e.key === 'Escape') {
10
+ setOpen(false);
11
+ }
12
+ }, []);
13
+
14
+ useEffect(function () {
15
+ document.addEventListener('keydown', handler);
16
+ return function () {
17
+ document.removeEventListener('keydown', handler);
18
+ };
19
+ }, []);
20
+
21
+ return { open: open, setOpen: setOpen };
22
+ });
@@ -44,6 +44,10 @@ var _styles3 = _interopRequireDefault(_styles2);
44
44
 
45
45
  var _utils2 = require('./utils');
46
46
 
47
+ var _useKeybordEscapeHandler = require('../hooks/useKeybordEscapeHandler');
48
+
49
+ var _useKeybordEscapeHandler2 = _interopRequireDefault(_useKeybordEscapeHandler);
50
+
47
51
  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
52
 
49
53
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -96,22 +100,10 @@ var CustomChip = function CustomChip(_ref) {
96
100
  return R.join(',')(R.map((0, _utils2.myTooltipRendererSrOnly)({ isRtl: isRtl, labelRenderer: labelRenderer, ariaLabelTooltip: ariaLabelTooltip }), R.propOr([], 'parents')(R.head(items))));
97
101
  };
98
102
 
99
- var _useState = (0, _react.useState)(false),
100
- open = _useState[0],
101
- setOpen = _useState[1];
102
-
103
- var handler = (0, _react.useCallback)(function (e) {
104
- if (e.key === 'Escape') {
105
- setOpen(false);
106
- }
107
- }, []);
108
-
109
- (0, _react.useEffect)(function () {
110
- document.addEventListener('keydown', handler);
111
- return function () {
112
- document.removeEventListener('keydown', handler);
113
- };
114
- }, []);
103
+ var _useKeyboardEscapeHan = (0, _useKeybordEscapeHandler2.default)(),
104
+ open = _useKeyboardEscapeHan.open,
105
+ setOpen = _useKeyboardEscapeHan.setOpen;
106
+
115
107
  return _react2.default.createElement(_Chip2.default, {
116
108
  'data-testid': testId,
117
109
  size: 'small',
@@ -89,12 +89,9 @@ var useStyles = (0, _styles.makeStyles)(function (theme) {
89
89
  card: {
90
90
  borderBottom: '1px solid ' + theme.palette.grey[700],
91
91
  padding: theme.spacing(0, 0, 2, 0),
92
- '& em': {
92
+ '& mark': {
93
93
  color: 'inherit',
94
- backgroundColor: R.path(['palette', 'highlight', 'hl3'])(theme) || theme.palette.success.main,
95
- borderBottom: '2px solid ' + (R.path(['palette', 'highlight', 'hl2'])(theme) || theme.palette.success.dark),
96
- marginBottom: -3,
97
- fontStyle: 'unset'
94
+ borderBottom: '2px solid ' + (R.path(['palette', 'highlight', 'hl2'])(theme) || theme.palette.success.dark)
98
95
  }
99
96
  },
100
97
  cardHeader: {
@@ -34,6 +34,10 @@ var _ = require('../');
34
34
 
35
35
  var _utils = require('./utils');
36
36
 
37
+ var _useKeybordEscapeHandler = require('../hooks/useKeybordEscapeHandler');
38
+
39
+ var _useKeybordEscapeHandler2 = _interopRequireDefault(_useKeybordEscapeHandler);
40
+
37
41
  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; } }
38
42
 
39
43
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -80,22 +84,10 @@ var Flags = function Flags(_ref) {
80
84
  var classes = useStyles();
81
85
  var noFlags = R.isNil(flags) || R.isEmpty(flags);
82
86
 
83
- var _useState = (0, _react.useState)(false),
84
- open = _useState[0],
85
- setOpen = _useState[1];
87
+ var _useKeyboardEscapeHan = (0, _useKeybordEscapeHandler2.default)(),
88
+ open = _useKeyboardEscapeHan.open,
89
+ setOpen = _useKeyboardEscapeHan.setOpen;
86
90
 
87
- var handler = (0, _react.useCallback)(function (e) {
88
- if (e.key === 'Escape') {
89
- setOpen(false);
90
- }
91
- }, []);
92
-
93
- (0, _react.useEffect)(function () {
94
- document.addEventListener('keydown', handler);
95
- return function () {
96
- document.removeEventListener('keydown', handler);
97
- };
98
- }, []);
99
91
  if (noFlags) return null;
100
92
 
101
93
  var hasUncoded = R.any(R.complement(R.has('code')), flags);
@@ -50,6 +50,10 @@ var _classnames2 = _interopRequireDefault(_classnames);
50
50
 
51
51
  var _ = require('../');
52
52
 
53
+ var _useKeybordEscapeHandler = require('../hooks/useKeybordEscapeHandler');
54
+
55
+ var _useKeybordEscapeHandler2 = _interopRequireDefault(_useKeybordEscapeHandler);
56
+
53
57
  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; } }
54
58
 
55
59
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -83,25 +87,12 @@ var Item = function Item(_ref) {
83
87
  eventsListeners = _ref.eventsListeners,
84
88
  expanded = _ref.expanded;
85
89
 
86
- var _React$useState = _react2.default.useState(false),
87
- isTooltipShown = _React$useState[0],
88
- setIsTooltipShown = _React$useState[1];
90
+ var _useKeyboardEscapeHan = (0, _useKeybordEscapeHandler2.default)(),
91
+ open = _useKeyboardEscapeHan.open,
92
+ setOpen = _useKeyboardEscapeHan.setOpen;
89
93
 
90
94
  var padding = depth * 30 + (depth > 0 && !hasChildrenOnLevel ? 30 : 0) + (!hasChild && hasChildrenOnLevel ? 30 : 0);
91
95
 
92
- var handler = (0, _react.useCallback)(function (e) {
93
- if (e.key === 'Escape') {
94
- setIsTooltipShown(false);
95
- }
96
- }, []);
97
-
98
- (0, _react.useEffect)(function () {
99
- document.addEventListener('keydown', handler);
100
- return function () {
101
- document.removeEventListener('keydown', handler);
102
- };
103
- }, []);
104
-
105
96
  return _react2.default.createElement(
106
97
  _ListItem2.default,
107
98
  {
@@ -145,8 +136,8 @@ var Item = function Item(_ref) {
145
136
  className: (0, _classnames2.default)((_cx = {}, _cx[classes.accessibilityItemHover] = accessibility, _cx[classes.listItemSelected] = isSelected, _cx[classes.listItemHover] = !isDisabled, _cx)),
146
137
  onKeyDown: isDisabled ? null : eventsListeners.onKeyDown,
147
138
  onClick: isDisabled ? null : eventsListeners.onClick,
148
- onMouseDown: isDisabled || isTooltipShown ? null : eventsListeners.onMouseDown,
149
- onMouseEnter: isDisabled || isTooltipShown ? null : eventsListeners.onMouseEnter,
139
+ onMouseDown: isDisabled || open ? null : eventsListeners.onMouseDown,
140
+ onMouseEnter: isDisabled || open ? null : eventsListeners.onMouseEnter,
150
141
  title: isGreyed ? R.propOr('', 'disableItemLabel')(labels) + ' ' + label : label,
151
142
  style: { opacity: isDisabled && isGreyed ? '0.5' : '1' },
152
143
  primary: _react2.default.createElement(
@@ -185,13 +176,13 @@ var Item = function Item(_ref) {
185
176
  placement: 'top',
186
177
  interactive: Boolean(HTMLRenderer),
187
178
  onOpen: function onOpen() {
188
- return setIsTooltipShown(true);
179
+ return setOpen(true);
189
180
  },
190
181
  onClose: function onClose() {
191
- return setIsTooltipShown(false);
182
+ return setOpen(false);
192
183
  },
193
184
  disableHoverListener: R.isEmpty(description),
194
- open: isTooltipShown
185
+ open: open
195
186
  },
196
187
  _react2.default.createElement(
197
188
  _Typography2.default,
@@ -0,0 +1,28 @@
1
+ 'use strict';
2
+
3
+ exports.__esModule = true;
4
+
5
+ var _react = require('react');
6
+
7
+ exports.default = function () {
8
+ var _useState = (0, _react.useState)(false),
9
+ open = _useState[0],
10
+ setOpen = _useState[1];
11
+
12
+ var handler = (0, _react.useCallback)(function (e) {
13
+ if (e.key === 'Escape') {
14
+ setOpen(false);
15
+ }
16
+ }, []);
17
+
18
+ (0, _react.useEffect)(function () {
19
+ document.addEventListener('keydown', handler);
20
+ return function () {
21
+ document.removeEventListener('keydown', handler);
22
+ };
23
+ }, []);
24
+
25
+ return { open: open, setOpen: setOpen };
26
+ };
27
+
28
+ module.exports = exports['default'];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sis-cc/dotstatsuite-visions",
3
- "version": "10.15.1",
3
+ "version": "10.15.3",
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.15.1 - https://visions-qa.siscc.org/#o
2
+ * @sis-cc/dotstatsuite-visions v10.15.3 - https://visions-qa.siscc.org/#o
3
3
  * MIT Licensed
4
4
  */
5
5
  (function webpackUniversalModuleDefinition(root, factory) {
@@ -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.15.1","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.15.3","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 */
@@ -42157,6 +42157,29 @@ var utils_isLast = function isLast(index, list) {
42157
42157
 
42158
42158
  var shownTooltip = pipe(es_dropLast(1), es_either(es_isEmpty, es_isNil), es_not);
42159
42159
  var showMultiLinedTooltip = pipe(es_head, es_propOr([], 'parents'), es_isEmpty, es_not);
42160
+ // CONCATENATED MODULE: ./src/hooks/useKeybordEscapeHandler.js
42161
+
42162
+
42163
+ /* harmony default export */ var useKeybordEscapeHandler = (function () {
42164
+ var _useState = Object(react["useState"])(false),
42165
+ open = _useState[0],
42166
+ setOpen = _useState[1];
42167
+
42168
+ var handler = Object(react["useCallback"])(function (e) {
42169
+ if (e.key === 'Escape') {
42170
+ setOpen(false);
42171
+ }
42172
+ }, []);
42173
+
42174
+ Object(react["useEffect"])(function () {
42175
+ document.addEventListener('keydown', handler);
42176
+ return function () {
42177
+ document.removeEventListener('keydown', handler);
42178
+ };
42179
+ }, []);
42180
+
42181
+ return { open: open, setOpen: setOpen };
42182
+ });
42160
42183
  // CONCATENATED MODULE: ./src/Chips/CustomChip.js
42161
42184
 
42162
42185
 
@@ -42171,6 +42194,7 @@ var showMultiLinedTooltip = pipe(es_head, es_propOr([], 'parents'), es_isEmpty,
42171
42194
 
42172
42195
 
42173
42196
 
42197
+
42174
42198
  var CustomChip_useStyles = styles_makeStyles(Chips_styles);
42175
42199
 
42176
42200
  var CustomChip_CustomChip = function CustomChip(_ref) {
@@ -42219,22 +42243,10 @@ var CustomChip_CustomChip = function CustomChip(_ref) {
42219
42243
  return es_join(',')(es_map(utils_myTooltipRendererSrOnly({ isRtl: isRtl, labelRenderer: labelRenderer, ariaLabelTooltip: ariaLabelTooltip }), es_propOr([], 'parents')(es_head(items))));
42220
42244
  };
42221
42245
 
42222
- var _useState = Object(react["useState"])(false),
42223
- open = _useState[0],
42224
- setOpen = _useState[1];
42225
-
42226
- var handler = Object(react["useCallback"])(function (e) {
42227
- if (e.key === 'Escape') {
42228
- setOpen(false);
42229
- }
42230
- }, []);
42246
+ var _useKeyboardEscapeHan = useKeybordEscapeHandler(),
42247
+ open = _useKeyboardEscapeHan.open,
42248
+ setOpen = _useKeyboardEscapeHan.setOpen;
42231
42249
 
42232
- Object(react["useEffect"])(function () {
42233
- document.addEventListener('keydown', handler);
42234
- return function () {
42235
- document.removeEventListener('keydown', handler);
42236
- };
42237
- }, []);
42238
42250
  return react_default.a.createElement(esm_Chip_Chip, {
42239
42251
  'data-testid': testId,
42240
42252
  size: 'small',
@@ -46145,12 +46157,9 @@ var Dataflow_useStyles = styles_makeStyles(function (theme) {
46145
46157
  card: {
46146
46158
  borderBottom: '1px solid ' + theme.palette.grey[700],
46147
46159
  padding: theme.spacing(0, 0, 2, 0),
46148
- '& em': {
46160
+ '& mark': {
46149
46161
  color: 'inherit',
46150
- backgroundColor: es_path(['palette', 'highlight', 'hl3'])(theme) || theme.palette.success.main,
46151
- borderBottom: '2px solid ' + (es_path(['palette', 'highlight', 'hl2'])(theme) || theme.palette.success.dark),
46152
- marginBottom: -3,
46153
- fontStyle: 'unset'
46162
+ borderBottom: '2px solid ' + (es_path(['palette', 'highlight', 'hl2'])(theme) || theme.palette.success.dark)
46154
46163
  }
46155
46164
  },
46156
46165
  cardHeader: {
@@ -53575,6 +53584,7 @@ var flags_extends = Object.assign || function (target) { for (var i = 1; i < arg
53575
53584
 
53576
53585
 
53577
53586
 
53587
+
53578
53588
  var flags_useStyles = styles_makeStyles(function (theme) {
53579
53589
  return {
53580
53590
  content: flags_extends({
@@ -53617,22 +53627,10 @@ var flags_Flags = function Flags(_ref) {
53617
53627
  var classes = flags_useStyles();
53618
53628
  var noFlags = es_isNil(flags) || es_isEmpty(flags);
53619
53629
 
53620
- var _useState = Object(react["useState"])(false),
53621
- open = _useState[0],
53622
- setOpen = _useState[1];
53630
+ var _useKeyboardEscapeHan = useKeybordEscapeHandler(),
53631
+ open = _useKeyboardEscapeHan.open,
53632
+ setOpen = _useKeyboardEscapeHan.setOpen;
53623
53633
 
53624
- var handler = Object(react["useCallback"])(function (e) {
53625
- if (e.key === 'Escape') {
53626
- setOpen(false);
53627
- }
53628
- }, []);
53629
-
53630
- Object(react["useEffect"])(function () {
53631
- document.addEventListener('keydown', handler);
53632
- return function () {
53633
- document.removeEventListener('keydown', handler);
53634
- };
53635
- }, []);
53636
53634
  if (noFlags) return null;
53637
53635
 
53638
53636
  var hasUncoded = es_any(es_complement(es_has('code')), flags);
@@ -70658,6 +70656,7 @@ var VirtualizedTree_Item_extends = Object.assign || function (target) { for (var
70658
70656
 
70659
70657
 
70660
70658
 
70659
+
70661
70660
  var VirtualizedTree_Item_Item = function Item(_ref) {
70662
70661
  var _extends2, _cx, _cx2, _cx3, _cx4, _cx5;
70663
70662
 
@@ -70687,25 +70686,12 @@ var VirtualizedTree_Item_Item = function Item(_ref) {
70687
70686
  eventsListeners = _ref.eventsListeners,
70688
70687
  expanded = _ref.expanded;
70689
70688
 
70690
- var _React$useState = react_default.a.useState(false),
70691
- isTooltipShown = _React$useState[0],
70692
- setIsTooltipShown = _React$useState[1];
70689
+ var _useKeyboardEscapeHan = useKeybordEscapeHandler(),
70690
+ open = _useKeyboardEscapeHan.open,
70691
+ setOpen = _useKeyboardEscapeHan.setOpen;
70693
70692
 
70694
70693
  var padding = depth * 30 + (depth > 0 && !hasChildrenOnLevel ? 30 : 0) + (!hasChild && hasChildrenOnLevel ? 30 : 0);
70695
70694
 
70696
- var handler = Object(react["useCallback"])(function (e) {
70697
- if (e.key === 'Escape') {
70698
- setIsTooltipShown(false);
70699
- }
70700
- }, []);
70701
-
70702
- Object(react["useEffect"])(function () {
70703
- document.addEventListener('keydown', handler);
70704
- return function () {
70705
- document.removeEventListener('keydown', handler);
70706
- };
70707
- }, []);
70708
-
70709
70695
  return react_default.a.createElement(
70710
70696
  esm_ListItem_ListItem,
70711
70697
  {
@@ -70749,8 +70735,8 @@ var VirtualizedTree_Item_Item = function Item(_ref) {
70749
70735
  className: classnames_default()((_cx = {}, _cx[classes.accessibilityItemHover] = accessibility, _cx[classes.listItemSelected] = isSelected, _cx[classes.listItemHover] = !isDisabled, _cx)),
70750
70736
  onKeyDown: isDisabled ? null : eventsListeners.onKeyDown,
70751
70737
  onClick: isDisabled ? null : eventsListeners.onClick,
70752
- onMouseDown: isDisabled || isTooltipShown ? null : eventsListeners.onMouseDown,
70753
- onMouseEnter: isDisabled || isTooltipShown ? null : eventsListeners.onMouseEnter,
70738
+ onMouseDown: isDisabled || open ? null : eventsListeners.onMouseDown,
70739
+ onMouseEnter: isDisabled || open ? null : eventsListeners.onMouseEnter,
70754
70740
  title: isGreyed ? es_propOr('', 'disableItemLabel')(labels) + ' ' + label : label,
70755
70741
  style: { opacity: isDisabled && isGreyed ? '0.5' : '1' },
70756
70742
  primary: react_default.a.createElement(
@@ -70789,13 +70775,13 @@ var VirtualizedTree_Item_Item = function Item(_ref) {
70789
70775
  placement: 'top',
70790
70776
  interactive: Boolean(HTMLRenderer),
70791
70777
  onOpen: function onOpen() {
70792
- return setIsTooltipShown(true);
70778
+ return setOpen(true);
70793
70779
  },
70794
70780
  onClose: function onClose() {
70795
- return setIsTooltipShown(false);
70781
+ return setOpen(false);
70796
70782
  },
70797
70783
  disableHoverListener: es_isEmpty(description),
70798
- open: isTooltipShown
70784
+ open: open
70799
70785
  },
70800
70786
  react_default.a.createElement(
70801
70787
  esm_Typography_Typography,