@sis-cc/dotstatsuite-visions 12.20.2 → 12.22.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.
@@ -95,7 +95,10 @@ var TabPanel = function TabPanel(props) {
95
95
  onClose = props.onClose,
96
96
  isNarrow = props.isNarrow,
97
97
  setOpen = props.setOpen,
98
- other = _objectWithoutProperties(props, ['children', 'open', 'item', 'classes', 'labels', 'onClose', 'isNarrow', 'setOpen']);
98
+ labelRenderer = props.labelRenderer,
99
+ _props$styles = props.styles,
100
+ styles = _props$styles === undefined ? {} : _props$styles,
101
+ other = _objectWithoutProperties(props, ['children', 'open', 'item', 'classes', 'labels', 'onClose', 'isNarrow', 'setOpen', 'labelRenderer', 'styles']);
99
102
 
100
103
  return _react2.default.createElement(
101
104
  'div',
@@ -104,40 +107,70 @@ var TabPanel = function TabPanel(props) {
104
107
  hidden: !open,
105
108
  id: 'vertical-tabpanel-' + item.index,
106
109
  'aria-labelledby': 'vertical-tab-' + item.index,
107
- className: isNarrow ? classes.tabPanelNarrow : classes.tabPanel
110
+ className: isNarrow ? classes.tabPanelNarrow : classes.tabPanel,
111
+ style: styles
108
112
  }, other),
109
113
  open && _react2.default.createElement(
110
114
  _Box2.default,
111
115
  { sx: { p: 3 } },
112
- isNarrow && _react2.default.createElement(
113
- _Button2.default,
114
- {
115
- onClick: function onClick() {
116
- return setOpen(false);
117
- },
118
- 'data-testid': 'back_button',
119
- 'aria-label': R.prop('cancel', labels),
120
- sx: {
121
- padding: 0,
122
- float: 'left'
123
- },
124
- size: 'large'
125
- },
126
- _react2.default.createElement(_ArrowBack2.default, null)
127
- ),
128
116
  _react2.default.createElement(
129
- _Button2.default,
117
+ _Box2.default,
130
118
  {
131
- onClick: onClose,
132
- 'aria-label': R.prop('cancel', labels),
133
- sx: {
134
- color: 'grey !important',
135
- padding: 0,
136
- float: 'right'
137
- },
138
- size: 'large'
119
+ display: 'flex',
120
+ justifyContent: isNarrow ? 'space-between' : 'flex-end',
121
+ alignItems: 'center'
139
122
  },
140
- _react2.default.createElement(_Close2.default, null)
123
+ isNarrow && _react2.default.createElement(
124
+ _Box2.default,
125
+ { display: 'flex', justifyContent: 'flex-start', alignItems: 'center' },
126
+ _react2.default.createElement(
127
+ _Button2.default,
128
+ {
129
+ onClick: function onClick() {
130
+ return setOpen(false);
131
+ },
132
+ 'data-testid': 'back_button',
133
+ 'aria-label': R.prop('cancel', labels),
134
+ sx: {
135
+ padding: 0,
136
+ float: 'left',
137
+ justifyContent: 'flex-start',
138
+ minWidth: '24px'
139
+ },
140
+ size: 'large',
141
+ edge: 'start'
142
+ },
143
+ _react2.default.createElement(_ArrowBack2.default, null)
144
+ ),
145
+ _react2.default.createElement(
146
+ _material.Typography,
147
+ {
148
+ variant: 'h6',
149
+ 'aria-label': R.prop('title', labels)(labelRenderer(item)),
150
+ tabIndex: 0,
151
+ sx: {
152
+ margin: 0,
153
+ padding: 0
154
+ }
155
+ },
156
+ R.prop('title', labels)(labelRenderer(item))
157
+ )
158
+ ),
159
+ _react2.default.createElement(
160
+ _Button2.default,
161
+ {
162
+ onClick: onClose,
163
+ 'aria-label': R.prop('cancel', labels),
164
+ sx: {
165
+ color: 'grey !important',
166
+ minWidth: '24px',
167
+ padding: 0,
168
+ float: 'right'
169
+ },
170
+ size: 'large'
171
+ },
172
+ _react2.default.createElement(_Close2.default, null)
173
+ )
141
174
  ),
142
175
  children
143
176
  )
@@ -151,7 +184,9 @@ TabPanel.propTypes = process.env.NODE_ENV !== "production" ? {
151
184
  onClose: _propTypes2.default.func,
152
185
  children: _propTypes2.default.node,
153
186
  isNarrow: _propTypes2.default.bool,
154
- setOpen: _propTypes2.default.func
187
+ setOpen: _propTypes2.default.func,
188
+ labelRenderer: _propTypes2.default.func,
189
+ styles: _propTypes2.default.object
155
190
  } : {};
156
191
 
157
192
  var PaperComponent = function PaperComponent(props) {
@@ -203,6 +238,10 @@ var DynamicDrawer = function DynamicDrawer(props) {
203
238
  allSelection = _useState4[0],
204
239
  setAllSelection = _useState4[1];
205
240
 
241
+ var _useState5 = (0, _react.useState)(-1),
242
+ value = _useState5[0],
243
+ setValue = _useState5[1];
244
+
206
245
  var getCounter = function getCounter(items, tagAccessor) {
207
246
  var selectedItemsIds = R.reduce(function (acc, item) {
208
247
  if (R.prop('isSelected', item)) {
@@ -238,13 +277,15 @@ var DynamicDrawer = function DynamicDrawer(props) {
238
277
  tagAccessor = props.tagAccessor,
239
278
  tagAriaLabel = props.tagAriaLabel,
240
279
  children = props.children,
241
- rest = _objectWithoutProperties(props, ['list', 'labelRenderer', 'onClick', 'handleChangePanel', 'isNarrow', 'labels', 'disableAccessor', 'expandAll', 'collapseAll', 'expandedIds', 'allItems', 'periodPanel', 'classes', 'testId', 'tagAccessor', 'tagAriaLabel', 'children']);
280
+ _props$styles2 = props.styles,
281
+ styles = _props$styles2 === undefined ? {} : _props$styles2,
282
+ rest = _objectWithoutProperties(props, ['list', 'labelRenderer', 'onClick', 'handleChangePanel', 'isNarrow', 'labels', 'disableAccessor', 'expandAll', 'collapseAll', 'expandedIds', 'allItems', 'periodPanel', 'classes', 'testId', 'tagAccessor', 'tagAriaLabel', 'children', 'styles']);
242
283
 
243
284
  var handleChange = function handleChange(e, item) {
244
- console.log({ item: item, selection: selection, allSelection: allSelection });
245
285
  setSelection(_extends({}, allSelection[item.id]));
246
- handleChangePanel(item.id, allSelection);
286
+ handleChangePanel(item.id, selection, allSelection);
247
287
  setFilter(item);
288
+ setValue(item.id);
248
289
  setOpen(true);
249
290
  };
250
291
  var handleSubmit = function handleSubmit() {
@@ -252,24 +293,53 @@ var DynamicDrawer = function DynamicDrawer(props) {
252
293
  setAllSelection({});
253
294
  setSelection({});
254
295
  setOpen(false);
296
+ setFilter({});
255
297
  };
256
298
  var handleClose = function handleClose() {
257
299
  setOpen(false);
258
300
  setAllSelection({});
259
301
  setSelection({});
302
+ setFilter({});
260
303
  };
304
+
261
305
  var isHidden = open && isNarrow;
262
306
  var isNotHiddenButton = !R.isEmpty(allSelection) && isNarrow;
307
+ (0, _react.useEffect)(function () {
308
+ if (open) {
309
+ document.body.style.overflow = 'hidden';
310
+ } else {
311
+ document.body.style.overflow = '';
312
+ }
313
+ return function () {
314
+ document.body.style.overflow = '';
315
+ };
316
+ }, [open]);
263
317
 
264
318
  return _react2.default.createElement(
265
319
  'div',
266
320
  { style: { display: 'flex', flexDirection: 'row' } },
321
+ open && !isNarrow && _react2.default.createElement(_Box2.default, {
322
+ onClick: function onClick() {
323
+ return handleClose();
324
+ },
325
+ sx: {
326
+ position: 'fixed',
327
+ top: 0,
328
+ left: 0,
329
+ width: '100vw',
330
+ height: '100vh',
331
+ zIndex: 990
332
+ }
333
+ }),
267
334
  _react2.default.createElement(
268
335
  _material.Tabs,
269
336
  {
270
337
  orientation: 'vertical',
271
338
  variant: 'scrollable',
272
- value: false,
339
+ TabIndicatorProps: { style: { transition: 'none' } },
340
+ scrollButtons: false,
341
+ disableScrollButtons: true,
342
+ value: value,
273
343
  onChange: handleChange,
274
344
  'aria-label': 'filters',
275
345
  'data-testid': testId,
@@ -278,7 +348,9 @@ var DynamicDrawer = function DynamicDrawer(props) {
278
348
  width: '100%',
279
349
  height: '100%',
280
350
  borderRight: 1,
281
- borderColor: 'divider'
351
+ borderColor: 'divider',
352
+ zIndex: 1000,
353
+ overflow: 'auto'
282
354
  }
283
355
  },
284
356
  R.map(function (item) {
@@ -311,7 +383,9 @@ var DynamicDrawer = function DynamicDrawer(props) {
311
383
  alignItems: 'start',
312
384
  maxWidth: '100%'
313
385
  },
314
- wrapped: true
386
+ wrapped: true,
387
+ disableRipple: true,
388
+ disableFocusRipple: true
315
389
  });
316
390
  })(list),
317
391
  open && !isNarrow && _react2.default.createElement(
@@ -347,7 +421,9 @@ var DynamicDrawer = function DynamicDrawer(props) {
347
421
  classes: classes,
348
422
  onClose: handleClose,
349
423
  isNarrow: isNarrow,
350
- setOpen: setOpen
424
+ setOpen: setOpen,
425
+ labelRenderer: labelRenderer,
426
+ styles: styles
351
427
  },
352
428
  R.equals(filter.id, periodPanel) ? children : _react2.default.createElement(_AdvancedSelection2.default, _extends({
353
429
  id: filter.id,
@@ -403,7 +479,8 @@ DynamicDrawer.propTypes = process.env.NODE_ENV !== "production" ? {
403
479
  periodPanel: _propTypes2.default.string,
404
480
  isNarrow: _propTypes2.default.bool,
405
481
  disableAccessor: _propTypes2.default.func,
406
- children: _propTypes2.default.node
482
+ children: _propTypes2.default.node,
483
+ styles: _propTypes2.default.object
407
484
  } : {};
408
485
 
409
486
  exports.default = DynamicDrawer;
@@ -14,6 +14,10 @@ var _ramda = require('ramda');
14
14
 
15
15
  var R = _interopRequireWildcard(_ramda);
16
16
 
17
+ var _classnames = require('classnames');
18
+
19
+ var _classnames2 = _interopRequireDefault(_classnames);
20
+
17
21
  var _material = require('@mui/material');
18
22
 
19
23
  var _ = require('..');
@@ -56,9 +60,9 @@ var ButtonCarousel = function ButtonCarousel(_ref) {
56
60
  tabIndex: -1
57
61
  },
58
62
  _react2.default.createElement(
59
- _material.Button,
63
+ _.Button,
60
64
  {
61
- className: classes.selectButton,
65
+ className: (0, _classnames2.default)(classes.selectButton, classes.selectButtonNarrow),
62
66
  selected: value === selectionMode,
63
67
  onClick: function onClick() {
64
68
  setSelectionMode(value);
@@ -69,8 +73,8 @@ var ButtonCarousel = function ButtonCarousel(_ref) {
69
73
  sx: {
70
74
  flex: '0 0 auto', // Prevents buttons from shrinking
71
75
  scrollSnapAlign: 'center',
72
- minWidth: 120, // Minimum width for buttons
73
- whiteSpace: 'nowrap'
76
+ minWidth: 40, // Minimum width for buttons
77
+ whiteSpace: 'wrap'
74
78
  }
75
79
  },
76
80
  _react2.default.createElement(
@@ -73,7 +73,6 @@ var Period = function Period(_ref) {
73
73
  var destructuringDates = R.map(_lib.getDestructuringDate)(period);
74
74
 
75
75
  var onClickFrequency = function onClickFrequency(e, value) {
76
- console.log(value);
77
76
  if (R.is(Function, changeFrequency)) return changeFrequency(value);
78
77
  };
79
78
  var _getIsDisabled = function _getIsDisabled(getter) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sis-cc/dotstatsuite-visions",
3
- "version": "12.20.2",
3
+ "version": "12.22.0",
4
4
  "description": "Library of visual components",
5
5
  "author": "OECD",
6
6
  "homepage": "https://visions-qa.siscc.org/#o",