@sis-cc/dotstatsuite-visions 6.7.1 → 7.0.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.
package/es/index.js CHANGED
@@ -31,7 +31,6 @@ export { default as Select } from './Select';
31
31
  export { default as Share } from './Share';
32
32
  export { default as SisccFooter } from './SisccFooter';
33
33
  export { default as Spotlight } from './Spotlight';
34
- export { default as Table } from './Table';
35
34
  export { default as TableFooter } from './TableFooter';
36
35
  export { default as TableHeader } from './TableHeader';
37
36
  export { default as TableHtml5, Cell } from './TableHtml5';
package/lib/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  exports.__esModule = true;
4
- exports.T4_BREAKPOINTS = exports.innerPalette = exports.sisccTheme = exports.AuthDialog = exports.VerticalButton = exports.Tooltip = exports.ToggleButton = exports.Tag = exports.TablePreview = exports.TableLayout = exports.Cell = exports.TableHtml5 = exports.TableHeader = exports.TableFooter = exports.Table = exports.Spotlight = exports.SisccFooter = exports.Share = exports.Select = exports.ScopeList = exports.reduceChildren = exports.spotlightScopeListEngine = exports.PeriodPicker = exports.Pagination = exports.NoData = exports.Logo = exports.Loading = exports.LabelDivider = exports.InputNumber = exports.Input = exports.ExpansionPanel = exports.DataFooter = exports.DataHeader = exports.Dataflow = exports.DataEdit = exports.CollapsibleTree = exports.CollapseButtons = exports.Chips = exports.ChartsConfig = exports.Button = exports.Breadcrumbs = exports.ApiQueries = exports.Alert = undefined;
4
+ exports.T4_BREAKPOINTS = exports.innerPalette = exports.sisccTheme = exports.AuthDialog = exports.VerticalButton = exports.Tooltip = exports.ToggleButton = exports.Tag = exports.TablePreview = exports.TableLayout = exports.Cell = exports.TableHtml5 = exports.TableHeader = exports.TableFooter = exports.Spotlight = exports.SisccFooter = exports.Share = exports.Select = exports.ScopeList = exports.reduceChildren = exports.spotlightScopeListEngine = exports.PeriodPicker = exports.Pagination = exports.NoData = exports.Logo = exports.Loading = exports.LabelDivider = exports.InputNumber = exports.Input = exports.ExpansionPanel = exports.DataFooter = exports.DataHeader = exports.Dataflow = exports.DataEdit = exports.CollapsibleTree = exports.CollapseButtons = exports.Chips = exports.ChartsConfig = exports.Button = exports.Breadcrumbs = exports.ApiQueries = exports.Alert = undefined;
5
5
 
6
6
  var _Alert = require('./Alert');
7
7
 
@@ -264,15 +264,6 @@ Object.defineProperty(exports, 'Spotlight', {
264
264
  }
265
265
  });
266
266
 
267
- var _Table = require('./Table');
268
-
269
- Object.defineProperty(exports, 'Table', {
270
- enumerable: true,
271
- get: function get() {
272
- return _interopRequireDefault(_Table).default;
273
- }
274
- });
275
-
276
267
  var _TableFooter = require('./TableFooter');
277
268
 
278
269
  Object.defineProperty(exports, 'TableFooter', {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sis-cc/dotstatsuite-visions",
3
- "version": "6.7.1",
3
+ "version": "7.0.0",
4
4
  "description": "Library of visual components",
5
5
  "author": "OECD",
6
6
  "homepage": "https://visions-qa.siscc.org/#o",
@@ -35,8 +35,6 @@
35
35
  "@react-hook/size": "^2.1.1",
36
36
  "classnames": "^2.2.6",
37
37
  "date-fns": "^1.30.1",
38
- "glamor": "^2.20.40",
39
- "glamorous": "^5.0.0",
40
38
  "numeral": "^2.0.6",
41
39
  "prop-types": "^15.7.2",
42
40
  "ramda": "^0.27.0",
@@ -44,8 +42,6 @@
44
42
  "react-beautiful-dnd": "^13.0.0",
45
43
  "react-dom": "^16.8.6",
46
44
  "react-router-dom": "^5.0.1",
47
- "react-select": "^2.0.0",
48
- "react-sizeme": "^2.6.12",
49
45
  "react-virtualized": "^9.21.2",
50
46
  "recompose": "^0.30.0"
51
47
  },
@@ -82,7 +78,10 @@
82
78
  "react-a11y": "^1.1.0",
83
79
  "react-helmet": "^5.2.1",
84
80
  "react-scrollable-anchor": "^0.6.1",
85
- "react-syntax-highlighter": "^10.2.1"
81
+ "react-syntax-highlighter": "^10.2.1",
82
+ "webpack": "^5.68.0",
83
+ "webpack-cli": "^4.9.2",
84
+ "webpack-dev-server": "^4.7.4"
86
85
  },
