@sis-cc/dotstatsuite-visions 7.4.2 → 7.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -40,7 +40,9 @@ var CollapseButtons = function CollapseButtons(props) {
40
40
  } : _props$breakpoint,
41
41
  justify = props.justify,
42
42
  _props$textTransform = props.textTransform,
43
- textTransform = _props$textTransform === undefined ? 'none' : _props$textTransform;
43
+ textTransform = _props$textTransform === undefined ? 'none' : _props$textTransform,
44
+ _props$labelAccessor = props.labelAccessor,
45
+ labelAccessor = _props$labelAccessor === undefined ? R.prop('label') : _props$labelAccessor;
44
46
 
45
47
 
46
48
  var classes = useStyles();
@@ -65,7 +67,8 @@ var CollapseButtons = function CollapseButtons(props) {
65
67
  parentId: parentId,
66
68
  item: item,
67
69
  action: action,
68
- isSecondLevelClikable: isSecondLevelClikable
70
+ isSecondLevelClikable: isSecondLevelClikable,
71
+ labelAccessor: labelAccessor
69
72
  });
70
73
  });
71
74
  };
@@ -155,7 +158,8 @@ CollapseButtons.propTypes = process.env.NODE_ENV !== "production" ? {
155
158
  breakpoint: PropTypes.func,
156
159
  gridButtonsProps: PropTypes.object,
157
160
  justify: PropTypes.string,
158
- textTransform: PropTypes.string
161
+ textTransform: PropTypes.string,
162
+ labelAccessor: PropTypes.func
159
163
  } : {};
160
164
 
161
165
  export default CollapseButtons;
@@ -28,6 +28,8 @@ var useStyles = makeStyles(function (theme) {
28
28
  display: 'flex'
29
29
  },
30
30
  itemSubtitle: _extends({}, theme.typography.body1, {
31
+ display: 'flex',
32
+ flexDirection: 'column',
31
33
  color: theme.palette.grey[800]
32
34
  }),
33
35
  itemSubtitleLink: _extends({}, theme.typography.body1, {
@@ -51,7 +53,8 @@ var Item = function Item(_ref) {
51
53
  item = _ref.item,
52
54
  action = _ref.action,
53
55
  testId = _ref.testId,
54
- isSecondLevelClikable = _ref.isSecondLevelClikable;
56
+ isSecondLevelClikable = _ref.isSecondLevelClikable,
57
+ labelAccessor = _ref.labelAccessor;
55
58
 
56
59
  var classes = useStyles();
57
60
 
@@ -83,14 +86,14 @@ var Item = function Item(_ref) {
83
86
  React.createElement(
84
87
  'span',
85
88
  { className: classes.itemTitle },
86
- R.prop('label')(item)
89
+ labelAccessor(item, parentId)
87
90
  ),
88
91
  React.createElement(
89
92
  'span',
90
93
  { className: classes.itemSubtitle },
91
94
  R.map(function (subtopic) {
92
95
  if (R.not(R.is(Object)(subtopic))) return subtopic;
93
- if (R.not(isSecondLevelClikable)) return R.prop('label')(subtopic);
96
+ if (R.not(isSecondLevelClikable)) return labelAccessor(subtopic, parentId);
94
97
  var id = R.prop('id')(subtopic);
95
98
  return React.createElement(
96
99
  Link,
@@ -105,9 +108,10 @@ var Item = function Item(_ref) {
105
108
  },
106
109
  tabIndex: 0
107
110
  },
108
- R.prop('label')(subtopic)
111
+ '\u2022 ',
112
+ labelAccessor(subtopic, parentId)
109
113
  );
110
- })(R.pipe(R.propOr([], 'subtopics'), R.intersperse(' • '))(item))
114
+ })(R.pipe(R.propOr([], 'subtopics'), R.ifElse(R.always(isSecondLevelClikable), R.identity, R.intersperse(' • ')))(item))
111
115
  )
112
116
  )
113
117
  )
@@ -119,7 +123,8 @@ Item.propTypes = process.env.NODE_ENV !== "production" ? {
119
123
  testId: PropTypes.string,
120
124
  item: PropTypes.object,
121
125
  action: PropTypes.func,
122
- isSecondLevelClikable: PropTypes.bool
126
+ isSecondLevelClikable: PropTypes.bool,
127
+ labelAccessor: PropTypes.func
123
128
  } : {};
124
129
 
125
130
  export default Item;
@@ -39,7 +39,8 @@ var CollapsibleTree = function CollapsibleTree(_ref) {
39
39
  children = _ref.children,
40
40
  labels = _ref.labels,
41
41
  _ref$testId = _ref.testId,
42
- testId = _ref$testId === undefined ? 'collapsible-tree' : _ref$testId;
42
+ testId = _ref$testId === undefined ? 'collapsible-tree' : _ref$testId,
43
+ valueHandler = _ref.valueHandler;
43
44
 
44
45
  var classes = useStyles();
45
46
 
@@ -106,7 +107,9 @@ var CollapsibleTree = function CollapsibleTree(_ref) {
106
107
  var id = _ref3.id,
107
108
  label = _ref3.label,
108
109
  children = _ref3.children,
109
- value = _ref3.value;
110
+ value = _ref3.value,
111
+ _ref3$handlerProps = _ref3.handlerProps,
112
+ handlerProps = _ref3$handlerProps === undefined ? {} : _ref3$handlerProps;
110
113
 
111
114
  return React.createElement(
112
115
  Collapse,
@@ -114,12 +117,14 @@ var CollapsibleTree = function CollapsibleTree(_ref) {
114
117
  value && React.createElement(
115
118
  Typography,
116
119
  { className: classes.spacingValue, variant: 'body2' },
117
- value
120
+ R.is(Function, valueHandler) ? valueHandler(_extends({ value: value }, handlerProps)) : value
118
121
  ),
119
122
  children && R.map(function (_ref4) {
120
123
  var id = _ref4.id,
121
124
  label = _ref4.label,
122
- value = _ref4.value;
125
+ value = _ref4.value,
126
+ _ref4$handlerProps = _ref4.handlerProps,
127
+ handlerProps = _ref4$handlerProps === undefined ? {} : _ref4$handlerProps;
123
128
 
124
129
  return React.createElement(
125
130
  Collapse,
@@ -133,7 +138,7 @@ var CollapsibleTree = function CollapsibleTree(_ref) {
133
138
  React.createElement(
134
139
  Typography,
135
140
  { variant: 'body2' },
136
- value
141
+ R.is(Function, valueHandler) ? valueHandler(_extends({ value: value }, handlerProps)) : value
137
142
  )
138
143
  );
139
144
  }, children)
@@ -165,7 +170,8 @@ CollapsibleTree.propTypes = process.env.NODE_ENV !== "production" ? {
165
170
  collapseAll: PropTypes.string,
166
171
  expandAll: PropTypes.string
167
172
  }),
168
- testId: PropTypes.string
173
+ testId: PropTypes.string,
174
+ valueHandler: PropTypes.func
169
175
  } : {};
170
176
 
171
177
  export default CollapsibleTree;
@@ -1,5 +1,6 @@
1
1
  import React, { Fragment } from 'react';
2
2
  import PropTypes from 'prop-types';
3
+ import cx from 'classnames';
3
4
  import * as R from 'ramda';
4
5
  import useSize from '@react-hook/size';
5
6
  import Grid from '@material-ui/core/Grid';
@@ -42,15 +43,23 @@ var useStyles = makeStyles(function (theme) {
42
43
  logo: {
43
44
  height: HEIGHT / 2,
44
45
  display: 'flex'
46
+ },
47
+ sticky: {
48
+ position: 'sticky',
49
+ right: 0
45
50
  }
46
51
  };
47
52
  });
48
53
 
49
54
  var DataFooter = function DataFooter(_ref3) {
55
+ var _cx;
56
+
50
57
  var logo = _ref3.logo,
51
58
  source = _ref3.source,
52
59
  copyright = _ref3.copyright,
53
- legend = _ref3.legend;
60
+ legend = _ref3.legend,
61
+ _ref3$isSticky = _ref3.isSticky,
62
+ isSticky = _ref3$isSticky === undefined ? false : _ref3$isSticky;
54
63
 
55
64
  var target = React.useRef(null);
56
65
 
@@ -81,7 +90,7 @@ var DataFooter = function DataFooter(_ref3) {
81
90
  ),
82
91
  React.createElement(
83
92
  Grid,
84
- { item: true, style: { alignSelf: 'flex-end' } },
93
+ { item: true, style: { alignSelf: 'flex-end' }, className: cx((_cx = {}, _cx[classes.sticky] = isSticky, _cx)) },
85
94
  React.createElement(
86
95
  Grid,
87
96
  {
@@ -168,7 +177,8 @@ DataFooter.propTypes = process.env.NODE_ENV !== "production" ? {
168
177
  label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),
169
178
  content: PropTypes.oneOfType([PropTypes.string, PropTypes.element])
170
179
  }),
171
- legend: PropTypes.element
180
+ legend: PropTypes.element,
181
+ isSticky: PropTypes.bool
172
182
  } : {};
173
183
 
174
184
  export default DataFooter;
@@ -23,6 +23,7 @@
23
23
  * content: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),
24
24
  * }),
25
25
  * legend: PropTypes.element,
26
+ * isSticky: PropTypes.bool,
26
27
  * @theme
27
28
  * // tooltip (see Tooltip Component)
28
29
  * @demoReady
@@ -94,6 +94,10 @@ var useStyles = makeStyles(function (theme) {
94
94
  marginLeft: 20,
95
95
  maxWidth: 270
96
96
  }, theme.typography.body1),
97
+ sticky: {
98
+ position: 'sticky',
99
+ left: 0
100
+ },
97
101
  sideIconContainer: {
98
102
  marginLeft: '10px'
99
103
  }
@@ -101,6 +105,8 @@ var useStyles = makeStyles(function (theme) {
101
105
  });
102
106
 