87
86
  "jest": {
88
87
  "verbose": true,
package/es/Table/Table.js DELETED
@@ -1,170 +0,0 @@
1
- import React from 'react';
2
- import PropTypes from 'prop-types';
3
- import * as R from 'ramda';
4
- import Header from './header';
5
- import RowHeader from './row-header';
6
- import SectionHeader from './section-header';
7
- import SectionRows from './section-rows';
8
- import TableCell from './tableCell';
9
- import { Table as StyledTable } from './styles';
10
-
11
- var HEADER = 'HEADER';
12
- var ROW_HEADER = 'ROW_HEADER';
13
-
14
- var updatedHeights = function updatedHeights(headerYOffsets) {
15
- return R.pipe(R.length, R.times(R.always(0)), R.addIndex(R.map)(function (zero, index) {
16
- return R.isNil(R.nth(index)(headerYOffsets)) ? zero : R.nth(index)(headerYOffsets);
17
- }));
18
- };
19
-
20
- var Table = function Table(_ref) {
21
- var _React$useState2;
22
-
23
- var _ref$sectionsData = _ref.sectionsData,
24
- sectionsData = _ref$sectionsData === undefined ? [] : _ref$sectionsData,
25
- _ref$headerData = _ref.headerData,
26
- headerData = _ref$headerData === undefined ? [] : _ref$headerData,
27
- _ref$cells = _ref.cells,
28
- cells = _ref$cells === undefined ? {} : _ref$cells,
29
- isRtl = _ref.isRtl,
30
- cellHandler = _ref.cellHandler,
31
- cellValueAccessor = _ref.cellValueAccessor,
32
- activeCellIds = _ref.activeCellIds,
33
- activeCellHandler = _ref.activeCellHandler;
34
-
35
- var _React$useState = React.useState((_React$useState2 = {}, _React$useState2[HEADER] = [0], _React$useState2[ROW_HEADER] = [0], _React$useState2)),
36
- yOffsets = _React$useState[0],
37
- setYOffsets = _React$useState[1];
38
-
39
- var _React$useMemo = React.useMemo(function () {
40
- var xLayoutData = R.pathOr([], [0, 1, 0, 'data'], sectionsData);
41
- var xColumnCount = R.pipe(R.length, R.inc)(xLayoutData);
42
- var yColumnCount = R.length(headerData);
43
- var columnCount = R.add(xColumnCount, yColumnCount);
44
- var yOffsetRowHeader = 0;
45
- var yOffsetSectionHeader = R.inc(yOffsetRowHeader);
46
- var msGridRowOffsetFactory = function msGridRowOffsetFactory(sectionIndex) {
47
- return R.sum([R.inc(yOffsetSectionHeader), sectionIndex, R.pipe(R.take(sectionIndex), R.reduce(R.useWith(R.add, [R.identity, R.pipe(R.last, R.length)]), 0))(sectionsData)]);
48
- };
49
-
50
- return {
51
- transposedHeaderData: R.pipe(R.pluck('data'), R.map(R.reduce(function (acc, cell) {
52
- var previousCell = R.last(acc);
53
- var previousCellKey = R.prop('key', previousCell);
54
- var valueId = R.path(['value', 'id'], cell);
55
- var cellKey = R.isNil(previousCellKey) ? valueId : previousCellKey + '-' + valueId;
56
- return R.append(R.assoc('key', cellKey, cell), acc);
57
- }, [])), R.transpose)(headerData),
58
- xLayoutData: xLayoutData,
59
- xColumnCount: xColumnCount,
60
- yColumnCount: yColumnCount,
61
- columnCount: columnCount,
62
- yOffsetRowHeader: yOffsetRowHeader,
63
- yOffsetSectionHeader: yOffsetSectionHeader,
64
- msGridRowOffsetFactory: msGridRowOffsetFactory
65
- };
66
- }, [headerData, sectionsData]),
67
- transposedHeaderData = _React$useMemo.transposedHeaderData,
68
- xLayoutData = _React$useMemo.xLayoutData,
69
- columnCount = _React$useMemo.columnCount,
70
- xColumnCount = _React$useMemo.xColumnCount,
71
- yColumnCount = _React$useMemo.yColumnCount,
72
- yOffsetRowHeader = _React$useMemo.yOffsetRowHeader,
73
- yOffsetSectionHeader = _React$useMemo.yOffsetSectionHeader,
74
- msGridRowOffsetFactory = _React$useMemo.msGridRowOffsetFactory;
75
-
76
- // Hooks before
77
-
78
-
79
- var isSingleObs = R.hasPath(['', '', '', 0], cells);
80
- if (isSingleObs) return React.createElement(TableCell, { cell: R.pathOr({}, ['', '', '', 0], cells), cellHandler: cellHandler });
81
-
82
- // Utility funcs
83
- var getYOffset = function getYOffset(index) {
84
- return R.pipe(R.prop(HEADER), R.slice(0, index), R.sum)(yOffsets);
85
- };
86
-
87
- var getSubHeaderOffset = function getSubHeaderOffset(headerData) {
88
- return function (index) {
89
- var lengthHeader = R.length(headerData);
90
- return R.add(R.pipe(R.prop(HEADER), R.slice(0, lengthHeader), R.sum)(yOffsets), R.pipe(R.prop(ROW_HEADER), R.slice(0, index), R.sum)(yOffsets));
91
- };
92
- };
93
-
94
- var onYVectorSize = function onYVectorSize(label, headerData) {
95
- return function (index) {
96
- return function (_ref2) {
97
- var _R$mergeRight;
98
-
99
- var height = _ref2.height;
100
-
101
- var newYOffsets = R.equals(label, HEADER) ? updatedHeights(R.prop(HEADER)(yOffsets))(headerData) : R.prop(label)(yOffsets);
102
- setYOffsets(R.mergeRight(yOffsets, (_R$mergeRight = {}, _R$mergeRight[label] = R.update(index, height)(newYOffsets), _R$mergeRight)));
103
- };
104
- };
105
- };
106
-
107
- return React.createElement(
108
- StyledTable,
109
- { columnCount: columnCount, xColumnCount: xColumnCount },
110
- React.createElement(Header, {
111
- data: transposedHeaderData,
112
- xColumnCount: xColumnCount,
113
- onYVectorSize: onYVectorSize(HEADER, transposedHeaderData),
114
- getYOffset: getYOffset
115
- }),
116
- React.createElement(RowHeader, {
117
- data: xLayoutData,
118
- headerData: headerData,
119
- onYVectorSize: onYVectorSize(ROW_HEADER),
120
- getYOffset: getSubHeaderOffset(transposedHeaderData),
121
- yOffset: yOffsetRowHeader,
122
- activeCellIds: activeCellIds
123
- }),
124
- R.addIndex(R.map)(function (_ref3, sectionIndex) {
125
- var sectionHeaderData = _ref3[0],
126
- sectionRowsData = _ref3[1];
127
-
128
- var msGridRowOffset = msGridRowOffsetFactory(sectionIndex);
129
-
130
- return React.createElement(
131
- React.Fragment,
132
- { key: 'section-' + sectionIndex },
133
- React.createElement(SectionHeader, {
134
- columnCount: columnCount,
135
- section: sectionHeaderData,
136
- yOffset: getSubHeaderOffset(transposedHeaderData)(yOffsetSectionHeader),
137
- msGridRow: msGridRowOffset,
138
- isRtl: isRtl
139
- }),
140
- React.createElement(SectionRows, {
141
- data: sectionRowsData,
142
- headerData: headerData,
143
- cells: cells,
144
- cellHandler: cellHandler,
145
- cellValueAccessor: cellValueAccessor,
146
- activeCellIds: activeCellIds,
147
- activeCellHandler: activeCellHandler,
148
- sectionData: sectionHeaderData,
149
- yColumnCount: yColumnCount,
150
- xColumnCount: xColumnCount,
151
- yOffset: yOffsetRowHeader,
152
- msGridRowOffset: msGridRowOffset
153
- })
154
- );
155
- }, sectionsData)
156
- );
157
- };
158
-
159
- Table.propTypes = process.env.NODE_ENV !== "production" ? {
160
- headerData: PropTypes.array.isRequired,
161
- sectionsData: PropTypes.array.isRequired,
162
- cells: PropTypes.object.isRequired,
163
- cellHandler: PropTypes.func,
164
- cellValueAccessor: PropTypes.func,
165
- activeCellHandler: PropTypes.func,
166
- activeCellIds: PropTypes.object,
167
- isRtl: PropTypes.bool
168
- } : {};
169
-
170
- export default Table;
@@ -1,91 +0,0 @@
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
-
3
- import React from 'react';
4
- import PropTypes from 'prop-types';
5
- import * as R from 'ramda';
6
- import sizeMe from 'react-sizeme';
7
- import { makeStyles } from '@material-ui/core/styles';
8
- import { Cell } from './styles';
9
- import ItemCell from './itemCell';
10
-
11
- var useStyles = makeStyles(function (theme) {
12
- return {
13
- root: {
14
- backgroundColor: theme.palette.primary.main,
15
- color: theme.palette.getContrastText(theme.palette.primary.main),
16
- '& span': {
17
- color: theme.palette.getContrastText(theme.palette.primary.main),
18
- borderColor: theme.palette.getContrastText(theme.palette.primary.main)
19
- }
20
- }
21
- };
22
- });
23
-
24
- var YVector = sizeMe({ noPlaceholder: true, monitorHeight: true, monitorWidth: false })(Cell);
25
-
26
- var mergeHeaderCells = R.reduce(function (acc, headerCell) {
27
- var previousCell = R.last(acc);
28
- var cellValue = R.prop('key', headerCell);
29
- var previousCellValue = R.prop('key', previousCell);
30
- if (cellValue !== previousCellValue) {
31
- return R.append(R.assoc('spanCount', 1, headerCell), acc);
32
- }
33
- return R.over(R.lensIndex(-1), R.evolve({ spanCount: R.add(1) }), acc);
34
- }, []);
35
-
36
- var Header = function Header(_ref) {
37
- var data = _ref.data,
38
- onYVectorSize = _ref.onYVectorSize,
39
- getYOffset = _ref.getYOffset,
40
- xColumnCount = _ref.xColumnCount;
41
-
42
- var classes = useStyles();
43
- if (R.equals([''], data)) return null;
44
- var getDimensionFromRow = R.pipe(R.head, R.prop('dimension'));
45
- var nRows = R.length(data);
46
-
47
- return R.addIndex(R.map)(function (headerRow, i) {
48
- return React.createElement(
49
- React.Fragment,
50
- { key: 'header-row-' + i },
51
- React.createElement(
52
- YVector,
53
- {
54
- yOffset: getYOffset(i),
55
- onSize: onYVectorSize(i),
56
- spanCount: xColumnCount,
57
- className: classes.root
58
- },
59
- React.createElement(ItemCell, _extends({
60
- justifyContent: 'flex-end',
61
- fontWeight: 'bold',
62
- fontStyle: 'italic'
63
- }, getDimensionFromRow(headerRow)))
64
- ),
65
- R.pipe(R.when(R.always(i !== nRows - 1), mergeHeaderCells), // don't want merge of cells in the last row
66
- R.addIndex(R.map)(function (_ref2, j) {
67
- var value = _ref2.value,
68
- spanCount = _ref2.spanCount;
69
- return React.createElement(
70
- Cell,
71
- {
72
- key: 'header-column-' + j,
73
- yOffset: getYOffset(i),
74
- spanCount: spanCount,
75
- className: classes.root
76
- },
77
- React.createElement(ItemCell, _extends({ justifyContent: 'center', sticky: spanCount > 1 }, value))
78
- );
79
- }))(headerRow)
80
- );
81
- })(data);
82
- };
83
-
84
- Header.propTypes = process.env.NODE_ENV !== "production" ? {
85
- data: PropTypes.array.isRequired,
86
- xColumnCount: PropTypes.number.isRequired,
87
- onYVectorSize: PropTypes.func.isRequired,
88
- getYOffset: PropTypes.func.isRequired
89
- } : {};
90
-
91
- export default Header;
package/es/Table/index.js DELETED
@@ -1,56 +0,0 @@
1
- /**
2
- * Table to display SDMX data.
3
- *
4
- * @memberOf VISIONS
5
- * @name Table
6
- * @tag component
7
- * @api public
8
- * @demoReady
9
- * @props
10
- * Table.propTypes = {
11
- * cells: PropTypes.object,
12
- * headerData: PropTypes.array,
13
- * sectionsData: PropTypes.array,
14
- * cellHandler: PropTypes.func,
15
- * activeCellHandler: PropTypes.func,
16
- * activeCellIds: PropTypes.object,
17
- * };
18
- * @theme
19
- * {
20
- * palette: {
21
- * primary: {
22
- * main: // background color header and hover/active cell borders. global override: outerPalette.primaryMain
23
- * },
24
- * secondary: {
25
- * light: // used is tertiary is null
26
- * dark: // used is tertiary is null
27
- * },
28
- * tertiary: {
29
- * light: // background color row header and row labels,
30
- * dark: // background color section,
31
- * },
32
- * common: {
33
- * white: // background color cells
34
- * },
35
- * grey: {
36
- * 'A700': // label color section, label row header, cells label color. globale override: outerPalette.textDark
37
- * 200: // background color between row label and row values
38
- * },
39
- * },
40
- * mixins: {
41
- * table: {
42
- * cellHighlight: {
43
- * backgroundColor: // background color of the cell on click
44
- * },
45
- * flag: { // see usecase #7 flags
46
- * fontFamily: "'PT Sans Narrow', 'Helvetica Neue', Helvetica, Arial, sans-serif",
47
- * fontSize: 12,
48
- * color: outerPalette.textLight
49
- * }
50
- * }
51
- * }
52
- * }
53
- * @demoReady
54
- */
55
-
56
- export { default } from './Table';
@@ -1,54 +0,0 @@
1
- import React from 'react';
2
- import PropTypes from 'prop-types';
3
- import * as R from 'ramda';
4
- import ItemTooltip from './tooltip';
5
-
6
- var ItemCell = function ItemCell(_ref) {
7
- var label = _ref.label,
8
- parents = _ref.parents,
9
- flags = _ref.flags,
10
- justifyContent = _ref.justifyContent,
11
- alignItems = _ref.alignItems,
12
- fontWeight = _ref.fontWeight,
13
- fontStyle = _ref.fontStyle,
14
- _ref$sticky = _ref.sticky,
15
- sticky = _ref$sticky === undefined ? false : _ref$sticky;
16
-
17
- var style = {
18
- display: 'flex',
19
- flexDirection: 'row',
20
- justifyContent: R.defaultTo('space-between', justifyContent),
21
- alignItems: R.defaultTo('center', alignItems),
22
- textAlign: R.equals('center', justifyContent) ? 'center' : 'inherit',
23
- fontWeight: R.defaultTo('inherit', fontWeight),
24
- fontStyle: R.defaultTo('inherit', fontStyle),
25
- paddingTop: R.anyPass([R.isNil, R.isEmpty])(flags) ? 4 : 0,
26
- paddingBottom: 4,
27
- paddingLeft: R.pipe(R.when(R.isNil, R.always([])), R.length, R.multiply(12))(parents),
28
- height: '100%'
29
- };
30
-
31
- return React.createElement(
32
- 'div',
33
- { style: style },
34
- React.createElement(
35
- 'div',
36
- { style: sticky ? { display: 'inline-block', position: 'sticky', left: 8, right: 8 } : {} },
37
- label,
38
- React.createElement(ItemTooltip, { flags: flags })
39
- )
40
- );
41
- };
42
-
43
- ItemCell.propTypes = process.env.NODE_ENV !== "production" ? {
44
- label: PropTypes.string,
45
- flags: PropTypes.array,
46
- parents: PropTypes.array,
47
- justifyContent: PropTypes.string,
48
- fontWeight: PropTypes.string,
49
- fontStyle: PropTypes.string,
50
- alignItems: PropTypes.string,
51
- sticky: PropTypes.bool
52
- } : {};
53
-
54
- export default React.memo(ItemCell);
@@ -1,84 +0,0 @@
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
-
3
- import React from 'react';
4
- import PropTypes from 'prop-types';
5
- import cx from 'classnames';
6
- import * as R from 'ramda';
7
- import { makeStyles } from '@material-ui/core/styles';
8
- import sizeMe from 'react-sizeme';
9
- import { Cell } from './styles';
10
- import ItemCell from './itemCell';
11
- import { getLight } from '../utils';
12
-
13
- var useStyles = makeStyles(function (theme) {
14
- return {
15
- root: {
16
- color: theme.palette.grey['A700'],
17
- backgroundColor: getLight(theme) || theme.palette.secondary.light
18
- },
19
- sep: {
20
- backgroundColor: theme.palette.grey[200]
21
- },
22
- highlight: theme.mixins.table.cellHighlight
23
- };
24
- });
25
-
26
- var XVector = sizeMe({ noPlaceholder: true, monitorHeight: true, monitorWidth: false })(Cell);
27
-
28
- var RowHeader = function RowHeader(_ref) {
29
- var data = _ref.data,
30
- headerData = _ref.headerData,
31
- onYVectorSize = _ref.onYVectorSize,
32
- getYOffset = _ref.getYOffset,
33
- yOffset = _ref.yOffset,
34
- activeCellIds = _ref.activeCellIds;
35
-
36
- var classes = useStyles();
37
- if (R.isEmpty(data)) return null;
38
-
39
- return React.createElement(
40
- React.Fragment,
41
- null,
42
- R.addIndex(R.map)(function (rowColumn, i) {
43
- return React.createElement(
44
- XVector,
45
- {
46
- key: 'row-column-' + i,
47
- yOffset: getYOffset(yOffset),
48
- onSize: onYVectorSize(yOffset),
49
- className: classes.root
50
- },
51
- React.createElement(ItemCell, _extends({
52
- justifyContent: 'flex-start',
53
- fontWeight: 'bold',
54
- fontStyle: 'italic'
55
- }, R.propOr({}, 'dimension', rowColumn)))
56
- );
57
- }, data),
58
- React.createElement(Cell, { yOffset: getYOffset(yOffset), className: classes.sep }),
59
- R.addIndex(R.map)(function (header, j) {
60
- var _cx;
61
-
62
- return React.createElement(
63
- Cell,
64
- {
65
- key: 'row-header-' + j,
66
- yOffset: getYOffset(yOffset),
67
- className: cx(classes.sep, (_cx = {}, _cx[classes.highlight] = R.prop('col-' + j)(activeCellIds), _cx))
68
- },
69
- React.createElement(ItemCell, _extends({ justifyContent: 'center', alignItems: 'end' }, header))
70
- );
71
- }, headerData)
72
- );
73
- };
74
-
75
- RowHeader.propTypes = process.env.NODE_ENV !== "production" ? {
76
- data: PropTypes.array.isRequired,
77
- headerData: PropTypes.array.isRequired,
78
- yOffset: PropTypes.number.isRequired,
79
- onYVectorSize: PropTypes.func.isRequired,
80
- getYOffset: PropTypes.func.isRequired,
81
- activeCellIds: PropTypes.object
82
- } : {};
83
-
84
- export default RowHeader;
@@ -1,115 +0,0 @@
1
- import React from 'react';
2
- import PropTypes from 'prop-types';
3
- import cx from 'classnames';
4
- import * as R from 'ramda';
5
- import Lens from '@material-ui/icons/Lens';
6
- import { withStyles } from '@material-ui/core';
7
- import { makeStyles } from '@material-ui/core/styles';
8
- import { Cell } from './styles';
9
- import ItemTooltip from './tooltip';
10
- import { getDark } from '../utils';
11
-
12
- var Dot = withStyles(function (theme) {
13
- return {
14
- root: {
15
- fontSize: theme.typography.pxToRem(8),
16
- margin: theme.spacing(0, 0.5)
17
- }
18
- };
19
- })(Lens);
20
-
21
- var useStyles = makeStyles(function (theme) {
22
- return {
23
- zCell: {
24
- backgroundColor: getDark(theme) || theme.palette.secondary.dark,
25
- color: theme.palette.grey['A700'],
26
- textAlign: 'left',
27
- display: 'flex',
28
- justifyContent: 'space-between',
29
- alignItems: 'center'
30
- },
31
- zAtom: {
32
- paddingTop: 4,
33
- paddingBottom: 4,
34
- zIndex: 1
35
- },
36
- zQuant: {
37
- zIndex: 1,
38
- whiteSpace: 'nowrap'
39
- },
40
- zQuantDimension: {
41
- fontWeight: 'bold',
42
- fontStyle: 'italic',
43
- margin: theme.spacing(0, 0.5, 0, 0)
44
- },
45
- zQuantDimensionRtl: {
46
- margin: theme.spacing(0, 0, 0, 0.5)
47
- }
48
- };
49
- });
50
-
51
- var SectionHeader = function SectionHeader(_ref) {
52
- var section = _ref.section,
53
- columnCount = _ref.columnCount,
54
- yOffset = _ref.yOffset,
55
- isRtl = _ref.isRtl;
56
-
57
- var classes = useStyles();
58
- if (R.isEmpty(R.propOr([], 'data', section))) return null;
59
- var data = R.propOr([], 'data', section);
60
- var hasFlag = R.find(R.pipe(R.path(['value', 'flags']), R.isEmpty, R.not))(data);
61
- return React.createElement(
62
- Cell,
63
- { spanCount: columnCount, yOffset: yOffset, className: classes.zCell },
64
- React.createElement(
65
- 'div',
66
- { className: classes.zAtom, style: hasFlag ? { paddingTop: 0 } : undefined },
67
- R.pipe(R.addIndex(R.map)(function (entry, index) {
68
- var _cx;
69
-
70
- return React.createElement(
71
- React.Fragment,
72
- { key: index },
73
- R.not(R.equals(index, 0)) && React.createElement(
74
- 'span',
75
- { className: classes.zQuant },
76
- React.createElement(Dot, null)
77
- ),
78
- React.createElement(
79
- 'span',
80
- {
81
- className: cx(classes.zQuant, classes.zQuantDimension, (_cx = {}, _cx[classes.zQuantDimensionRtl] = isRtl, _cx))
82
- },
83
- R.pathOr('', ['dimension', 'label'], entry),
84
- ':'
85
- ),
86
- React.createElement(
87
- 'span',
88
- { className: classes.zQuant },
89
- R.pathOr('', ['value', 'label'], entry)
90
- ),
91
- R.not(R.isEmpty(R.pathOr([], ['value', 'flags'], entry))) && React.createElement(
92
- React.Fragment,
93
- null,
94
- '\xA0'
95
- ),
96
- React.createElement(ItemTooltip, { flags: R.pathOr([], ['value', 'flags'], entry) })
97
- );
98
- }))(data)
99
- ),
100
- React.createElement(
101
- 'div',
102
- { className: classes.zAtom, style: hasFlag ? { paddingTop: 0 } : undefined },
103
- React.createElement(ItemTooltip, { flags: R.propOr([], 'flags', section) })
104
- )
105
- );
106
- };
107
-
108
- SectionHeader.propTypes = process.env.NODE_ENV !== "production" ? {
109
- section: PropTypes.object.isRequired,
110
- yOffset: PropTypes.number.isRequired,
111
- columnCount: PropTypes.number.isRequired,
112
- isRtl: PropTypes.bool
113
- } : {};
114
-
115
- export default React.memo(SectionHeader);