103
107
  var DataHeader = function DataHeader(_ref4) {
108
+ var _cx;
109
+
104
110
  var children = _ref4.children,
105
111
  title = _ref4.title,
106
112
  _ref4$subtitle = _ref4.subtitle,
@@ -108,7 +114,9 @@ var DataHeader = function DataHeader(_ref4) {
108
114
  uprs = _ref4.uprs,
109
115
  disclaimer = _ref4.disclaimer,
110
116
  sideProps = _ref4.sideProps,
111
- SideIcon = _ref4.SideIcon;
117
+ SideIcon = _ref4.SideIcon,
118
+ _ref4$isSticky = _ref4.isSticky,
119
+ isSticky = _ref4$isSticky === undefined ? false : _ref4$isSticky;
112
120
 
113
121
  var target = React.useRef(null);
114
122
 
@@ -133,7 +141,7 @@ var DataHeader = function DataHeader(_ref4) {
133
141
  { className: classes.header, ref: target },
134
142
  React.createElement(
135
143
  'div',
136
- { className: classes.container },
144
+ { className: cx(classes.container, (_cx = {}, _cx[classes.sticky] = isSticky, _cx)) },
137
145
  isWidthUp(T4_BREAKPOINTS.xs2) && title && React.createElement(
138
146
  Typography,
139
147
  { variant: 'h1', className: classes.title },
@@ -235,7 +243,8 @@ DataHeader.propTypes = process.env.NODE_ENV !== "production" ? {
235
243
  sideProps: PropTypes.object,
236
244
  SideIcon: PropTypes.func,
237
245
  disclaimer: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),
238
- children: PropTypes.node
246
+ children: PropTypes.node,
247
+ isSticky: PropTypes.bool
239
248
  } : {};
240
249
 
241
250
  export default DataHeader;
@@ -35,6 +35,7 @@
35
35
  * label: PropTypes.string,
36
36
  * }),
37
37
  * disclaimer: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),
38
+ * isSticky: PropTypes.bool,
38
39
  * @theme
39
40
  * // tooltip (see Tooltip Component)
40
41
  * {
@@ -93,7 +93,6 @@ var CustomExpansionPanel = function CustomExpansionPanel(_ref) {
93
93
  CustomExpansionPanel.propTypes = process.env.NODE_ENV !== "production" ? {
94
94
  testId: PropTypes.string,
95
95
  id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
96
- classes: PropTypes.object,
97
96
  topElementComponent: PropTypes.element,
98
97
  onChangeActivePanel: PropTypes.func,
99
98
  label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),
@@ -9,7 +9,6 @@
9
9
  * ExpansionPanel.propTypes = {
10
10
  * testId: PropTypes.string,
11
11
  * id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
12
- * classes: PropTypes.object,
13
12
  * topElementComponent: PropTypes.element,
14
13
  * onChangeActivePanel: PropTypes.func,
15
14
  * label: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),
@@ -24,13 +24,11 @@ var Period = function Period(_ref) {
24
24
 
25
25
  var classes = useStyles();
26
26
  var frequencies = getFrequencyOptions(availableFrequencies, labels);
27
- console.log('frequencies', frequencies);
28
27
  if (R.isEmpty(frequencies)) return null;
29
28
  var frequency = getDefaultFrequency({
30
29
  defaultFrequency: defaultFrequency,
31
30
  frequencies: R.pluck('value')(frequencies)
32
31
  });
33
- console.log('frequency', frequency);
34
32
  var period = R.defaultTo([], _period);
35
33
  var boundaries = R.defaultTo([], _boundaries);
36
34
  var isPeriodDisabled = R.or(R.any(R.isEmpty)([period, boundaries]), periodDisabled);
@@ -31,16 +31,24 @@ var useStyles = makeStyles(function (theme) {
31
31
  },
32
32
  rtl: {
33
33
  textAlign: 'right'
34
+ },
35
+ fixed: {
36
+ position: 'fixed',
37
+ bottom: 0,
38
+ left: 0,
39
+ width: '100%',
40
+ zIndex: 0
34
41
  }
35
42
  };
36
43
  });
37
44
 
38
- var SisccFooter = function SisccFooter(_ref) {
39
- var _cx, _cx2;
45
+ var SisccFooter = React.forwardRef(function (_ref, ref) {
46
+ var _cx, _cx2, _cx3;
40
47
 
41
48
  var leftLabel = _ref.leftLabel,
42
49
  _ref$rightLabel = _ref.rightLabel,
43
- rightLabel = _ref$rightLabel === undefined ? [] : _ref$rightLabel;
50
+ rightLabel = _ref$rightLabel === undefined ? [] : _ref$rightLabel,
51
+ isFixed = _ref.isFixed;
44
52
 
45
53
  var classes = useStyles();
46
54
  var theme = useTheme();
@@ -48,7 +56,12 @@ var SisccFooter = function SisccFooter(_ref) {
48
56
 
49
57
  return React.createElement(
50
58
  AppBar,
51
- { 'data-testid': 'footer-bar-test-id', position: 'static', className: classes.appBar },
59
+ {
60
+ ref: ref,
61
+ 'data-testid': 'footer-bar-test-id',
62
+ position: 'static',
63
+ className: cx(classes.appBar, (_cx = {}, _cx[classes.fixed] = isFixed, _cx))
64
+ },
52
65
  React.createElement(
53
66
  Toolbar,
54
67
  { classes: { root: classes.root, gutters: classes.gutters } },
@@ -57,7 +70,7 @@ var SisccFooter = function SisccFooter(_ref) {
57
70
  { xs: 4, item: true, container: true, justifyContent: 'flex-start', alignItems: 'flex-start' },
58
71
  React.createElement(
59
72
  Typography,
60
- { variant: 'body2', className: cx(classes.leftLabel, (_cx = {}, _cx[classes.rtl] = isRtl, _cx)) },
73
+ { variant: 'body2', className: cx(classes.leftLabel, (_cx2 = {}, _cx2[classes.rtl] = isRtl, _cx2)) },
61
74
  leftLabel
62
75
  )
63
76
  ),
@@ -66,17 +79,18 @@ var SisccFooter = function SisccFooter(_ref) {
66
79
  { xs: 8, item: true, container: true, justifyContent: 'flex-end', alignItems: 'flex-start' },
67
80
  React.createElement(
68
81
  Typography,
69
- { variant: 'body2', className: cx(classes.rightLabel, (_cx2 = {}, _cx2[classes.rtl] = !isRtl, _cx2)) },
82
+ { variant: 'body2', className: cx(classes.rightLabel, (_cx3 = {}, _cx3[classes.rtl] = !isRtl, _cx3)) },
70
83
  rightLabel
71
84
  )
72
85
  )
73
86
  )
74
87
  );
75
- };
88
+ });
76
89
 
77
90
  SisccFooter.propTypes = process.env.NODE_ENV !== "production" ? {
78
91
  leftLabel: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),
79
- rightLabel: PropTypes.oneOfType([PropTypes.string, PropTypes.element])
92
+ rightLabel: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),
93
+ isFixed: PropTypes.bool
80
94
  } : {};
81
95
 
82
96
  export default SisccFooter;
@@ -31,6 +31,13 @@ var useStyles = makeStyles(function (theme) {
31
31
  link: {
32
32
  position: 'inherit',
33
33
  userSelect: 'inherit'
34
+ },
35
+ value: {
36
+ overflow: 'inherit'
37
+ },
38
+ textValue: {
39
+ textAlign: 'right',
40
+ whiteSpace: 'nowrap'
34
41
  }
35
42
  };
36
43
  });
@@ -78,11 +85,11 @@ var Cell = function Cell(_ref) {
78
85
  },
79
86
  React.createElement(
80
87
  'div',
81
- { style: { textAlign: 'right' } },
88
+ { className: classes.textValue },
82
89
  React.createElement(
83
90
  Typography,
84
91
  { variant: 'body1', tabIndex: 0, noWrap: hasFlag },
85
- !R.isNil(SideIcon) && React.createElement(SideIcon, { sideProps: sideProps }),
92
+ !R.isNil(SideIcon) && React.createElement(SideIcon, { sideProps: sideProps, className: classes.value }),
86
93
  hasFlag && React.createElement(Flags, { flags: flags }),
87
94
  uiValue
88
95
  )
@@ -20,7 +20,6 @@ var useStyles = makeStyles(function (theme) {
20
20
  margin: 0
21
21
  }, theme.typography.body1),
22
22
  flags: _extends({
23
- verticalAlign: 'super',
24
23
  borderBottom: '1px dotted',
25
24
  borderColor: 'inherit',
26
25
  margin: theme.spacing(0, 0.5),
@@ -28,7 +27,9 @@ var useStyles = makeStyles(function (theme) {
28
27
  display: 'inline',
29
28
  fontWeight: 'bold',
30
29
  fontStyle: 'normal',
31
- textTransform: 'uppercase'
30
+ textTransform: 'uppercase',
31
+ position: 'relative',
32
+ top: '-4px'
32
33
  }, R.pathOr({}, ['mixins', 'table', 'flag'], theme)),
33
34
  svg: {
34
35
  verticalAlign: 'middle'
@@ -37,9 +37,6 @@ var useStyles = makeStyles(function (theme) {
37
37
  fontStyle: 'inherit',
38
38
  fontWeight: 'bold'
39
39
  },
40
- topCell: {
41
- paddingTop: 0
42
- },
43
40
  stickyLabel: {
44
41
  position: 'sticky'
45
42
  }
@@ -63,8 +60,6 @@ var Header = function Header(_ref) {
63
60
 
64
61
  if (R.compose(R.anyPass([R.isNil, R.isEmpty]), R.path([0, 'data']))(headerData)) return null;
65
62
  return timesIndexed(function (index) {
66
- var _cx;
67
-
68
63
  var flags = R.path([0, 'data', index, 'dimension', 'flags'], headerData);
69
64
  var id = 'header_' + index;
70
65
  return React.createElement(
@@ -76,7 +71,7 @@ var Header = function Header(_ref) {
76
71
  component: 'th',
77
72
  padding: 'none',
78
73
  align: 'center',
79
- className: cx(classes.tableHeadCell, (_cx = {}, _cx[classes.topCell] = R.not(R.isEmpty(flags)), _cx)),
74
+ className: classes.tableHeadCell,
80
75
  colSpan: R.inc(xLayoutDataLength),
81
76
  id: id,
82
77
  tabIndex: 0,
@@ -94,7 +89,7 @@ var Header = function Header(_ref) {
94
89
  )
95
90
  ),
96
91
  mapIndexed(function (headerItem, idx) {
97
- var _cx2;
92
+ var _cx;
98
93
 
99
94
  var flags = R.prop('flags', headerItem);
100
95
  return React.createElement(
@@ -102,7 +97,7 @@ var Header = function Header(_ref) {
102
97
  {
103
98
  key: R.prop('id', headerItem) + '-' + idx,
104
99
  component: 'th',
105
- className: cx(classes.tableHeadCell, (_cx2 = {}, _cx2[classes.topCell] = R.not(R.isEmpty(flags)), _cx2)),
100
+ className: cx(classes.tableHeadCell, (_cx = {}, _cx[classes.topCell] = R.not(R.isEmpty(flags)), _cx)),
106
101
  id: idx + '_' + index,
107
102
  headers: 'header_' + index,
108
103
  colSpan: R.prop('spanCount', headerItem),
@@ -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 } from 'react';
3
+ import React from 'react';
4
4
  import * as R from 'ramda';
5
5
  import PropTypes from 'prop-types';
6
6
  import cx from 'classnames';
@@ -33,7 +33,8 @@ var useStyles = makeStyles(function (theme) {
33
33
  borderBottom: '1px solid ' + theme.palette.grey[500],
34
34
  borderRight: '1px solid ' + theme.palette.grey[500],
35
35
  padding: theme.spacing(0.5) + 'px ' + theme.spacing(1) + 'px',
36
- position: 'sticky'
36
+ position: 'sticky',
37
+ zIndex: 1
37
38
  },
38
39
  cellContent: {
39
40
  display: 'flex',
@@ -3,6 +3,7 @@ var _extends = Object.assign || function (target) { for (var i = 1; i < argument
3
3
  import React, { Fragment } from 'react';
4
4
  import * as R from 'ramda';
5
5
  import PropTypes from 'prop-types';
6
+ import cx from 'classnames';
6
7
  import Typography from '@material-ui/core/Typography';
7
8
  import { makeStyles } from '@material-ui/core/styles';
8
9
  import Lens from '@material-ui/icons/Lens';
@@ -18,9 +19,10 @@ var useStyles = makeStyles(function (theme) {
18
19
  border: 'inherit',
19
20
  borderBottom: '1px solid ' + theme.palette.grey[500],
20
21
  borderRight: '1px solid ' + theme.palette.grey[500],
21
- padding: theme.spacing(0.5) + 'px ' + theme.spacing(1) + 'px',
22
+ padding: theme.spacing(0, 1),
22
23
  color: theme.palette.grey['A700'],
23
- verticalAlign: 'middle'
24
+ verticalAlign: 'middle',
25
+ whiteSpace: 'nowrap'
24
26
  },
25
27
  lens: _extends({}, theme.mixins.table.dot, {
26
28
  marginLeft: theme.spacing(1),
@@ -32,18 +34,26 @@ var useStyles = makeStyles(function (theme) {
32
34
  marginRight: theme.spacing(0.5)
33
35
  },
34
36
  containerSection: {
35
- alignItems: 'baseline',
36
- display: 'flex'
37
+ display: 'flex',
38
+ justifyContent: 'space-between',
39
+ alignItems: 'center'
37
40
  },
38
41
  stickyHeaderSection: {
39
42
  position: 'sticky'
40
43
  },
41
- containerTextSection: {
42
- display: 'flex',
43
- alignItems: 'center'
44
- },
45
- flags: {
44
+ flag: {
45
+ height: '100%',
46
+ backgroundColor: getDark(theme) || theme.palette.secondary.dark,
46
47
  paddingLeft: 12
48
+ },
49
+ leftLabelPosition: {
50
+ left: theme.spacing(1)
51
+ },
52
+ rightLabelPosition: {
53
+ right: theme.spacing(1)
54
+ },
55
+ sectionLabelsContainer: {
56
+ padding: theme.spacing(0.5, 0)
47
57
  }
48
58
  };
49
59
  });
@@ -77,10 +87,12 @@ var SectionHeader = function SectionHeader(_ref) {
77
87
  },
78
88
  React.createElement(
79
89
  Typography,
80
- { noWrap: true, variant: 'body1', component: 'div', className: classes.containerSection },
90
+ { variant: 'body1', component: 'div', className: classes.containerSection },
81
91
  React.createElement(
82
- 'div',
83
- null,
92
+ 'span',
93
+ {
94
+ className: cx(classes.stickyHeaderSection, classes.leftLabelPosition, classes.sectionLabelsContainer)
95
+ },
84
96
  mapIndexed(function (sectionHeader, index) {
85
97
  return React.createElement(
86
98
  Fragment,
@@ -101,15 +113,17 @@ var SectionHeader = function SectionHeader(_ref) {
101
113
  React.createElement(
102
114
  Typography,
103
115
  { noWrap: true, variant: 'body1', component: 'span', tabIndex: 0 },
104
- R.path(['value', 'label'], sectionHeader),
105
- React.createElement(Flags, { flags: R.path(['value', 'flags'], sectionHeader) })
106
- )
116
+ R.path(['value', 'label'], sectionHeader)
117
+ ),
118
+ React.createElement(Flags, { flags: R.path(['value', 'flags'], sectionHeader) })
107
119
  );
108
120
  }, R.path([0, 'data'], section))
109
121
  ),
110
122
  React.createElement(
111
123
  'div',
112
- { className: classes.flags },
124
+ {
125
+ className: cx(classes.flag, classes.stickyHeaderSection, classes.rightLabelPosition, classes.sectionLabelsContainer)
126
+ },
113
127
  !R.isNil(SideIcon) && React.createElement(SideIcon, { sideProps: R.path([0, 'sideProps'], section) }),
114
128
  React.createElement(Flags, { flags: R.path([0, 'flags'], section) })
115
129
  )
@@ -74,7 +74,9 @@ var CollapseButtons = function CollapseButtons(props) {
74
74
  } : _props$breakpoint,
75
75
  justify = props.justify,
76
76
  _props$textTransform = props.textTransform,
77
- textTransform = _props$textTransform === undefined ? 'none' : _props$textTransform;
77
+ textTransform = _props$textTransform === undefined ? 'none' : _props$textTransform,
78
+ _props$labelAccessor = props.labelAccessor,
79
+ labelAccessor = _props$labelAccessor === undefined ? R.prop('label') : _props$labelAccessor;
78
80
 
79
81
 
80
82
  var classes = useStyles();
@@ -99,7 +101,8 @@ var CollapseButtons = function CollapseButtons(props) {
99
101
  parentId: parentId,
100
102
  item: item,
101
103
  action: action,
102
- isSecondLevelClikable: isSecondLevelClikable
104
+ isSecondLevelClikable: isSecondLevelClikable,
105
+ labelAccessor: labelAccessor
103
106
  });
104
107
  });
105
108
  };
@@ -189,7 +192,8 @@ CollapseButtons.propTypes = process.env.NODE_ENV !== "production" ? {
189
192
  breakpoint: _propTypes2.default.func,
190
193
  gridButtonsProps: _propTypes2.default.object,
191
194
  justify: _propTypes2.default.string,
192
- textTransform: _propTypes2.default.string
195
+ textTransform: _propTypes2.default.string,
196
+ labelAccessor: _propTypes2.default.func
193
197
  } : {};
194
198
 
195
199
  exports.default = CollapseButtons;
@@ -57,6 +57,8 @@ var useStyles = (0, _styles.makeStyles)(function (theme) {
57
57
  display: 'flex'
58
58
  },
59
59
  itemSubtitle: _extends({}, theme.typography.body1, {
60
+ display: 'flex',
61
+ flexDirection: 'column',
60
62
  color: theme.palette.grey[800]
61
63
  }),
62
64
  itemSubtitleLink: _extends({}, theme.typography.body1, {
@@ -80,7 +82,8 @@ var Item = function Item(_ref) {
80
82
  item = _ref.item,
81
83
  action = _ref.action,
82
84
  testId = _ref.testId,
83
- isSecondLevelClikable = _ref.isSecondLevelClikable;
85
+ isSecondLevelClikable = _ref.isSecondLevelClikable,
86
+ labelAccessor = _ref.labelAccessor;
84
87
 
85
88
  var classes = useStyles();
86
89
 
@@ -112,14 +115,14 @@ var Item = function Item(_ref) {
112
115
  _react2.default.createElement(
113
116
  'span',
114
117
  { className: classes.itemTitle },
115
- R.prop('label')(item)
118
+ labelAccessor(item, parentId)
116
119
  ),
117
120
  _react2.default.createElement(
118
121
  'span',
119
122
  { className: classes.itemSubtitle },
120
123
  R.map(function (subtopic) {
121
124
  if (R.not(R.is(Object)(subtopic))) return subtopic;
122
- if (R.not(isSecondLevelClikable)) return R.prop('label')(subtopic);
125
+ if (R.not(isSecondLevelClikable)) return labelAccessor(subtopic, parentId);
123
126
  var id = R.prop('id')(subtopic);
124
127
  return _react2.default.createElement(
125
128
  _Link2.default,
@@ -134,9 +137,10 @@ var Item = function Item(_ref) {
134
137
  },
135
138
  tabIndex: 0
136
139
  },
137
- R.prop('label')(subtopic)
140
+ '\u2022 ',
141
+ labelAccessor(subtopic, parentId)
138
142
  );
139
- })(R.pipe(R.propOr([], 'subtopics'), R.intersperse(' • '))(item))
143
+ })(R.pipe(R.propOr([], 'subtopics'), R.ifElse(R.always(isSecondLevelClikable), R.identity, R.intersperse(' • ')))(item))
140
144
  )
141
145
  )
142
146
  )
@@ -148,7 +152,8 @@ Item.propTypes = process.env.NODE_ENV !== "production" ? {
148
152
  testId: _propTypes2.default.string,
149
153
  item: _propTypes2.default.object,
150
154
  action: _propTypes2.default.func,
151
- isSecondLevelClikable: _propTypes2.default.bool
155
+ isSecondLevelClikable: _propTypes2.default.bool,
156
+ labelAccessor: _propTypes2.default.func
152
157
  } : {};
153
158
 
154
159
  exports.default = Item;
@@ -83,7 +83,8 @@ var CollapsibleTree = function CollapsibleTree(_ref) {
83
83
  children = _ref.children,
84
84
  labels = _ref.labels,
85
85
  _ref$testId = _ref.testId,
86
- testId = _ref$testId === undefined ? 'collapsible-tree' : _ref$testId;
86
+ testId = _ref$testId === undefined ? 'collapsible-tree' : _ref$testId,
87
+ valueHandler = _ref.valueHandler;
87
88
 
88
89
  var classes = useStyles();
89
90
 
@@ -150,7 +151,9 @@ var CollapsibleTree = function CollapsibleTree(_ref) {
150
151
  var id = _ref3.id,
151
152
  label = _ref3.label,
152
153
  children = _ref3.children,
153
- value = _ref3.value;
154
+ value = _ref3.value,
155
+ _ref3$handlerProps = _ref3.handlerProps,
156
+ handlerProps = _ref3$handlerProps === undefined ? {} : _ref3$handlerProps;
154
157
 
155
158
  return _react2.default.createElement(
156
159
  _Collapse2.default,
@@ -158,12 +161,14 @@ var CollapsibleTree = function CollapsibleTree(_ref) {
158
161
  value && _react2.default.createElement(
159
162
  _Typography2.default,
160
163
  { className: classes.spacingValue, variant: 'body2' },
161
- value
164
+ R.is(Function, valueHandler) ? valueHandler(_extends({ value: value }, handlerProps)) : value
162
165
  ),
163
166
  children && R.map(function (_ref4) {
164
167
  var id = _ref4.id,
165
168
  label = _ref4.label,
166
- value = _ref4.value;
169
+ value = _ref4.value,
170
+ _ref4$handlerProps = _ref4.handlerProps,
171
+ handlerProps = _ref4$handlerProps === undefined ? {} : _ref4$handlerProps;
167
172
 
168
173
  return _react2.default.createElement(
169
174
  _Collapse2.default,
@@ -177,7 +182,7 @@ var CollapsibleTree = function CollapsibleTree(_ref) {
177
182
  _react2.default.createElement(
178
183
  _Typography2.default,
179
184
  { variant: 'body2' },
180
- value
185
+ R.is(Function, valueHandler) ? valueHandler(_extends({ value: value }, handlerProps)) : value
181
186
  )
182
187
  );
183
188
  }, children)
@@ -209,7 +214,8 @@ CollapsibleTree.propTypes = process.env.NODE_ENV !== "production" ? {
209
214
  collapseAll: _propTypes2.default.string,
210
215
  expandAll: _propTypes2.default.string
211
216
  }),
212
- testId: _propTypes2.default.string
217
+ testId: _propTypes2.default.string,
218
+ valueHandler: _propTypes2.default.func
213
219
  } : {};
214
220
 
215
221
  exports.default = CollapsibleTree;
@@ -10,6 +10,10 @@ var _propTypes = require('prop-types');
10
10
 
11
11
  var _propTypes2 = _interopRequireDefault(_propTypes);
12
12
 
13
+ var _classnames = require('classnames');
14
+
15
+ var _classnames2 = _interopRequireDefault(_classnames);
16
+
13
17
  var _ramda = require('ramda');
14
18
 
15
19
  var R = _interopRequireWildcard(_ramda);
@@ -73,15 +77,23 @@ var useStyles = (0, _styles.makeStyles)(function (theme) {
73
77
  logo: {
74
78
  height: HEIGHT / 2,
75
79
  display: 'flex'
80
+ },
81
+ sticky: {
82
+ position: 'sticky',
83
+ right: 0
76
84
  }
77
85
  };
78
86
  });
79
87
 
80
88
  var DataFooter = function DataFooter(_ref3) {
89
+ var _cx;
90
+
81
91
  var logo = _ref3.logo,
82
92
  source = _ref3.source,
83
93
  copyright = _ref3.copyright,
84
- legend = _ref3.legend;
94
+ legend = _ref3.legend,
95
+ _ref3$isSticky = _ref3.isSticky,
96
+ isSticky = _ref3$isSticky === undefined ? false : _ref3$isSticky;
85
97
 
86
98
  var target = _react2.default.useRef(null);
87
99
 
@@ -112,7 +124,7 @@ var DataFooter = function DataFooter(_ref3) {
112
124
  ),
113
125
  _react2.default.createElement(
114
126
  _Grid2.default,
115
- { item: true, style: { alignSelf: 'flex-end' } },
127
+ { item: true, style: { alignSelf: 'flex-end' }, className: (0, _classnames2.default)((_cx = {}, _cx[classes.sticky] = isSticky, _cx)) },
116
128
  _react2.default.createElement(
117
129
  _Grid2.default,
118
130
  {
@@ -199,7 +211,8 @@ DataFooter.propTypes = process.env.NODE_ENV !== "production" ? {
199
211
  label: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.element]),
200
212
  content: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.element])
201
213
  }),
202
- legend: _propTypes2.default.element
214
+ legend: _propTypes2.default.element,
215
+ isSticky: _propTypes2.default.bool
203
216
  } : {};
204
217
 
205
218
  exports.default = DataFooter;
@@ -134,6 +134,10 @@ var useStyles = (0, _styles.makeStyles)(function (theme) {
134
134
  marginLeft: 20,
135
135
  maxWidth: 270
136
136
  }, theme.typography.body1),
137
+ sticky: {
138
+ position: 'sticky',
139
+ left: 0
140
+ },
137
141
  sideIconContainer: {
138
142
  marginLeft: '10px'
139
143
  }
@@ -141,6 +145,8 @@ var useStyles = (0, _styles.makeStyles)(function (theme) {
141
145
  });
142
146
 
143
147
  var DataHeader = function DataHeader(_ref4) {
148
+ var _cx;
149
+
144
150
  var children = _ref4.children,
145
151
  title = _ref4.title,
146
152
  _ref4$subtitle = _ref4.subtitle,
@@ -148,7 +154,9 @@ var DataHeader = function DataHeader(_ref4) {
148
154
  uprs = _ref4.uprs,
149
155
  disclaimer = _ref4.disclaimer,
150
156
  sideProps = _ref4.sideProps,
151
- SideIcon = _ref4.SideIcon;
157
+ SideIcon = _ref4.SideIcon,
158
+ _ref4$isSticky = _ref4.isSticky,
159
+ isSticky = _ref4$isSticky === undefined ? false : _ref4$isSticky;
152
160
 
153
161
  var target = _react2.default.useRef(null);
154
162
 
@@ -173,7 +181,7 @@ var DataHeader = function DataHeader(_ref4) {
173
181
  { className: classes.header, ref: target },
174
182
  _react2.default.createElement(
175
183
  'div',
176
- { className: classes.container },
184
+ { className: (0, _classnames2.default)(classes.container, (_cx = {}, _cx[classes.sticky] = isSticky, _cx)) },
177
185
  isWidthUp(_theme.T4_BREAKPOINTS.xs2) && title && _react2.default.createElement(
178
186
  _Typography2.default,
179
187
  { variant: 'h1', className: classes.title },
@@ -275,7 +283,8 @@ DataHeader.propTypes = process.env.NODE_ENV !== "production" ? {
275
283
  sideProps: _propTypes2.default.object,
276
284
  SideIcon: _propTypes2.default.func,
277
285
  disclaimer: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.element]),
278
- children: _propTypes2.default.node
286
+ children: _propTypes2.default.node,
287
+ isSticky: _propTypes2.default.bool
279
288
  } : {};
280
289
 
281
290
  exports.default = DataHeader;
@@ -132,7 +132,6 @@ var CustomExpansionPanel = function CustomExpansionPanel(_ref) {
132
132
  CustomExpansionPanel.propTypes = process.env.NODE_ENV !== "production" ? {
133
133
  testId: _propTypes2.default.string,
134
134
  id: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]),
135
- classes: _propTypes2.default.object,
136
135
  topElementComponent: _propTypes2.default.element,
137
136
  onChangeActivePanel: _propTypes2.default.func,
138
137
  label: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.element]),
@@ -49,13 +49,11 @@ var Period = function Period(_ref) {
49
49
 
50
50
  var classes = (0, _styles2.default)();
51
51
  var frequencies = (0, _lib.getFrequencyOptions)(availableFrequencies, labels);
52
- console.log('frequencies', frequencies);
53
52
  if (R.isEmpty(frequencies)) return null;
54
53
  var frequency = (0, _lib.getDefaultFrequency)({
55
54
  defaultFrequency: defaultFrequency,
56
55
  frequencies: R.pluck('value')(frequencies)
57
56
  });
58
- console.log('frequency', frequency);
59
57
  var period = R.defaultTo([], _period);
60
58
  var boundaries = R.defaultTo([], _boundaries);
61
59
  var isPeriodDisabled = R.or(R.any(R.isEmpty)([period, boundaries]), periodDisabled);
@@ -59,16 +59,24 @@ var useStyles = (0, _styles.makeStyles)(function (theme) {
59
59
  },
60
60
  rtl: {
61
61
  textAlign: 'right'
62
+ },
63
+ fixed: {
64
+ position: 'fixed',
65
+ bottom: 0,
66
+ left: 0,
67
+ width: '100%',
68
+ zIndex: 0
62
69
  }
63
70
  };
64
71
  });
65
72
 
66
- var SisccFooter = function SisccFooter(_ref) {
67
- var _cx, _cx2;
73
+ var SisccFooter = _react2.default.forwardRef(function (_ref, ref) {
74
+ var _cx, _cx2, _cx3;
68
75
 
69
76
  var leftLabel = _ref.leftLabel,
70
77
  _ref$rightLabel = _ref.rightLabel,
71
- rightLabel = _ref$rightLabel === undefined ? [] : _ref$rightLabel;
78
+ rightLabel = _ref$rightLabel === undefined ? [] : _ref$rightLabel,
79
+ isFixed = _ref.isFixed;
72
80
 
73
81
  var classes = useStyles();
74
82
  var theme = (0, _styles.useTheme)();
@@ -76,7 +84,12 @@ var SisccFooter = function SisccFooter(_ref) {
76
84
 
77
85
  return _react2.default.createElement(
78
86
  _AppBar2.default,
79
- { 'data-testid': 'footer-bar-test-id', position: 'static', className: classes.appBar },
87
+ {
88
+ ref: ref,
89
+ 'data-testid': 'footer-bar-test-id',
90
+ position: 'static',
91
+ className: (0, _classnames2.default)(classes.appBar, (_cx = {}, _cx[classes.fixed] = isFixed, _cx))
92
+ },
80
93
  _react2.default.createElement(
81
94
  _Toolbar2.default,
82
95
  { classes: { root: classes.root, gutters: classes.gutters } },
@@ -85,7 +98,7 @@ var SisccFooter = function SisccFooter(_ref) {
85
98
  { xs: 4, item: true, container: true, justifyContent: 'flex-start', alignItems: 'flex-start' },
86
99
  _react2.default.createElement(
87
100
  _Typography2.default,
88
- { variant: 'body2', className: (0, _classnames2.default)(classes.leftLabel, (_cx = {}, _cx[classes.rtl] = isRtl, _cx)) },
101
+ { variant: 'body2', className: (0, _classnames2.default)(classes.leftLabel, (_cx2 = {}, _cx2[classes.rtl] = isRtl, _cx2)) },
89
102
  leftLabel
90
103
  )
91
104
  ),
@@ -94,17 +107,18 @@ var SisccFooter = function SisccFooter(_ref) {
94
107
  { xs: 8, item: true, container: true, justifyContent: 'flex-end', alignItems: 'flex-start' },
95
108
  _react2.default.createElement(
96
109
  _Typography2.default,
97
- { variant: 'body2', className: (0, _classnames2.default)(classes.rightLabel, (_cx2 = {}, _cx2[classes.rtl] = !isRtl, _cx2)) },
110
+ { variant: 'body2', className: (0, _classnames2.default)(classes.rightLabel, (_cx3 = {}, _cx3[classes.rtl] = !isRtl, _cx3)) },
98
111
  rightLabel
99
112
  )
100
113
  )
101
114
  )
102
115
  );
103
- };
116
+ });
104
117
 
105
118
  SisccFooter.propTypes = process.env.NODE_ENV !== "production" ? {
106
119
  leftLabel: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.element]),
107
- rightLabel: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.element])
120
+ rightLabel: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.element]),
121
+ isFixed: _propTypes2.default.bool
108
122
  } : {};
109
123
 
110
124
  exports.default = SisccFooter;
@@ -63,6 +63,13 @@ var useStyles = (0, _styles.makeStyles)(function (theme) {
63
63
  link: {
64
64
  position: 'inherit',
65
65
  userSelect: 'inherit'
66
+ },
67
+ value: {
68
+ overflow: 'inherit'
69
+ },
70
+ textValue: {
71
+ textAlign: 'right',
72
+ whiteSpace: 'nowrap'
66
73
  }
67
74
  };
68
75
  });
@@ -110,11 +117,11 @@ var Cell = function Cell(_ref) {
110
117
  },
111
118
  _react2.default.createElement(
112
119
  'div',
113
- { style: { textAlign: 'right' } },
120
+ { className: classes.textValue },
114
121
  _react2.default.createElement(
115
122
  _Typography2.default,
116
123
  { variant: 'body1', tabIndex: 0, noWrap: hasFlag },
117
- !R.isNil(SideIcon) && _react2.default.createElement(SideIcon, { sideProps: sideProps }),
124
+ !R.isNil(SideIcon) && _react2.default.createElement(SideIcon, { sideProps: sideProps, className: classes.value }),
118
125
  hasFlag && _react2.default.createElement(_flags2.default, { flags: flags }),
119
126
  uiValue
120
127
  )
@@ -47,7 +47,6 @@ var useStyles = (0, _styles.makeStyles)(function (theme) {
47
47
  margin: 0
48
48
  }, theme.typography.body1),
49
49
  flags: _extends({
50
- verticalAlign: 'super',
51
50
  borderBottom: '1px dotted',
52
51
  borderColor: 'inherit',
53
52
  margin: theme.spacing(0, 0.5),
@@ -55,7 +54,9 @@ var useStyles = (0, _styles.makeStyles)(function (theme) {
55
54
  display: 'inline',
56
55
  fontWeight: 'bold',
57
56
  fontStyle: 'normal',
58
- textTransform: 'uppercase'
57
+ textTransform: 'uppercase',
58
+ position: 'relative',
59
+ top: '-4px'
59
60
  }, R.pathOr({}, ['mixins', 'table', 'flag'], theme)),
60
61
  svg: {
61
62
  verticalAlign: 'middle'
@@ -70,9 +70,6 @@ var useStyles = (0, _styles.makeStyles)(function (theme) {
70
70
  fontStyle: 'inherit',
71
71
  fontWeight: 'bold'
72
72
  },
73
- topCell: {
74
- paddingTop: 0
75
- },
76
73
  stickyLabel: {
77
74
  position: 'sticky'
78
75
  }
@@ -96,8 +93,6 @@ var Header = function Header(_ref) {
96
93
 
97
94
  if (R.compose(R.anyPass([R.isNil, R.isEmpty]), R.path([0, 'data']))(headerData)) return null;
98
95
  return timesIndexed(function (index) {
99
- var _cx;
100
-
101
96
  var flags = R.path([0, 'data', index, 'dimension', 'flags'], headerData);
102
97
  var id = 'header_' + index;
103
98
  return _react2.default.createElement(
@@ -109,7 +104,7 @@ var Header = function Header(_ref) {
109
104
  component: 'th',
110
105
  padding: 'none',
111
106
  align: 'center',
112
- className: (0, _classnames2.default)(classes.tableHeadCell, (_cx = {}, _cx[classes.topCell] = R.not(R.isEmpty(flags)), _cx)),
107
+ className: classes.tableHeadCell,
113
108
  colSpan: R.inc(xLayoutDataLength),
114
109
  id: id,
115
110
  tabIndex: 0,
@@ -127,7 +122,7 @@ var Header = function Header(_ref) {
127
122
  )
128
123
  ),
129
124
  mapIndexed(function (headerItem, idx) {
130
- var _cx2;
125
+ var _cx;
131
126
 
132
127
  var flags = R.prop('flags', headerItem);
133
128
  return _react2.default.createElement(
@@ -135,7 +130,7 @@ var Header = function Header(_ref) {
135
130
  {
136
131
  key: R.prop('id', headerItem) + '-' + idx,
137
132
  component: 'th',
138
- className: (0, _classnames2.default)(classes.tableHeadCell, (_cx2 = {}, _cx2[classes.topCell] = R.not(R.isEmpty(flags)), _cx2)),
133
+ className: (0, _classnames2.default)(classes.tableHeadCell, (_cx = {}, _cx[classes.topCell] = R.not(R.isEmpty(flags)), _cx)),
139
134
  id: idx + '_' + index,
140
135
  headers: 'header_' + index,
141
136
  colSpan: R.prop('spanCount', headerItem),
@@ -75,7 +75,8 @@ var useStyles = (0, _styles.makeStyles)(function (theme) {
75
75
  borderBottom: '1px solid ' + theme.palette.grey[500],
76
76
  borderRight: '1px solid ' + theme.palette.grey[500],
77
77
  padding: theme.spacing(0.5) + 'px ' + theme.spacing(1) + 'px',
78
- position: 'sticky'
78
+ position: 'sticky',
79
+ zIndex: 1
79
80
  },
80
81
  cellContent: {
81
82
  display: 'flex',
@@ -16,6 +16,10 @@ var _propTypes = require('prop-types');
16
16
 
17
17
  var _propTypes2 = _interopRequireDefault(_propTypes);
18
18
 
19
+ var _classnames = require('classnames');
20
+
21
+ var _classnames2 = _interopRequireDefault(_classnames);
22
+
19
23
  var _Typography = require('@material-ui/core/Typography');
20
24
 
21
25
  var _Typography2 = _interopRequireDefault(_Typography);
@@ -51,9 +55,10 @@ var useStyles = (0, _styles.makeStyles)(function (theme) {
51
55
  border: 'inherit',
52
56
  borderBottom: '1px solid ' + theme.palette.grey[500],
53
57
  borderRight: '1px solid ' + theme.palette.grey[500],
54
- padding: theme.spacing(0.5) + 'px ' + theme.spacing(1) + 'px',
58
+ padding: theme.spacing(0, 1),
55
59
  color: theme.palette.grey['A700'],
56
- verticalAlign: 'middle'
60
+ verticalAlign: 'middle',
61
+ whiteSpace: 'nowrap'
57
62
  },
58
63
  lens: _extends({}, theme.mixins.table.dot, {
59
64
  marginLeft: theme.spacing(1),
@@ -65,18 +70,26 @@ var useStyles = (0, _styles.makeStyles)(function (theme) {
65
70
  marginRight: theme.spacing(0.5)
66
71
  },
67
72
  containerSection: {
68
- alignItems: 'baseline',
69
- display: 'flex'
73
+ display: 'flex',
74
+ justifyContent: 'space-between',
75
+ alignItems: 'center'
70
76
  },
71
77
  stickyHeaderSection: {
72
78
  position: 'sticky'
73
79
  },
74
- containerTextSection: {
75
- display: 'flex',
76
- alignItems: 'center'
77
- },
78
- flags: {
80
+ flag: {
81
+ height: '100%',
82
+ backgroundColor: (0, _utils.getDark)(theme) || theme.palette.secondary.dark,
79
83
  paddingLeft: 12
84
+ },
85
+ leftLabelPosition: {
86
+ left: theme.spacing(1)
87
+ },
88
+ rightLabelPosition: {
89
+ right: theme.spacing(1)
90
+ },
91
+ sectionLabelsContainer: {
92
+ padding: theme.spacing(0.5, 0)
80
93
  }
81
94
  };
82
95
  });
@@ -110,10 +123,12 @@ var SectionHeader = function SectionHeader(_ref) {
110
123
  },
111
124
  _react2.default.createElement(
112
125
  _Typography2.default,
113
- { noWrap: true, variant: 'body1', component: 'div', className: classes.containerSection },
126
+ { variant: 'body1', component: 'div', className: classes.containerSection },
114
127
  _react2.default.createElement(
115
- 'div',
116
- null,
128
+ 'span',
129
+ {
130
+ className: (0, _classnames2.default)(classes.stickyHeaderSection, classes.leftLabelPosition, classes.sectionLabelsContainer)
131
+ },
117
132
  mapIndexed(function (sectionHeader, index) {
118
133
  return _react2.default.createElement(
119
134
  _react.Fragment,
@@ -134,15 +149,17 @@ var SectionHeader = function SectionHeader(_ref) {
134
149
  _react2.default.createElement(
135
150
  _Typography2.default,
136
151
  { noWrap: true, variant: 'body1', component: 'span', tabIndex: 0 },
137
- R.path(['value', 'label'], sectionHeader),
138
- _react2.default.createElement(_flags2.default, { flags: R.path(['value', 'flags'], sectionHeader) })
139
- )
152
+ R.path(['value', 'label'], sectionHeader)
153
+ ),
154
+ _react2.default.createElement(_flags2.default, { flags: R.path(['value', 'flags'], sectionHeader) })
140
155
  );
141
156
  }, R.path([0, 'data'], section))
142
157
  ),
143
158
  _react2.default.createElement(
144
159
  'div',
145
- { className: classes.flags },
160
+ {
161
+ className: (0, _classnames2.default)(classes.flag, classes.stickyHeaderSection, classes.rightLabelPosition, classes.sectionLabelsContainer)
162
+ },
146
163
  !R.isNil(SideIcon) && _react2.default.createElement(SideIcon, { sideProps: R.path([0, 'sideProps'], section) }),
147
164
  _react2.default.createElement(_flags2.default, { flags: R.path([0, 'flags'], section) })
148
165
  )
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sis-cc/dotstatsuite-visions",
3
- "version": "7.4.2",
3
+ "version": "7.6.1",
4
4
  "description": "Library of visual components",
5
5
  "author": "OECD",
6
6
  "homepage": "https://visions-qa.siscc.org/#o",