@semcore/data-table 1.5.1 → 1.5.4

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/CHANGELOG.md CHANGED
@@ -2,6 +2,24 @@
2
2
 
3
3
  CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
4
4
 
5
+ ## [1.5.4] - 2022-03-21
6
+
7
+ ### Changed
8
+
9
+ - Version patch update due to children dependencies update (`@semcore/icon` [2.19.4 ~> 2.20.0]).
10
+
11
+ ## [1.5.3] - 2022-03-14
12
+
13
+ ### Changed
14
+
15
+ - Version patch update due to children dependencies update (`@semcore/utils` [3.31.2 ~> 3.31.2]).
16
+
17
+ ## [1.5.2] - 2022-02-24
18
+
19
+ ### Added
20
+
21
+ - Added repository field to package.json file.
22
+
5
23
  ## [1.5.1] - 2022-02-04
6
24
 
7
25
  ### Changed
package/lib/cjs/Body.js CHANGED
@@ -35,9 +35,12 @@ var _utils = require("./utils");
35
35
 
36
36
  var _assignProps2 = _interopRequireDefault(require("@semcore/utils/lib/assignProps"));
37
37
 
38
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
38
+ var _excluded = ["getRowProps"],
39
+ _excluded2 = ["getCellProps"];
39
40
 
40
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
41
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
42
+
43
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
41
44
 
42
45
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
43
46
 
@@ -48,12 +51,12 @@ var scrollStyles = (
48
51
  /*__reshadow_css_start__*/
49
52
  _core.sstyled.insert(
50
53
  /*__inner_css_start__*/
51
- ".___SShadowHorizontal_e7di7_gg_:before{left:var(--left_1jfuf14)!important}.___SShadowHorizontal_e7di7_gg_:after{right:var(--right_1jfuf14)!important}"
54
+ ".___SShadowHorizontal_1w6je_gg_:before{left:var(--left_1jfuf14)!important}.___SShadowHorizontal_1w6je_gg_:after{right:var(--right_1jfuf14)!important}"
52
55
  /*__inner_css_end__*/
53
56
  , "1jfuf14_gg_")
54
57
  /*__reshadow_css_end__*/
55
58
  , {
56
- "__SShadowHorizontal": "___SShadowHorizontal_e7di7_gg_",
59
+ "__SShadowHorizontal": "___SShadowHorizontal_1w6je_gg_",
57
60
  "--left": "--left_1jfuf14",
58
61
  "--right": "--right_1jfuf14"
59
62
  });
@@ -93,7 +96,7 @@ var Body = /*#__PURE__*/function (_Component) {
93
96
  getRowProps = _ref5$getRowProps === void 0 ? function (p) {
94
97
  return p;
95
98
  } : _ref5$getRowProps,
96
- other = (0, _objectWithoutProperties2["default"])(_ref5, ["getRowProps"]);
99
+ other = (0, _objectWithoutProperties2["default"])(_ref5, _excluded);
97
100
  var propsRow = (0, _assignProps2["default"])(other, acc);
98
101
  return (0, _assignProps2["default"])(getRowProps(propsRow, cellsByColumn, index), propsRow);
99
102
  }, {
@@ -139,7 +142,7 @@ var Body = /*#__PURE__*/function (_Component) {
139
142
  getCellProps = _ref6$getCellProps === void 0 ? function (p) {
140
143
  return p;
141
144
  } : _ref6$getCellProps,
142
- other = (0, _objectWithoutProperties2["default"])(_ref6, ["getCellProps"]);
145
+ other = (0, _objectWithoutProperties2["default"])(_ref6, _excluded2);
143
146
  var propsCell = (0, _assignProps2["default"])(other, acc);
144
147
  return (0, _assignProps2["default"])(getCellProps(propsCell, cellsByColumn, index), propsCell);
145
148
  }, {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Body.js"],"names":["getCellsByColumn","row","reduce","acc","cell","name","Array","isArray","concat","data","Body","rows","SRow","Box","asProps","styles","$propsRow","map","index","cellsByColumn","_row","props","getRowProps","p","other","propsRow","children","renderCells","theme","active","SCell","Flex","columns","use","renderRows","column","find","c","value","vars","cssVar","n","rendersCell","getCellProps","propsCell","justifyContent","style","length","join","push","fixed","SBody","SBodyWrapper","SScrollAreaBar","ScrollArea","Bar","Children","$scrollRef","onResize","initializeColumns","width","offsetLeftSum","offsetRightSum","offsetSum","scrollStyles","origin","Component"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Component, sstyled, Root } from '@semcore/core';\nimport { Box, Flex } from '@semcore/flex-box';\nimport ScrollArea from '@semcore/scroll-area';\nimport { getFixedStyle, getScrollOffsetValue } from './utils';\nimport assignProps from '@semcore/utils/lib/assignProps';\n\nimport scrollStyles from './style/scroll-area.shadow.css';\n\nfunction getCellsByColumn(row) {\n return row.reduce((acc, cell) => {\n acc[cell.name] = acc[cell.name]\n ? Array.isArray(acc[cell.name])\n ? acc[cell.name].concat(cell.data)\n : [acc[cell.name], cell.data]\n : cell.data;\n return acc;\n }, {});\n}\n\nclass Body extends Component {\n renderRows(rows) {\n const SRow = Box;\n const { styles, $propsRow } = this.asProps;\n\n return rows.map((row, index) => {\n const cellsByColumn = row._row || getCellsByColumn(row);\n const props = $propsRow.reduce(\n (acc, { getRowProps = (p) => p, ...other }) => {\n const propsRow = assignProps(other, acc);\n return assignProps(getRowProps(propsRow, cellsByColumn, index), propsRow);\n },\n {\n children: this.renderCells(row, cellsByColumn, index),\n },\n );\n return sstyled(styles)(\n <SRow key={index} theme={props.theme} active={props.active} {...props} />,\n );\n });\n }\n\n renderCells(row, cellsByColumn, index) {\n const SCell = Flex;\n const { styles, columns, use } = this.asProps;\n return row.reduce((acc, cell) => {\n if (Array.isArray(cell)) {\n acc = acc.concat(<div>{this.renderRows(cell)}</div>);\n } else {\n const column = columns.find((c) => c.name === cell.name);\n const [name, value] = getFixedStyle(cell, columns);\n const vars = (Array.isArray(cell.cssVar) ? cell.cssVar : [cell.cssVar]).map(\n (n) => `var(${n})`,\n );\n const props = (cell.rendersCell || []).reduce(\n (acc, { getCellProps = (p) => p, ...other }) => {\n const propsCell = assignProps(other, acc);\n return assignProps(getCellProps(propsCell, cellsByColumn, index), propsCell);\n },\n {\n name: cell.name,\n children: cell.data,\n justifyContent: column?.props?.justifyContent,\n style: {\n [name]: value,\n width: vars.length === 1 ? vars[0] : `calc(${vars.join(' + ')})`,\n },\n },\n );\n\n acc.push(\n sstyled(styles)(\n <SCell key={cell.name} {...props} fixed={cell.fixed} theme={props.theme} use={use} />,\n ),\n );\n }\n return acc;\n }, []);\n }\n\n render() {\n const SBody = Root;\n const SBodyWrapper = Box;\n const SScrollAreaBar = ScrollArea.Bar;\n const { Children, styles, rows, columns, $scrollRef, onResize } = this.asProps;\n\n const initializeColumns = !!columns.reduce((acc, c) => acc + c.width, 0);\n\n const [offsetLeftSum, offsetRightSum] = getScrollOffsetValue(columns);\n const offsetSum = offsetLeftSum + offsetRightSum;\n\n return sstyled(styles)(\n <SBodyWrapper>\n <ScrollArea\n shadow\n styles={scrollStyles}\n use:left={`${offsetLeftSum}px`}\n use:right={`${offsetRightSum}px`}\n onResize={onResize}\n >\n <ScrollArea.Container ref={$scrollRef}>\n <SBody render={Box}>{initializeColumns ? this.renderRows(rows) : null}</SBody>\n </ScrollArea.Container>\n <SScrollAreaBar\n orientation=\"horizontal\"\n left={`${offsetLeftSum}px`}\n right={`${offsetRightSum}px`}\n offsetSum={`${offsetSum}px`}\n />\n <SScrollAreaBar orientation=\"vertical\" />\n </ScrollArea>\n {Children.origin}\n </SBodyWrapper>,\n );\n }\n}\n\nexport default Body;\n"],"file":"Body.js"}
1
+ {"version":3,"sources":["../../src/Body.jsx"],"names":["getCellsByColumn","row","reduce","acc","cell","name","Array","isArray","concat","data","Body","rows","SRow","Box","asProps","styles","$propsRow","map","index","cellsByColumn","_row","props","getRowProps","p","other","propsRow","children","renderCells","theme","active","SCell","Flex","columns","use","renderRows","column","find","c","value","vars","cssVar","n","rendersCell","getCellProps","propsCell","justifyContent","style","length","join","push","fixed","SBody","SBodyWrapper","SScrollAreaBar","ScrollArea","Bar","Children","$scrollRef","onResize","initializeColumns","width","offsetLeftSum","offsetRightSum","offsetSum","scrollStyles","origin","Component"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Component, sstyled, Root } from '@semcore/core';\nimport { Box, Flex } from '@semcore/flex-box';\nimport ScrollArea from '@semcore/scroll-area';\nimport { getFixedStyle, getScrollOffsetValue } from './utils';\nimport assignProps from '@semcore/utils/lib/assignProps';\n\nimport scrollStyles from './style/scroll-area.shadow.css';\n\nfunction getCellsByColumn(row) {\n return row.reduce((acc, cell) => {\n acc[cell.name] = acc[cell.name]\n ? Array.isArray(acc[cell.name])\n ? acc[cell.name].concat(cell.data)\n : [acc[cell.name], cell.data]\n : cell.data;\n return acc;\n }, {});\n}\n\nclass Body extends Component {\n renderRows(rows) {\n const SRow = Box;\n const { styles, $propsRow } = this.asProps;\n\n return rows.map((row, index) => {\n const cellsByColumn = row._row || getCellsByColumn(row);\n const props = $propsRow.reduce(\n (acc, { getRowProps = (p) => p, ...other }) => {\n const propsRow = assignProps(other, acc);\n return assignProps(getRowProps(propsRow, cellsByColumn, index), propsRow);\n },\n {\n children: this.renderCells(row, cellsByColumn, index),\n },\n );\n return sstyled(styles)(\n <SRow key={index} theme={props.theme} active={props.active} {...props} />,\n );\n });\n }\n\n renderCells(row, cellsByColumn, index) {\n const SCell = Flex;\n const { styles, columns, use } = this.asProps;\n return row.reduce((acc, cell) => {\n if (Array.isArray(cell)) {\n acc = acc.concat(<div>{this.renderRows(cell)}</div>);\n } else {\n const column = columns.find((c) => c.name === cell.name);\n const [name, value] = getFixedStyle(cell, columns);\n const vars = (Array.isArray(cell.cssVar) ? cell.cssVar : [cell.cssVar]).map(\n (n) => `var(${n})`,\n );\n const props = (cell.rendersCell || []).reduce(\n (acc, { getCellProps = (p) => p, ...other }) => {\n const propsCell = assignProps(other, acc);\n return assignProps(getCellProps(propsCell, cellsByColumn, index), propsCell);\n },\n {\n name: cell.name,\n children: cell.data,\n justifyContent: column?.props?.justifyContent,\n style: {\n [name]: value,\n width: vars.length === 1 ? vars[0] : `calc(${vars.join(' + ')})`,\n },\n },\n );\n\n acc.push(\n sstyled(styles)(\n <SCell key={cell.name} {...props} fixed={cell.fixed} theme={props.theme} use={use} />,\n ),\n );\n }\n return acc;\n }, []);\n }\n\n render() {\n const SBody = Root;\n const SBodyWrapper = Box;\n const SScrollAreaBar = ScrollArea.Bar;\n const { Children, styles, rows, columns, $scrollRef, onResize } = this.asProps;\n\n const initializeColumns = !!columns.reduce((acc, c) => acc + c.width, 0);\n\n const [offsetLeftSum, offsetRightSum] = getScrollOffsetValue(columns);\n const offsetSum = offsetLeftSum + offsetRightSum;\n\n return sstyled(styles)(\n <SBodyWrapper>\n <ScrollArea\n shadow\n styles={scrollStyles}\n use:left={`${offsetLeftSum}px`}\n use:right={`${offsetRightSum}px`}\n onResize={onResize}\n >\n <ScrollArea.Container ref={$scrollRef}>\n <SBody render={Box}>{initializeColumns ? this.renderRows(rows) : null}</SBody>\n </ScrollArea.Container>\n <SScrollAreaBar\n orientation=\"horizontal\"\n left={`${offsetLeftSum}px`}\n right={`${offsetRightSum}px`}\n offsetSum={`${offsetSum}px`}\n />\n <SScrollAreaBar orientation=\"vertical\" />\n </ScrollArea>\n {Children.origin}\n </SBodyWrapper>,\n );\n }\n}\n\nexport default Body;\n"],"file":"Body.js"}
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
-
5
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
4
 
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
@@ -47,9 +47,16 @@ var _Head = _interopRequireDefault(require("./Head"));
47
47
 
48
48
  var _Body = _interopRequireDefault(require("./Body"));
49
49
 
50
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
50
+ var _excluded = ["children", "name", "fixed", "resizable", "sortable"],
51
+ _excluded2 = ["name", "children"];
52
+
53
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
54
+
55
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
56
+
57
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
51
58
 
52
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
59
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
53
60
 
54
61
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
55
62
 
@@ -60,40 +67,40 @@ var style = (
60
67
  /*__reshadow_css_start__*/
61
68
  _core.sstyled.insert(
62
69
  /*__inner_css_start__*/
63
- ".___SDataTable_1vnwc_gg_,.___SHeadWrapper_1vnwc_gg_{position:relative}.___SHeadWrapper_1vnwc_gg_.__sticky_1vnwc_gg_{position:-webkit-sticky;position:sticky;top:0;z-index:2}.___SHead_1vnwc_gg_{flex-direction:row;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content;z-index:0}.___SColumn_1vnwc_gg_,.___SHead_1vnwc_gg_{display:flex;position:relative}.___SColumn_1vnwc_gg_{flex-grow:1;font-size:12px;line-height:18px;color:#333;box-sizing:border-box}.___SColumn_1vnwc_gg_:focus{outline:none;box-shadow:inset 0 0 0 3px rgba(43,148,225,.3)}.___SColumn_1vnwc_gg_.__hidden_1vnwc_gg_{height:0!important;padding:0!important;overflow:hidden!important;border:none!important}.___SColumn_1vnwc_gg_._use_primary_1vnwc_gg_{padding:12px;border-right:1px solid #dee3e5;border-bottom:1px solid #dee3e5;background-color:#f2f3f4}.___SColumn_1vnwc_gg_._use_secondary_1vnwc_gg_{padding:8px;border-bottom:1px solid #a6b0b3;background-color:#fff}.___SColumn_1vnwc_gg_.__use_1vnwc_gg_:last-child{border-right:none}.___SColumn_1vnwc_gg_.__group_1vnwc_gg_.__use_1vnwc_gg_{display:flex;flex-wrap:wrap;flex-direction:column;border-bottom:none;padding:0}.___SColumn_1vnwc_gg_.__groupHead_1vnwc_gg_.__use_1vnwc_gg_{justify-content:center;border-right:none;z-index:1}.___SColumn_1vnwc_gg_.__groupHead_1vnwc_gg_._use_primary_1vnwc_gg_{border-bottom:1px solid #dee3e5}.___SColumn_1vnwc_gg_.__groupHead_1vnwc_gg_._use_secondary_1vnwc_gg_{border-bottom:1px solid #a6b0b3}.___SColumn_1vnwc_gg_.__sortable_1vnwc_gg_{cursor:pointer}.___SColumn_1vnwc_gg_.__active_1vnwc_gg_._use_primary_1vnwc_gg_,.___SColumn_1vnwc_gg_.__sortable_1vnwc_gg_._use_primary_1vnwc_gg_:hover{background-color:#e4e7e8}.___SColumn_1vnwc_gg_.__resizable_1vnwc_gg_:hover:after{background:#a6b0b3}.___SColumn_1vnwc_gg_.__resizable_1vnwc_gg_:after{content:\"\";position:absolute;bottom:0;right:-1px;height:100vh;width:1px;background:transparent;cursor:col-resize}.___SColumn_1vnwc_gg_.__fixed_1vnwc_gg_{position:-webkit-sticky;position:sticky;z-index:2}.___SSortIcon_1vnwc_gg_{margin-top:2px;margin-left:4px;color:#bdc4c6}.___SSortIcon_1vnwc_gg_.__active_1vnwc_gg_{fill:#64787e}.___SBodyWrapper_1vnwc_gg_{position:relative}.___SBody_1vnwc_gg_{flex-direction:column;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}.___SBody_1vnwc_gg_,.___SRow_1vnwc_gg_{display:flex;position:relative}.___SRow_1vnwc_gg_{flex-direction:row}.___SRow_1vnwc_gg_:hover .___SCell_1vnwc_gg_:not(.__theme_1vnwc_gg_),.___SRow_1vnwc_gg_.__active_1vnwc_gg_ .___SCell_1vnwc_gg_:not(.__theme_1vnwc_gg_){background-color:#f6f7f7}.___SRow_1vnwc_gg_._theme_muted_1vnwc_gg_ .___SCell_1vnwc_gg_:not(.__theme_1vnwc_gg_){background-color:#f2f3f4}.___SRow_1vnwc_gg_:hover .___SCell_1vnwc_gg_._theme_muted_1vnwc_gg_,.___SRow_1vnwc_gg_._theme_muted_1vnwc_gg_:hover .___SCell_1vnwc_gg_:not(.__theme_1vnwc_gg_),.___SRow_1vnwc_gg_._theme_muted_1vnwc_gg_.__active_1vnwc_gg_ .___SCell_1vnwc_gg_:not(.__theme_1vnwc_gg_){background-color:#f6f7f7}.___SRow_1vnwc_gg_._theme_info_1vnwc_gg_ .___SCell_1vnwc_gg_:not(.__theme_1vnwc_gg_){background-color:#d5eaf9}.___SRow_1vnwc_gg_:hover .___SCell_1vnwc_gg_._theme_info_1vnwc_gg_,.___SRow_1vnwc_gg_._theme_info_1vnwc_gg_:hover .___SCell_1vnwc_gg_:not(.__theme_1vnwc_gg_),.___SRow_1vnwc_gg_._theme_info_1vnwc_gg_.__active_1vnwc_gg_ .___SCell_1vnwc_gg_:not(.__theme_1vnwc_gg_){background-color:#cae4f8}.___SRow_1vnwc_gg_._theme_success_1vnwc_gg_ .___SCell_1vnwc_gg_:not(.__theme_1vnwc_gg_){background-color:#e5f3e0}.___SRow_1vnwc_gg_:hover .___SCell_1vnwc_gg_._theme_success_1vnwc_gg_,.___SRow_1vnwc_gg_._theme_success_1vnwc_gg_:hover .___SCell_1vnwc_gg_:not(.__theme_1vnwc_gg_),.___SRow_1vnwc_gg_._theme_success_1vnwc_gg_.__active_1vnwc_gg_ .___SCell_1vnwc_gg_:not(.__theme_1vnwc_gg_){background-color:#dcefd6}.___SRow_1vnwc_gg_._theme_warning_1vnwc_gg_ .___SCell_1vnwc_gg_:not(.__theme_1vnwc_gg_){background-color:#fef3e6}.___SRow_1vnwc_gg_:hover .___SCell_1vnwc_gg_._theme_warning_1vnwc_gg_,.___SRow_1vnwc_gg_._theme_warning_1vnwc_gg_:hover .___SCell_1vnwc_gg_:not(.__theme_1vnwc_gg_),.___SRow_1vnwc_gg_._theme_warning_1vnwc_gg_.__active_1vnwc_gg_ .___SCell_1vnwc_gg_:not(.__theme_1vnwc_gg_){background-color:#feefde}.___SRow_1vnwc_gg_._theme_danger_1vnwc_gg_ .___SCell_1vnwc_gg_:not(.__theme_1vnwc_gg_){background-color:#fdeaea}.___SRow_1vnwc_gg_:hover .___SCell_1vnwc_gg_._theme_danger_1vnwc_gg_,.___SRow_1vnwc_gg_._theme_danger_1vnwc_gg_:hover .___SCell_1vnwc_gg_:not(.__theme_1vnwc_gg_),.___SRow_1vnwc_gg_._theme_danger_1vnwc_gg_.__active_1vnwc_gg_ .___SCell_1vnwc_gg_:not(.__theme_1vnwc_gg_){background-color:#fce0e0}.___SCell_1vnwc_gg_{display:flex;flex:0 0 auto;font-size:14px;color:#333;line-height:20px;box-sizing:border-box;border-bottom:1px solid #dee3e5;overflow:hidden;white-space:nowrap}.___SCell_1vnwc_gg_._use_primary_1vnwc_gg_{padding:12px;min-height:45px;background-color:#fff}.___SCell_1vnwc_gg_._use_secondary_1vnwc_gg_{padding:8px;min-height:37px;background-color:#fff}.___SCell_1vnwc_gg_.__fixed_1vnwc_gg_{position:-webkit-sticky;position:sticky;z-index:1}.___SCell_1vnwc_gg_._theme_muted_1vnwc_gg_{background-color:#f2f3f4}.___SCell_1vnwc_gg_._theme_info_1vnwc_gg_{background-color:#d5eaf9}.___SCell_1vnwc_gg_._theme_success_1vnwc_gg_{background-color:#e5f3e0}.___SCell_1vnwc_gg_._theme_warning_1vnwc_gg_{background-color:#fef3e6}.___SCell_1vnwc_gg_._theme_danger_1vnwc_gg_{background-color:#fdeaea}.___SScrollAreaBar_1vnwc_gg_._orientation_horizontal_1vnwc_gg_{position:-webkit-sticky;position:sticky;bottom:0;left:0;margin-top:-12px;z-index:2}.___SScrollAreaBar_1vnwc_gg_._orientation_vertical_1vnwc_gg_{width:12px}.___SScrollAreaBar_1vnwc_gg_._orientation_horizontal_1vnwc_gg_{margin-left:calc(var(--left_1okuh39) + 4px);margin-right:calc(var(--right_1okuh39) + 4px);width:calc(100% - var(--offsetSum_1okuh39) - 8px)}"
70
+ ".___SDataTable_13w0c_gg_{position:relative}.___SHeadWrapper_13w0c_gg_{position:relative}.___SHeadWrapper_13w0c_gg_.__sticky_13w0c_gg_{position:-webkit-sticky;position:sticky;top:0;z-index:2}.___SHead_13w0c_gg_{display:flex;position:relative;flex-direction:row;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content;z-index:0}.___SColumn_13w0c_gg_{display:flex;flex-grow:1;font-size:12px;line-height:18px;color:#333333;box-sizing:border-box;position:relative}.___SColumn_13w0c_gg_:focus{outline:none;box-shadow:inset 0 0 0 3px rgba(43,148,225,.3)}.___SColumn_13w0c_gg_.__hidden_13w0c_gg_{height:0!important;padding:0!important;overflow:hidden!important;border:none!important}.___SColumn_13w0c_gg_._use_primary_13w0c_gg_{padding:12px;border-right:1px solid #dee3e5;border-bottom:1px solid #dee3e5;background-color:#f2f3f4}.___SColumn_13w0c_gg_._use_secondary_13w0c_gg_{padding:8px;border-bottom:1px solid #a6b0b3;background-color:#fff}.___SColumn_13w0c_gg_.__use_13w0c_gg_:last-child{border-right:none}.___SColumn_13w0c_gg_.__group_13w0c_gg_.__use_13w0c_gg_{display:flex;flex-wrap:wrap;flex-direction:column;border-bottom:none;padding:0}.___SColumn_13w0c_gg_.__groupHead_13w0c_gg_.__use_13w0c_gg_{justify-content:center;border-right:none;z-index:1}.___SColumn_13w0c_gg_.__groupHead_13w0c_gg_._use_primary_13w0c_gg_{border-bottom:1px solid #dee3e5}.___SColumn_13w0c_gg_.__groupHead_13w0c_gg_._use_secondary_13w0c_gg_{border-bottom:1px solid #a6b0b3}.___SColumn_13w0c_gg_.__sortable_13w0c_gg_{cursor:pointer}.___SColumn_13w0c_gg_.__sortable_13w0c_gg_._use_primary_13w0c_gg_:hover{background-color:#e4e7e8}.___SColumn_13w0c_gg_.__active_13w0c_gg_._use_primary_13w0c_gg_{background-color:#e4e7e8}.___SColumn_13w0c_gg_.__resizable_13w0c_gg_:hover:after{background:#a6b0b3}.___SColumn_13w0c_gg_.__resizable_13w0c_gg_:after{content:\"\";position:absolute;bottom:0;right:-1px;height:100vh;width:1px;background:transparent;cursor:col-resize}.___SColumn_13w0c_gg_.__fixed_13w0c_gg_{position:-webkit-sticky;position:sticky;z-index:2}.___SSortIcon_13w0c_gg_{margin-top:2px;margin-left:4px;color:#bdc4c6}.___SSortIcon_13w0c_gg_.__active_13w0c_gg_{fill:#64787e}.___SBodyWrapper_13w0c_gg_{position:relative}.___SBody_13w0c_gg_{display:flex;flex-direction:column;position:relative;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}.___SRow_13w0c_gg_{display:flex;flex-direction:row;position:relative}.___SRow_13w0c_gg_:hover .___SCell_13w0c_gg_:not(.__theme_13w0c_gg_),.___SRow_13w0c_gg_.__active_13w0c_gg_ .___SCell_13w0c_gg_:not(.__theme_13w0c_gg_){background-color:#f6f7f7}.___SRow_13w0c_gg_._theme_muted_13w0c_gg_ .___SCell_13w0c_gg_:not(.__theme_13w0c_gg_){background-color:#f2f3f4}.___SRow_13w0c_gg_:hover .___SCell_13w0c_gg_._theme_muted_13w0c_gg_,.___SRow_13w0c_gg_._theme_muted_13w0c_gg_:hover .___SCell_13w0c_gg_:not(.__theme_13w0c_gg_),.___SRow_13w0c_gg_._theme_muted_13w0c_gg_.__active_13w0c_gg_ .___SCell_13w0c_gg_:not(.__theme_13w0c_gg_){background-color:#f6f7f7}.___SRow_13w0c_gg_._theme_info_13w0c_gg_ .___SCell_13w0c_gg_:not(.__theme_13w0c_gg_){background-color:#d5eaf9}.___SRow_13w0c_gg_:hover .___SCell_13w0c_gg_._theme_info_13w0c_gg_,.___SRow_13w0c_gg_._theme_info_13w0c_gg_:hover .___SCell_13w0c_gg_:not(.__theme_13w0c_gg_),.___SRow_13w0c_gg_._theme_info_13w0c_gg_.__active_13w0c_gg_ .___SCell_13w0c_gg_:not(.__theme_13w0c_gg_){background-color:#cae4f8}.___SRow_13w0c_gg_._theme_success_13w0c_gg_ .___SCell_13w0c_gg_:not(.__theme_13w0c_gg_){background-color:#e5f3e0}.___SRow_13w0c_gg_:hover .___SCell_13w0c_gg_._theme_success_13w0c_gg_,.___SRow_13w0c_gg_._theme_success_13w0c_gg_:hover .___SCell_13w0c_gg_:not(.__theme_13w0c_gg_),.___SRow_13w0c_gg_._theme_success_13w0c_gg_.__active_13w0c_gg_ .___SCell_13w0c_gg_:not(.__theme_13w0c_gg_){background-color:#dcefd6}.___SRow_13w0c_gg_._theme_warning_13w0c_gg_ .___SCell_13w0c_gg_:not(.__theme_13w0c_gg_){background-color:#fef3e6}.___SRow_13w0c_gg_:hover .___SCell_13w0c_gg_._theme_warning_13w0c_gg_,.___SRow_13w0c_gg_._theme_warning_13w0c_gg_:hover .___SCell_13w0c_gg_:not(.__theme_13w0c_gg_),.___SRow_13w0c_gg_._theme_warning_13w0c_gg_.__active_13w0c_gg_ .___SCell_13w0c_gg_:not(.__theme_13w0c_gg_){background-color:#feefde}.___SRow_13w0c_gg_._theme_danger_13w0c_gg_ .___SCell_13w0c_gg_:not(.__theme_13w0c_gg_){background-color:#fdeaea}.___SRow_13w0c_gg_:hover .___SCell_13w0c_gg_._theme_danger_13w0c_gg_,.___SRow_13w0c_gg_._theme_danger_13w0c_gg_:hover .___SCell_13w0c_gg_:not(.__theme_13w0c_gg_),.___SRow_13w0c_gg_._theme_danger_13w0c_gg_.__active_13w0c_gg_ .___SCell_13w0c_gg_:not(.__theme_13w0c_gg_){background-color:#fce0e0}.___SCell_13w0c_gg_{display:flex;flex:0 0 auto;font-size:14px;color:#333333;line-height:20px;box-sizing:border-box;border-bottom:1px solid #dee3e5;overflow:hidden;white-space:nowrap}.___SCell_13w0c_gg_._use_primary_13w0c_gg_{padding:12px;min-height:45px;background-color:#fff}.___SCell_13w0c_gg_._use_secondary_13w0c_gg_{padding:8px;min-height:37px;background-color:#fff}.___SCell_13w0c_gg_.__fixed_13w0c_gg_{position:-webkit-sticky;position:sticky;z-index:1}.___SCell_13w0c_gg_._theme_muted_13w0c_gg_{background-color:#f2f3f4}.___SCell_13w0c_gg_._theme_info_13w0c_gg_{background-color:#d5eaf9}.___SCell_13w0c_gg_._theme_success_13w0c_gg_{background-color:#e5f3e0}.___SCell_13w0c_gg_._theme_warning_13w0c_gg_{background-color:#fef3e6}.___SCell_13w0c_gg_._theme_danger_13w0c_gg_{background-color:#fdeaea}.___SScrollAreaBar_13w0c_gg_._orientation_horizontal_13w0c_gg_{position:-webkit-sticky;position:sticky;bottom:0;left:0;margin-top:-12px;z-index:2}.___SScrollAreaBar_13w0c_gg_._orientation_vertical_13w0c_gg_{width:12px}.___SScrollAreaBar_13w0c_gg_._orientation_horizontal_13w0c_gg_{margin-left:calc(var(--left_1okuh39) + 4px);margin-right:calc(var(--right_1okuh39) + 4px);width:calc(100% - var(--offsetSum_1okuh39) - 8px)}"
64
71
  /*__inner_css_end__*/
65
72
  , "1okuh39_gg_")
66
73
  /*__reshadow_css_end__*/
67
74
  , {
68
- "__SDataTable": "___SDataTable_1vnwc_gg_",
69
- "__SHeadWrapper": "___SHeadWrapper_1vnwc_gg_",
70
- "_sticky": "__sticky_1vnwc_gg_",
71
- "__SHead": "___SHead_1vnwc_gg_",
72
- "__SColumn": "___SColumn_1vnwc_gg_",
73
- "_hidden": "__hidden_1vnwc_gg_",
74
- "_use_primary": "_use_primary_1vnwc_gg_",
75
- "_use_secondary": "_use_secondary_1vnwc_gg_",
76
- "_use": "__use_1vnwc_gg_",
77
- "_group": "__group_1vnwc_gg_",
78
- "_groupHead": "__groupHead_1vnwc_gg_",
79
- "_sortable": "__sortable_1vnwc_gg_",
80
- "_active": "__active_1vnwc_gg_",
81
- "_resizable": "__resizable_1vnwc_gg_",
82
- "_fixed": "__fixed_1vnwc_gg_",
83
- "__SSortIcon": "___SSortIcon_1vnwc_gg_",
84
- "__SBodyWrapper": "___SBodyWrapper_1vnwc_gg_",
85
- "__SBody": "___SBody_1vnwc_gg_",
86
- "__SRow": "___SRow_1vnwc_gg_",
87
- "__SCell": "___SCell_1vnwc_gg_",
88
- "_theme": "__theme_1vnwc_gg_",
89
- "_theme_muted": "_theme_muted_1vnwc_gg_",
90
- "_theme_info": "_theme_info_1vnwc_gg_",
91
- "_theme_success": "_theme_success_1vnwc_gg_",
92
- "_theme_warning": "_theme_warning_1vnwc_gg_",
93
- "_theme_danger": "_theme_danger_1vnwc_gg_",
94
- "__SScrollAreaBar": "___SScrollAreaBar_1vnwc_gg_",
95
- "_orientation_horizontal": "_orientation_horizontal_1vnwc_gg_",
96
- "_orientation_vertical": "_orientation_vertical_1vnwc_gg_",
75
+ "__SDataTable": "___SDataTable_13w0c_gg_",
76
+ "__SHeadWrapper": "___SHeadWrapper_13w0c_gg_",
77
+ "_sticky": "__sticky_13w0c_gg_",
78
+ "__SHead": "___SHead_13w0c_gg_",
79
+ "__SColumn": "___SColumn_13w0c_gg_",
80
+ "_hidden": "__hidden_13w0c_gg_",
81
+ "_use_primary": "_use_primary_13w0c_gg_",
82
+ "_use_secondary": "_use_secondary_13w0c_gg_",
83
+ "_use": "__use_13w0c_gg_",
84
+ "_group": "__group_13w0c_gg_",
85
+ "_groupHead": "__groupHead_13w0c_gg_",
86
+ "_sortable": "__sortable_13w0c_gg_",
87
+ "_active": "__active_13w0c_gg_",
88
+ "_resizable": "__resizable_13w0c_gg_",
89
+ "_fixed": "__fixed_13w0c_gg_",
90
+ "__SSortIcon": "___SSortIcon_13w0c_gg_",
91
+ "__SBodyWrapper": "___SBodyWrapper_13w0c_gg_",
92
+ "__SBody": "___SBody_13w0c_gg_",
93
+ "__SRow": "___SRow_13w0c_gg_",
94
+ "__SCell": "___SCell_13w0c_gg_",
95
+ "_theme": "__theme_13w0c_gg_",
96
+ "_theme_muted": "_theme_muted_13w0c_gg_",
97
+ "_theme_info": "_theme_info_13w0c_gg_",
98
+ "_theme_success": "_theme_success_13w0c_gg_",
99
+ "_theme_warning": "_theme_warning_13w0c_gg_",
100
+ "_theme_danger": "_theme_danger_13w0c_gg_",
101
+ "__SScrollAreaBar": "___SScrollAreaBar_13w0c_gg_",
102
+ "_orientation_horizontal": "_orientation_horizontal_13w0c_gg_",
103
+ "_orientation_vertical": "_orientation_vertical_13w0c_gg_",
97
104
  "--left": "--left_1okuh39",
98
105
  "--right": "--right_1okuh39",
99
106
  "--offsetSum": "--offsetSum_1okuh39"
@@ -183,7 +190,7 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
183
190
  fixed = _child$props$fixed === void 0 ? options.fixed : _child$props$fixed,
184
191
  resizable = _child$props.resizable,
185
192
  sortable = _child$props.sortable,
186
- props = (0, _objectWithoutProperties2["default"])(_child$props, ["children", "name", "fixed", "resizable", "sortable"]);
193
+ props = (0, _objectWithoutProperties2["default"])(_child$props, _excluded);
187
194
  var isGroup = !name;
188
195
  var columns = null;
189
196
 
@@ -256,7 +263,7 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
256
263
  var _child$props2 = child.props,
257
264
  name = _child$props2.name,
258
265
  children = _child$props2.children,
259
- other = (0, _objectWithoutProperties2["default"])(_child$props2, ["name", "children"]);
266
+ other = (0, _objectWithoutProperties2["default"])(_child$props2, _excluded2);
260
267
 
261
268
  if (child.type === DefinitionTable.Cell && name) {
262
269
  name.split('/').forEach(function (name) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/DataTable.js"],"names":["MAP_SORT_DIRECTION","desc","asc","DEFAULT_SORT_DIRECTION","ROW_GROUP","Symbol","cssVarReg","createCssVarForWidth","name","replace","RootDefinitionTable","props","React","createRef","e","column","columns","find","c","active","sortDirection","forceUpdate","tableRef","current","scrollIntoView","block","inline","behavior","scrollBodyRef","scrollHeadRef","forEach","style","setProperty","cssVar","width","children","options","fixed","undefined","sort","asProps","columnsChildren","Children","child","isValidElement","type","DefinitionTable","Column","resizable","sortable","isGroup","childrenToColumns","map","join","length","toArray","filter","push","ref","getBoundingClientRect","use","$onSortClick","handlerSortClick","scrollToUp","onResize","handlerResize","$scrollRef","data","propsCells","$propsRow","other","Cell","split","getCellProps","Row","getRowProps","rows","dataToRows","parseData","exclude","row","columnsGroups","Object","keys","reduce","acc","names","nameColumnsGroup","concat","i","arr","indexOf","rowsGroup","nameRowsGroup","isGroupRow","cells","_row","columnGroup","group","includes","rendersCell","setVarStyle","SDataTable","Box","styles","Component","ComponentDefinition","Head","Body"],"mappings":"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","sourcesContent":["import React from 'react';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport syncScroll from '@semcore/utils/lib/syncScroll';\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport fire from '@semcore/utils/lib/fire';\nimport { flattenColumns } from './utils';\nimport Head from './Head';\nimport Body from './Body';\n\nimport style from './style/data-table.shadow.css';\n\nconst MAP_SORT_DIRECTION = {\n desc: 'asc',\n asc: 'desc',\n};\nconst DEFAULT_SORT_DIRECTION = 'desc';\n\nconst ROW_GROUP = Symbol('ROW_GROUP');\n\nconst cssVarReg = /[:;]/g;\n\nfunction createCssVarForWidth(name) {\n return `--${name.replace(cssVarReg, '_')}_width`;\n}\n\nclass RootDefinitionTable extends Component {\n static displayName = 'DefinitionTable';\n\n static style = style;\n\n static defaultProps = {\n use: 'primary',\n sort: [],\n data: [],\n };\n\n columns = [];\n\n tableRef = React.createRef();\n\n constructor(props) {\n super(props);\n\n const createRef = syncScroll();\n // first create body ref for master scroll\n this.scrollBodyRef = createRef('body');\n this.scrollHeadRef = createRef('head');\n }\n\n handlerSortClick = (name, e) => {\n const column = this.columns.find((c) => c.name === name);\n return fire(\n this,\n 'onSortChange',\n [\n column.name,\n column.active ? MAP_SORT_DIRECTION[column.sortDirection] : column.sortDirection,\n ],\n e,\n );\n };\n\n handlerResize = () => {\n this.forceUpdate();\n };\n\n scrollToUp = () => {\n this.tableRef?.current?.scrollIntoView({\n block: 'nearest',\n inline: 'nearest',\n behavior: 'smooth',\n });\n };\n\n setVarStyle(columns) {\n columns.forEach((column) => {\n this.tableRef.current?.style.setProperty(column.cssVar, `${column.width}px`);\n }, {});\n }\n\n childrenToColumns(children, options = { fixed: undefined }) {\n const { sort } = this.asProps;\n const columnsChildren = [];\n React.Children.forEach(children, (child) => {\n if (!React.isValidElement(child)) return;\n if (child.type !== DefinitionTable.Column) return;\n\n let { children, name, fixed = options.fixed, resizable, sortable, ...props } = child.props;\n const isGroup = !name;\n let columns = null;\n\n if (isGroup) {\n columns = this.childrenToColumns(children, {\n fixed,\n });\n name = flattenColumns(columns)\n .map((c) => c.name)\n .join('/');\n if (!columns.length) return;\n children = React.Children.toArray(children).filter(\n (child) => !(React.isValidElement(child) && child.type === DefinitionTable.Column),\n );\n }\n\n const column = this.columns.find((c) => c.name === name);\n\n columnsChildren.push({\n get width() {\n return this.props.ref.current?.getBoundingClientRect().width || 0;\n },\n name,\n cssVar: createCssVarForWidth(name),\n fixed,\n resizable,\n active: sort[0] === name,\n sortable,\n sortDirection:\n sort[0] === name\n ? sort[1]\n : column?.sortDirection ||\n (typeof sortable == 'string' ? sortable : DEFAULT_SORT_DIRECTION),\n columns,\n props: {\n ref: column?.props?.ref || React.createRef(),\n children,\n ...props,\n },\n });\n });\n return columnsChildren;\n }\n\n getHeadProps(props) {\n const { use } = this.asProps;\n const columnsChildren = this.childrenToColumns(props.children);\n this.columns = flattenColumns(columnsChildren);\n return {\n $onSortClick: callAllEventHandlers(this.handlerSortClick, this.scrollToUp),\n columnsChildren,\n use,\n onResize: this.handlerResize,\n $scrollRef: this.scrollHeadRef,\n };\n }\n\n getBodyProps(props) {\n const { data, use } = this.asProps;\n const propsCells = {};\n const $propsRow = [];\n React.Children.forEach(props.children, (child) => {\n if (React.isValidElement(child)) {\n const { name, children, ...other } = child.props;\n if (child.type === DefinitionTable.Cell && name) {\n name.split('/').forEach((name) => {\n propsCells[name] = propsCells[name] || [];\n propsCells[name].push({\n ...other,\n getCellProps: children,\n });\n });\n }\n if (child.type === DefinitionTable.Row) {\n $propsRow.push({\n ...other,\n getRowProps: children,\n });\n }\n }\n });\n\n return {\n columns: this.columns,\n rows: this.dataToRows(data, propsCells),\n use,\n $propsRow,\n $scrollRef: this.scrollBodyRef,\n };\n }\n\n dataToRows(data, propsCells) {\n const columns = this.columns;\n\n function parseData(data, options = { exclude: [] }) {\n return data.map((row) => {\n const columnsGroups = Object.keys(row).reduce((acc, name) => {\n const names = name.split('/');\n if (names.length >= 2) {\n acc.push([names, row[name]]);\n }\n return acc;\n }, []);\n const nameColumnsGroup = columnsGroups\n .reduce((acc, [names]) => acc.concat(names), [])\n .filter((name, i, arr) => arr.indexOf(name) === i);\n const rowsGroup = row[ROW_GROUP] || [];\n const nameRowsGroup = rowsGroup\n .reduce((acc, row) => acc.concat(Object.keys(row)), [])\n .filter((name, i, arr) => arr.indexOf(name) === i);\n let isGroupRow = false;\n\n const cells = [];\n cells._row = row;\n return columns.reduce((acc, column) => {\n const columnGroup = columnsGroups.find((group) => group[0]?.includes(column.name));\n if (columnGroup) {\n const [names, data] = columnGroup;\n if (names[0] === column.name) {\n acc.push({\n name: names.join('/'),\n cssVar: names.map(createCssVarForWidth),\n fixed: column.fixed,\n data,\n rendersCell: propsCells[column.name] || [],\n });\n }\n } else if (column.name in row) {\n acc.push({\n name: column.name,\n cssVar: column.cssVar,\n fixed: column.fixed,\n data: row[column.name],\n rendersCell: propsCells[column.name] || [],\n });\n } else if (!isGroupRow && nameRowsGroup.includes(column.name)) {\n // TODO: сделать универсально\n isGroupRow = true;\n acc.push(\n parseData(rowsGroup, {\n exclude: [...Object.keys(row), ...nameColumnsGroup],\n }),\n );\n } else if (![...options.exclude, ...nameRowsGroup].includes(column.name)) {\n acc.push({\n name: column.name,\n cssVar: column.cssVar,\n fixed: column.fixed,\n data: null,\n rendersCell: propsCells[column.name] || [],\n });\n }\n return acc;\n }, cells);\n });\n }\n\n return parseData(data);\n }\n\n componentDidUpdate() {\n this.setVarStyle(this.columns);\n }\n\n render() {\n const SDataTable = Root;\n const { Children, styles } = this.asProps;\n\n return sstyled(styles)(\n <SDataTable render={Box} __excludeProps={['data']} ref={this.tableRef}>\n <Children />\n </SDataTable>,\n );\n }\n}\n\nfunction ComponentDefinition() {\n return null;\n}\n\nconst DefinitionTable = createComponent(\n RootDefinitionTable,\n {\n Head,\n Body,\n Column: ComponentDefinition,\n Cell: ComponentDefinition,\n Row: ComponentDefinition,\n },\n {},\n);\n\nexport { ROW_GROUP };\nexport default DefinitionTable;\n"],"file":"DataTable.js"}
1
+ {"version":3,"sources":["../../src/DataTable.jsx"],"names":["MAP_SORT_DIRECTION","desc","asc","DEFAULT_SORT_DIRECTION","ROW_GROUP","Symbol","cssVarReg","createCssVarForWidth","name","replace","RootDefinitionTable","props","React","createRef","e","column","columns","find","c","active","sortDirection","forceUpdate","tableRef","current","scrollIntoView","block","inline","behavior","scrollBodyRef","scrollHeadRef","forEach","style","setProperty","cssVar","width","children","options","fixed","undefined","sort","asProps","columnsChildren","Children","child","isValidElement","type","DefinitionTable","Column","resizable","sortable","isGroup","childrenToColumns","map","join","length","toArray","filter","push","ref","getBoundingClientRect","use","$onSortClick","handlerSortClick","scrollToUp","onResize","handlerResize","$scrollRef","data","propsCells","$propsRow","other","Cell","split","getCellProps","Row","getRowProps","rows","dataToRows","parseData","exclude","row","columnsGroups","Object","keys","reduce","acc","names","nameColumnsGroup","concat","i","arr","indexOf","rowsGroup","nameRowsGroup","isGroupRow","cells","_row","columnGroup","group","includes","rendersCell","setVarStyle","SDataTable","Box","styles","Component","ComponentDefinition","Head","Body"],"mappings":"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","sourcesContent":["import React from 'react';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport syncScroll from '@semcore/utils/lib/syncScroll';\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport fire from '@semcore/utils/lib/fire';\nimport { flattenColumns } from './utils';\nimport Head from './Head';\nimport Body from './Body';\n\nimport style from './style/data-table.shadow.css';\n\nconst MAP_SORT_DIRECTION = {\n desc: 'asc',\n asc: 'desc',\n};\nconst DEFAULT_SORT_DIRECTION = 'desc';\n\nconst ROW_GROUP = Symbol('ROW_GROUP');\n\nconst cssVarReg = /[:;]/g;\n\nfunction createCssVarForWidth(name) {\n return `--${name.replace(cssVarReg, '_')}_width`;\n}\n\nclass RootDefinitionTable extends Component {\n static displayName = 'DefinitionTable';\n\n static style = style;\n\n static defaultProps = {\n use: 'primary',\n sort: [],\n data: [],\n };\n\n columns = [];\n\n tableRef = React.createRef();\n\n constructor(props) {\n super(props);\n\n const createRef = syncScroll();\n // first create body ref for master scroll\n this.scrollBodyRef = createRef('body');\n this.scrollHeadRef = createRef('head');\n }\n\n handlerSortClick = (name, e) => {\n const column = this.columns.find((c) => c.name === name);\n return fire(\n this,\n 'onSortChange',\n [\n column.name,\n column.active ? MAP_SORT_DIRECTION[column.sortDirection] : column.sortDirection,\n ],\n e,\n );\n };\n\n handlerResize = () => {\n this.forceUpdate();\n };\n\n scrollToUp = () => {\n this.tableRef?.current?.scrollIntoView({\n block: 'nearest',\n inline: 'nearest',\n behavior: 'smooth',\n });\n };\n\n setVarStyle(columns) {\n columns.forEach((column) => {\n this.tableRef.current?.style.setProperty(column.cssVar, `${column.width}px`);\n }, {});\n }\n\n childrenToColumns(children, options = { fixed: undefined }) {\n const { sort } = this.asProps;\n const columnsChildren = [];\n React.Children.forEach(children, (child) => {\n if (!React.isValidElement(child)) return;\n if (child.type !== DefinitionTable.Column) return;\n\n let { children, name, fixed = options.fixed, resizable, sortable, ...props } = child.props;\n const isGroup = !name;\n let columns = null;\n\n if (isGroup) {\n columns = this.childrenToColumns(children, {\n fixed,\n });\n name = flattenColumns(columns)\n .map((c) => c.name)\n .join('/');\n if (!columns.length) return;\n children = React.Children.toArray(children).filter(\n (child) => !(React.isValidElement(child) && child.type === DefinitionTable.Column),\n );\n }\n\n const column = this.columns.find((c) => c.name === name);\n\n columnsChildren.push({\n get width() {\n return this.props.ref.current?.getBoundingClientRect().width || 0;\n },\n name,\n cssVar: createCssVarForWidth(name),\n fixed,\n resizable,\n active: sort[0] === name,\n sortable,\n sortDirection:\n sort[0] === name\n ? sort[1]\n : column?.sortDirection ||\n (typeof sortable == 'string' ? sortable : DEFAULT_SORT_DIRECTION),\n columns,\n props: {\n ref: column?.props?.ref || React.createRef(),\n children,\n ...props,\n },\n });\n });\n return columnsChildren;\n }\n\n getHeadProps(props) {\n const { use } = this.asProps;\n const columnsChildren = this.childrenToColumns(props.children);\n this.columns = flattenColumns(columnsChildren);\n return {\n $onSortClick: callAllEventHandlers(this.handlerSortClick, this.scrollToUp),\n columnsChildren,\n use,\n onResize: this.handlerResize,\n $scrollRef: this.scrollHeadRef,\n };\n }\n\n getBodyProps(props) {\n const { data, use } = this.asProps;\n const propsCells = {};\n const $propsRow = [];\n React.Children.forEach(props.children, (child) => {\n if (React.isValidElement(child)) {\n const { name, children, ...other } = child.props;\n if (child.type === DefinitionTable.Cell && name) {\n name.split('/').forEach((name) => {\n propsCells[name] = propsCells[name] || [];\n propsCells[name].push({\n ...other,\n getCellProps: children,\n });\n });\n }\n if (child.type === DefinitionTable.Row) {\n $propsRow.push({\n ...other,\n getRowProps: children,\n });\n }\n }\n });\n\n return {\n columns: this.columns,\n rows: this.dataToRows(data, propsCells),\n use,\n $propsRow,\n $scrollRef: this.scrollBodyRef,\n };\n }\n\n dataToRows(data, propsCells) {\n const columns = this.columns;\n\n function parseData(data, options = { exclude: [] }) {\n return data.map((row) => {\n const columnsGroups = Object.keys(row).reduce((acc, name) => {\n const names = name.split('/');\n if (names.length >= 2) {\n acc.push([names, row[name]]);\n }\n return acc;\n }, []);\n const nameColumnsGroup = columnsGroups\n .reduce((acc, [names]) => acc.concat(names), [])\n .filter((name, i, arr) => arr.indexOf(name) === i);\n const rowsGroup = row[ROW_GROUP] || [];\n const nameRowsGroup = rowsGroup\n .reduce((acc, row) => acc.concat(Object.keys(row)), [])\n .filter((name, i, arr) => arr.indexOf(name) === i);\n let isGroupRow = false;\n\n const cells = [];\n cells._row = row;\n return columns.reduce((acc, column) => {\n const columnGroup = columnsGroups.find((group) => group[0]?.includes(column.name));\n if (columnGroup) {\n const [names, data] = columnGroup;\n if (names[0] === column.name) {\n acc.push({\n name: names.join('/'),\n cssVar: names.map(createCssVarForWidth),\n fixed: column.fixed,\n data,\n rendersCell: propsCells[column.name] || [],\n });\n }\n } else if (column.name in row) {\n acc.push({\n name: column.name,\n cssVar: column.cssVar,\n fixed: column.fixed,\n data: row[column.name],\n rendersCell: propsCells[column.name] || [],\n });\n } else if (!isGroupRow && nameRowsGroup.includes(column.name)) {\n // TODO: сделать универсально\n isGroupRow = true;\n acc.push(\n parseData(rowsGroup, {\n exclude: [...Object.keys(row), ...nameColumnsGroup],\n }),\n );\n } else if (![...options.exclude, ...nameRowsGroup].includes(column.name)) {\n acc.push({\n name: column.name,\n cssVar: column.cssVar,\n fixed: column.fixed,\n data: null,\n rendersCell: propsCells[column.name] || [],\n });\n }\n return acc;\n }, cells);\n });\n }\n\n return parseData(data);\n }\n\n componentDidUpdate() {\n this.setVarStyle(this.columns);\n }\n\n render() {\n const SDataTable = Root;\n const { Children, styles } = this.asProps;\n\n return sstyled(styles)(\n <SDataTable render={Box} __excludeProps={['data']} ref={this.tableRef}>\n <Children />\n </SDataTable>,\n );\n }\n}\n\nfunction ComponentDefinition() {\n return null;\n}\n\nconst DefinitionTable = createComponent(\n RootDefinitionTable,\n {\n Head,\n Body,\n Column: ComponentDefinition,\n Cell: ComponentDefinition,\n Row: ComponentDefinition,\n },\n {},\n);\n\nexport { ROW_GROUP };\nexport default DefinitionTable;\n"],"file":"DataTable.js"}
package/lib/cjs/Head.js CHANGED
@@ -41,9 +41,9 @@ var _utils = require("./utils");
41
41
 
42
42
  var _logger = _interopRequireDefault(require("@semcore/utils/lib/logger"));
43
43
 
44
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
44
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
45
45
 
46
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
46
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
47
47
 
48
48
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
49
49
 
@@ -54,12 +54,12 @@ var scrollStyles = (
54
54
  /*__reshadow_css_start__*/
55
55
  _core.sstyled.insert(
56
56
  /*__inner_css_start__*/
57
- ".___SShadowHorizontal_e7di7_gg_:before{left:var(--left_1jfuf14)!important}.___SShadowHorizontal_e7di7_gg_:after{right:var(--right_1jfuf14)!important}"
57
+ ".___SShadowHorizontal_1w6je_gg_:before{left:var(--left_1jfuf14)!important}.___SShadowHorizontal_1w6je_gg_:after{right:var(--right_1jfuf14)!important}"
58
58
  /*__inner_css_end__*/
59
59
  , "1jfuf14_gg_")
60
60
  /*__reshadow_css_end__*/
61
61
  , {
62
- "__SShadowHorizontal": "___SShadowHorizontal_e7di7_gg_",
62
+ "__SShadowHorizontal": "___SShadowHorizontal_1w6je_gg_",
63
63
  "--left": "--left_1jfuf14",
64
64
  "--right": "--right_1jfuf14"
65
65
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Head.js"],"names":["SORTING_ICON","desc","SortDesc","asc","SortAsc","Head","name","e","asProps","$onSortClick","keyCode","columns","width","map","column","renderColumn","styles","use","hidden","SColumn","Flex","SHead","Box","SSortIcon","sortDirection","isGroup","cSize","length","value","style","props","flex","undefined","fixed","resizable","sortable","active","onClick","bindHandlerSortClick","onKeyDown","bindHandlerKeyDown","children","renderColumns","Children","columnsChildren","onResize","$scrollRef","sticky","SHeadWrapper","offsetLeftSum","offsetRightSum","logger","warn","displayName","scrollStyles","origin","Component"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACA;;AADA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;AAIA,IAAMA,YAAY,GAAG;AACnBC,EAAAA,IAAI,EAAEC,aADa;AAEnBC,EAAAA,GAAG,EAAEC;AAFc,CAArB;;IAKMC,I;;;;;;;;;;;;;;;gGACM,E;6GAEa,UAACC,IAAD;AAAA,aAAU,UAACC,CAAD,EAAO;AACtC,cAAKC,OAAL,CAAaC,YAAb,CAA0BH,IAA1B,EAAgCC,CAAhC;AACD,OAFsB;AAAA,K;2GAIF,UAACD,IAAD;AAAA,aAAU,UAACC,CAAD,EAAO;AACpC,YAAIA,CAAC,CAACG,OAAF,KAAc,EAAlB,EAAsB;AACpB,gBAAKF,OAAL,CAAaC,YAAb,CAA0BH,IAA1B,EAAgCC,CAAhC;AACD;AACF,OAJoB;AAAA,K;;;;;;WAMrB,uBAAcI,OAAd,EAAuBC,KAAvB,EAA8B;AAAA;;AAC5B,aAAOD,OAAO,CAACE,GAAR,CAAY,UAACC,MAAD;AAAA,eAAY,MAAI,CAACC,YAAL,CAAkBD,MAAlB,EAA0BF,KAA1B,CAAZ;AAAA,OAAZ,CAAP;AACD;;;WAED,sBAAaE,MAAb,EAAqBF,KAArB,EAA4B;AAAA;;AAAA,0BACM,KAAKJ,OADX;AAAA,UAClBQ,MADkB,iBAClBA,MADkB;AAAA,UACVC,GADU,iBACVA,GADU;AAAA,UACLC,MADK,iBACLA,MADK;AAE1B,UAAMC,OAAO,GAAGC,aAAhB;AACA,UAAMC,KAAK,GAAGC,YAAd;AACA,UAAMC,SAAS,GAAGvB,YAAY,CAACc,MAAM,CAACU,aAAR,CAA9B;AACA,UAAMC,OAAO,GAAG,CAAC,CAACX,MAAM,CAACH,OAAzB;AACA,UAAMe,KAAK,GAAGD,OAAO,GAAG,2BAAeX,MAAM,CAACH,OAAtB,EAA+BgB,MAAlC,GAA2C,CAAhE;;AAN0B,2BAOJ,0BAAcb,MAAd,EAAsB,KAAKH,OAA3B,CAPI;AAAA;AAAA,UAOnBL,IAPmB;AAAA,UAObsB,KAPa;;AAQ1B,UAAMC,KAAK,wFACRvB,IADQ,EACDsB,KADC,iEAEEd,MAAM,CAACgB,KAAP,CAAaC,IAAb,KAAsBC,SAAtB,cAAsCpB,KAAK,GAAGc,KAA9C,MAFF,oBAGNZ,MAAM,CAACgB,KAAP,CAAaD,KAHP,CAAX;;AAMA,qBAAO,mBAAQb,MAAR,CAAP,eACE,gCAAC,OAAD;AAAA,eACOF,MAAM,CAACR,IADd;AAAA,eAEOW,GAFP;AAAA,iBAGSH,MAAM,CAACmB,KAHhB;AAAA,qBAIanB,MAAM,CAACoB,SAJpB;AAAA,oBAKYpB,MAAM,CAACqB,QALnB;AAAA,kBAMUrB,MAAM,CAACsB,MANjB;AAAA,iBAOSX,OAPT;AAAA,oBAQYX,MAAM,CAACqB,QAAP,IAAmB;AAR/B,SASMrB,MAAM,CAACgB,KATb;AAAA,mBAUW,wCACPhB,MAAM,CAACgB,KAAP,CAAaO,OADN,EAEPvB,MAAM,CAACqB,QAAP,GAAkB,KAAKG,oBAAL,CAA0BxB,MAAM,CAACR,IAAjC,CAAlB,GAA2D0B,SAFpD,CAVX;AAAA,qBAca,wCACTlB,MAAM,CAACgB,KAAP,CAAaS,SADJ,EAETzB,MAAM,CAACqB,QAAP,GAAkB,KAAKK,kBAAL,CAAwB1B,MAAM,CAACR,IAA/B,CAAlB,GAAyD0B,SAFhD,CAdb;AAAA,iBAkBSH,KAlBT;AAAA,kBAmBUX;AAnBV,WAqBGO,OAAO,gBACN,+EACE,gCAAC,OAAD;AAAA;AAAA,eAAwBR;AAAxB,uBACE,4DAAMH,MAAM,CAACgB,KAAP,CAAaW,QAAnB,CADF,CADF,eAIE,gCAAC,KAAD,yBAAQ,KAAKC,aAAL,CAAmB5B,MAAM,CAACH,OAA1B,EAAmC,MAAMe,KAAzC,CAAR,CAJF,CADM,gBAQN,+EACE,4DAAMZ,MAAM,CAACgB,KAAP,CAAaW,QAAnB,CADF,EAEG3B,MAAM,CAACqB,QAAP,gBAAkB,gCAAC,SAAD;AAAA,kBAAmBrB,MAAM,CAACsB;AAA1B,SAAlB,GAAyD,IAF5D,CA7BJ,CADF;AAqCD;;;WAED,kBAAS;AAAA;AAAA;;AACP,UAAMf,KAAK,GAwBYC,YAxBvB;AADO,2BAEqE,KAAKd,OAF1E;AAAA,UAECmC,QAFD,kBAECA,QAFD;AAAA,UAEW3B,MAFX,kBAEWA,MAFX;AAAA,UAEmB4B,eAFnB,kBAEmBA,eAFnB;AAAA,UAEoCC,QAFpC,kBAEoCA,QAFpC;AAAA,UAE8CC,UAF9C,kBAE8CA,UAF9C;AAAA,UAE0DC,MAF1D,kBAE0DA,MAF1D;AAGP,UAAMC,YAAY,GAAG1B,YAArB;AAEA,WAAKX,OAAL,GAAe,2BAAeiC,eAAf,CAAf;;AALO,kCAOiC,iCAAqB,KAAKjC,OAA1B,CAPjC;AAAA;AAAA,UAOAsC,aAPA;AAAA,UAOeC,cAPf;;AASPC,yBAAOC,IAAP,CACEL,MADF,EAEE,0DAFF,EAGE,KAAKvC,OAAL,CAAa,cAAb,KAAgCH,IAAI,CAACgD,WAHvC;;AAMA,qBAAO,mBAAQrC,MAAR,CAAP,eACE,gCAAC,YAAD;AAAA,kBAAsB+B;AAAtB,uBACE,gCAAC,sBAAD;AAAA,kBACUO,YADV;AAAA,8BAEeL,aAFf;AAAA,+BAGgBC,cAHhB;AAAA;AAAA,oBAKYL;AALZ,uBAOE,gCAAC,sBAAD,CAAY,SAAZ;AAAsB,QAAA,GAAG,EAAEC;AAA3B,sBACE,gCAAC,KAAD,0EACG,KAAKJ,aAAL,CAAmBE,eAAnB,EAAoC,MAAM,KAAKjC,OAAL,CAAagB,MAAvD,CADH,CADF,CAPF,CADF,EAcGgB,QAAQ,CAACY,MAdZ,CADF;AAkBD;;;EAvGgBC,e;;eA0GJnD,I","sourcesContent":["import React from 'react';\nimport { Component, sstyled, Root } from '@semcore/core';\nimport { Box, Flex } from '@semcore/flex-box';\nimport ScrollArea from '@semcore/scroll-area';\nimport SortDesc from '@semcore/icon/SortDesc/m';\nimport SortAsc from '@semcore/icon/SortAsc/m';\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport { flattenColumns, getFixedStyle, getScrollOffsetValue } from './utils';\nimport logger from '@semcore/utils/lib/logger';\n\nimport scrollStyles from './style/scroll-area.shadow.css';\n\nconst SORTING_ICON = {\n desc: SortDesc,\n asc: SortAsc,\n};\n\nclass Head extends Component {\n columns = [];\n\n bindHandlerSortClick = (name) => (e) => {\n this.asProps.$onSortClick(name, e);\n };\n\n bindHandlerKeyDown = (name) => (e) => {\n if (e.keyCode === 13) {\n this.asProps.$onSortClick(name, e);\n }\n };\n\n renderColumns(columns, width) {\n return columns.map((column) => this.renderColumn(column, width));\n }\n\n renderColumn(column, width) {\n const { styles, use, hidden } = this.asProps;\n const SColumn = Flex;\n const SHead = Box;\n const SSortIcon = SORTING_ICON[column.sortDirection];\n const isGroup = !!column.columns;\n const cSize = isGroup ? flattenColumns(column.columns).length : 1;\n const [name, value] = getFixedStyle(column, this.columns);\n const style = {\n [name]: value,\n flexBasis: column.props.flex === undefined && `${width * cSize}%`,\n ...column.props.style,\n };\n\n return sstyled(styles)(\n <SColumn\n key={column.name}\n use={use}\n fixed={column.fixed}\n resizable={column.resizable}\n sortable={column.sortable}\n active={column.active}\n group={isGroup}\n tabIndex={column.sortable && 0}\n {...column.props}\n onClick={callAllEventHandlers(\n column.props.onClick,\n column.sortable ? this.bindHandlerSortClick(column.name) : undefined,\n )}\n onKeyDown={callAllEventHandlers(\n column.props.onKeyDown,\n column.sortable ? this.bindHandlerKeyDown(column.name) : undefined,\n )}\n style={style}\n hidden={hidden}\n >\n {isGroup ? (\n <>\n <SColumn groupHead use={use}>\n <div>{column.props.children}</div>\n </SColumn>\n <SHead>{this.renderColumns(column.columns, 100 / cSize)}</SHead>\n </>\n ) : (\n <>\n <div>{column.props.children}</div>\n {column.sortable ? <SSortIcon active={column.active} /> : null}\n </>\n )}\n </SColumn>,\n );\n }\n\n render() {\n const SHead = Root;\n const { Children, styles, columnsChildren, onResize, $scrollRef, sticky } = this.asProps;\n const SHeadWrapper = Box;\n\n this.columns = flattenColumns(columnsChildren);\n\n const [offsetLeftSum, offsetRightSum] = getScrollOffsetValue(this.columns);\n\n logger.warn(\n sticky,\n \"'sticky' property is deprecated, use '<Sticky/>' wrapper\",\n this.asProps['data-ui-name'] || Head.displayName,\n );\n\n return sstyled(styles)(\n <SHeadWrapper sticky={sticky}>\n <ScrollArea\n styles={scrollStyles}\n use:left={`${offsetLeftSum}px`}\n use:right={`${offsetRightSum}px`}\n shadow\n onResize={onResize}\n >\n <ScrollArea.Container ref={$scrollRef}>\n <SHead render={Box}>\n {this.renderColumns(columnsChildren, 100 / this.columns.length)}\n </SHead>\n </ScrollArea.Container>\n </ScrollArea>\n {Children.origin}\n </SHeadWrapper>,\n );\n }\n}\n\nexport default Head;\n"],"file":"Head.js"}
1
+ {"version":3,"sources":["../../src/Head.jsx"],"names":["SORTING_ICON","desc","SortDesc","asc","SortAsc","Head","name","e","asProps","$onSortClick","keyCode","columns","width","map","column","renderColumn","styles","use","hidden","SColumn","Flex","SHead","Box","SSortIcon","sortDirection","isGroup","cSize","length","value","style","props","flex","undefined","fixed","resizable","sortable","active","onClick","bindHandlerSortClick","onKeyDown","bindHandlerKeyDown","children","renderColumns","Children","columnsChildren","onResize","$scrollRef","sticky","SHeadWrapper","offsetLeftSum","offsetRightSum","logger","warn","displayName","scrollStyles","origin","Component"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Component, sstyled, Root } from '@semcore/core';\nimport { Box, Flex } from '@semcore/flex-box';\nimport ScrollArea from '@semcore/scroll-area';\nimport SortDesc from '@semcore/icon/SortDesc/m';\nimport SortAsc from '@semcore/icon/SortAsc/m';\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport { flattenColumns, getFixedStyle, getScrollOffsetValue } from './utils';\nimport logger from '@semcore/utils/lib/logger';\n\nimport scrollStyles from './style/scroll-area.shadow.css';\n\nconst SORTING_ICON = {\n desc: SortDesc,\n asc: SortAsc,\n};\n\nclass Head extends Component {\n columns = [];\n\n bindHandlerSortClick = (name) => (e) => {\n this.asProps.$onSortClick(name, e);\n };\n\n bindHandlerKeyDown = (name) => (e) => {\n if (e.keyCode === 13) {\n this.asProps.$onSortClick(name, e);\n }\n };\n\n renderColumns(columns, width) {\n return columns.map((column) => this.renderColumn(column, width));\n }\n\n renderColumn(column, width) {\n const { styles, use, hidden } = this.asProps;\n const SColumn = Flex;\n const SHead = Box;\n const SSortIcon = SORTING_ICON[column.sortDirection];\n const isGroup = !!column.columns;\n const cSize = isGroup ? flattenColumns(column.columns).length : 1;\n const [name, value] = getFixedStyle(column, this.columns);\n const style = {\n [name]: value,\n flexBasis: column.props.flex === undefined && `${width * cSize}%`,\n ...column.props.style,\n };\n\n return sstyled(styles)(\n <SColumn\n key={column.name}\n use={use}\n fixed={column.fixed}\n resizable={column.resizable}\n sortable={column.sortable}\n active={column.active}\n group={isGroup}\n tabIndex={column.sortable && 0}\n {...column.props}\n onClick={callAllEventHandlers(\n column.props.onClick,\n column.sortable ? this.bindHandlerSortClick(column.name) : undefined,\n )}\n onKeyDown={callAllEventHandlers(\n column.props.onKeyDown,\n column.sortable ? this.bindHandlerKeyDown(column.name) : undefined,\n )}\n style={style}\n hidden={hidden}\n >\n {isGroup ? (\n <>\n <SColumn groupHead use={use}>\n <div>{column.props.children}</div>\n </SColumn>\n <SHead>{this.renderColumns(column.columns, 100 / cSize)}</SHead>\n </>\n ) : (\n <>\n <div>{column.props.children}</div>\n {column.sortable ? <SSortIcon active={column.active} /> : null}\n </>\n )}\n </SColumn>,\n );\n }\n\n render() {\n const SHead = Root;\n const { Children, styles, columnsChildren, onResize, $scrollRef, sticky } = this.asProps;\n const SHeadWrapper = Box;\n\n this.columns = flattenColumns(columnsChildren);\n\n const [offsetLeftSum, offsetRightSum] = getScrollOffsetValue(this.columns);\n\n logger.warn(\n sticky,\n \"'sticky' property is deprecated, use '<Sticky/>' wrapper\",\n this.asProps['data-ui-name'] || Head.displayName,\n );\n\n return sstyled(styles)(\n <SHeadWrapper sticky={sticky}>\n <ScrollArea\n styles={scrollStyles}\n use:left={`${offsetLeftSum}px`}\n use:right={`${offsetRightSum}px`}\n shadow\n onResize={onResize}\n >\n <ScrollArea.Container ref={$scrollRef}>\n <SHead render={Box}>\n {this.renderColumns(columnsChildren, 100 / this.columns.length)}\n </SHead>\n </ScrollArea.Container>\n </ScrollArea>\n {Children.origin}\n </SHeadWrapper>,\n );\n }\n}\n\nexport default Head;\n"],"file":"Head.js"}
package/lib/cjs/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
3
+ var _typeof = require("@babel/runtime/helpers/typeof");
4
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
@@ -26,4 +26,8 @@ Object.keys(_DataTable).forEach(function (key) {
26
26
  }
27
27
  });
28
28
  });
29
+
30
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
31
+
32
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
29
33
  //# sourceMappingURL=index.js.map
package/lib/cjs/utils.js CHANGED
@@ -3,9 +3,9 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getScrollOffsetValue = getScrollOffsetValue;
7
6
  exports.flattenColumns = flattenColumns;
8
7
  exports.getFixedStyle = getFixedStyle;
8
+ exports.getScrollOffsetValue = getScrollOffsetValue;
9
9
 
10
10
  function getScrollOffsetValue(columns) {
11
11
  return columns.reduce(function (acc, c) {
package/lib/es6/Body.js CHANGED
@@ -8,10 +8,12 @@ import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstruct
8
8
  import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
9
9
  import { sstyled as _sstyled } from "@semcore/core";
10
10
  import { assignProps as _assignProps } from "@semcore/core";
11
+ var _excluded = ["getRowProps"],
12
+ _excluded2 = ["getCellProps"];
11
13
 
12
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
14
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
13
15
 
14
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
16
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
15
17
 
16
18
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
17
19
 
@@ -29,12 +31,12 @@ var scrollStyles = (
29
31
  /*__reshadow_css_start__*/
30
32
  _sstyled.insert(
31
33
  /*__inner_css_start__*/
32
- ".___SShadowHorizontal_e7di7_gg_:before{left:var(--left_1jfuf14)!important}.___SShadowHorizontal_e7di7_gg_:after{right:var(--right_1jfuf14)!important}"
34
+ ".___SShadowHorizontal_1w6je_gg_:before{left:var(--left_1jfuf14)!important}.___SShadowHorizontal_1w6je_gg_:after{right:var(--right_1jfuf14)!important}"
33
35
  /*__inner_css_end__*/
34
36
  , "1jfuf14_gg_")
35
37
  /*__reshadow_css_end__*/
36
38
  , {
37
- "__SShadowHorizontal": "___SShadowHorizontal_e7di7_gg_",
39
+ "__SShadowHorizontal": "___SShadowHorizontal_1w6je_gg_",
38
40
  "--left": "--left_1jfuf14",
39
41
  "--right": "--right_1jfuf14"
40
42
  });
@@ -75,7 +77,7 @@ var Body = /*#__PURE__*/function (_Component) {
75
77
  getRowProps = _ref5$getRowProps === void 0 ? function (p) {
76
78
  return p;
77
79
  } : _ref5$getRowProps,
78
- other = _objectWithoutProperties(_ref5, ["getRowProps"]);
80
+ other = _objectWithoutProperties(_ref5, _excluded);
79
81
 
80
82
  var propsRow = assignProps(other, acc);
81
83
  return assignProps(getRowProps(propsRow, cellsByColumn, index), propsRow);
@@ -122,7 +124,7 @@ var Body = /*#__PURE__*/function (_Component) {
122
124
  getCellProps = _ref6$getCellProps === void 0 ? function (p) {
123
125
  return p;
124
126
  } : _ref6$getCellProps,
125
- other = _objectWithoutProperties(_ref6, ["getCellProps"]);
127
+ other = _objectWithoutProperties(_ref6, _excluded2);
126
128
 
127
129
  var propsCell = assignProps(other, acc);
128
130
  return assignProps(getCellProps(propsCell, cellsByColumn, index), propsCell);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Body.js"],"names":["React","Component","sstyled","Root","Box","Flex","ScrollArea","getFixedStyle","getScrollOffsetValue","assignProps","getCellsByColumn","row","reduce","acc","cell","name","Array","isArray","concat","data","Body","rows","SRow","asProps","styles","$propsRow","map","index","cellsByColumn","_row","props","getRowProps","p","other","propsRow","children","renderCells","theme","active","SCell","columns","use","renderRows","column","find","c","value","vars","cssVar","n","rendersCell","getCellProps","propsCell","justifyContent","style","length","join","push","fixed","SBody","SBodyWrapper","SScrollAreaBar","Bar","Children","$scrollRef","onResize","initializeColumns","width","offsetLeftSum","offsetRightSum","offsetSum","scrollStyles","origin"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Component, sstyled, Root } from '@semcore/core';\nimport { Box, Flex } from '@semcore/flex-box';\nimport ScrollArea from '@semcore/scroll-area';\nimport { getFixedStyle, getScrollOffsetValue } from './utils';\nimport assignProps from '@semcore/utils/lib/assignProps';\n\nimport scrollStyles from './style/scroll-area.shadow.css';\n\nfunction getCellsByColumn(row) {\n return row.reduce((acc, cell) => {\n acc[cell.name] = acc[cell.name]\n ? Array.isArray(acc[cell.name])\n ? acc[cell.name].concat(cell.data)\n : [acc[cell.name], cell.data]\n : cell.data;\n return acc;\n }, {});\n}\n\nclass Body extends Component {\n renderRows(rows) {\n const SRow = Box;\n const { styles, $propsRow } = this.asProps;\n\n return rows.map((row, index) => {\n const cellsByColumn = row._row || getCellsByColumn(row);\n const props = $propsRow.reduce(\n (acc, { getRowProps = (p) => p, ...other }) => {\n const propsRow = assignProps(other, acc);\n return assignProps(getRowProps(propsRow, cellsByColumn, index), propsRow);\n },\n {\n children: this.renderCells(row, cellsByColumn, index),\n },\n );\n return sstyled(styles)(\n <SRow key={index} theme={props.theme} active={props.active} {...props} />,\n );\n });\n }\n\n renderCells(row, cellsByColumn, index) {\n const SCell = Flex;\n const { styles, columns, use } = this.asProps;\n return row.reduce((acc, cell) => {\n if (Array.isArray(cell)) {\n acc = acc.concat(<div>{this.renderRows(cell)}</div>);\n } else {\n const column = columns.find((c) => c.name === cell.name);\n const [name, value] = getFixedStyle(cell, columns);\n const vars = (Array.isArray(cell.cssVar) ? cell.cssVar : [cell.cssVar]).map(\n (n) => `var(${n})`,\n );\n const props = (cell.rendersCell || []).reduce(\n (acc, { getCellProps = (p) => p, ...other }) => {\n const propsCell = assignProps(other, acc);\n return assignProps(getCellProps(propsCell, cellsByColumn, index), propsCell);\n },\n {\n name: cell.name,\n children: cell.data,\n justifyContent: column?.props?.justifyContent,\n style: {\n [name]: value,\n width: vars.length === 1 ? vars[0] : `calc(${vars.join(' + ')})`,\n },\n },\n );\n\n acc.push(\n sstyled(styles)(\n <SCell key={cell.name} {...props} fixed={cell.fixed} theme={props.theme} use={use} />,\n ),\n );\n }\n return acc;\n }, []);\n }\n\n render() {\n const SBody = Root;\n const SBodyWrapper = Box;\n const SScrollAreaBar = ScrollArea.Bar;\n const { Children, styles, rows, columns, $scrollRef, onResize } = this.asProps;\n\n const initializeColumns = !!columns.reduce((acc, c) => acc + c.width, 0);\n\n const [offsetLeftSum, offsetRightSum] = getScrollOffsetValue(columns);\n const offsetSum = offsetLeftSum + offsetRightSum;\n\n return sstyled(styles)(\n <SBodyWrapper>\n <ScrollArea\n shadow\n styles={scrollStyles}\n use:left={`${offsetLeftSum}px`}\n use:right={`${offsetRightSum}px`}\n onResize={onResize}\n >\n <ScrollArea.Container ref={$scrollRef}>\n <SBody render={Box}>{initializeColumns ? this.renderRows(rows) : null}</SBody>\n </ScrollArea.Container>\n <SScrollAreaBar\n orientation=\"horizontal\"\n left={`${offsetLeftSum}px`}\n right={`${offsetRightSum}px`}\n offsetSum={`${offsetSum}px`}\n />\n <SScrollAreaBar orientation=\"vertical\" />\n </ScrollArea>\n {Children.origin}\n </SBodyWrapper>,\n );\n }\n}\n\nexport default Body;\n"],"file":"Body.js"}
1
+ {"version":3,"sources":["../../src/Body.jsx"],"names":["React","Component","sstyled","Root","Box","Flex","ScrollArea","getFixedStyle","getScrollOffsetValue","assignProps","getCellsByColumn","row","reduce","acc","cell","name","Array","isArray","concat","data","Body","rows","SRow","asProps","styles","$propsRow","map","index","cellsByColumn","_row","props","getRowProps","p","other","propsRow","children","renderCells","theme","active","SCell","columns","use","renderRows","column","find","c","value","vars","cssVar","n","rendersCell","getCellProps","propsCell","justifyContent","style","length","join","push","fixed","SBody","SBodyWrapper","SScrollAreaBar","Bar","Children","$scrollRef","onResize","initializeColumns","width","offsetLeftSum","offsetRightSum","offsetSum","scrollStyles","origin"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Component, sstyled, Root } from '@semcore/core';\nimport { Box, Flex } from '@semcore/flex-box';\nimport ScrollArea from '@semcore/scroll-area';\nimport { getFixedStyle, getScrollOffsetValue } from './utils';\nimport assignProps from '@semcore/utils/lib/assignProps';\n\nimport scrollStyles from './style/scroll-area.shadow.css';\n\nfunction getCellsByColumn(row) {\n return row.reduce((acc, cell) => {\n acc[cell.name] = acc[cell.name]\n ? Array.isArray(acc[cell.name])\n ? acc[cell.name].concat(cell.data)\n : [acc[cell.name], cell.data]\n : cell.data;\n return acc;\n }, {});\n}\n\nclass Body extends Component {\n renderRows(rows) {\n const SRow = Box;\n const { styles, $propsRow } = this.asProps;\n\n return rows.map((row, index) => {\n const cellsByColumn = row._row || getCellsByColumn(row);\n const props = $propsRow.reduce(\n (acc, { getRowProps = (p) => p, ...other }) => {\n const propsRow = assignProps(other, acc);\n return assignProps(getRowProps(propsRow, cellsByColumn, index), propsRow);\n },\n {\n children: this.renderCells(row, cellsByColumn, index),\n },\n );\n return sstyled(styles)(\n <SRow key={index} theme={props.theme} active={props.active} {...props} />,\n );\n });\n }\n\n renderCells(row, cellsByColumn, index) {\n const SCell = Flex;\n const { styles, columns, use } = this.asProps;\n return row.reduce((acc, cell) => {\n if (Array.isArray(cell)) {\n acc = acc.concat(<div>{this.renderRows(cell)}</div>);\n } else {\n const column = columns.find((c) => c.name === cell.name);\n const [name, value] = getFixedStyle(cell, columns);\n const vars = (Array.isArray(cell.cssVar) ? cell.cssVar : [cell.cssVar]).map(\n (n) => `var(${n})`,\n );\n const props = (cell.rendersCell || []).reduce(\n (acc, { getCellProps = (p) => p, ...other }) => {\n const propsCell = assignProps(other, acc);\n return assignProps(getCellProps(propsCell, cellsByColumn, index), propsCell);\n },\n {\n name: cell.name,\n children: cell.data,\n justifyContent: column?.props?.justifyContent,\n style: {\n [name]: value,\n width: vars.length === 1 ? vars[0] : `calc(${vars.join(' + ')})`,\n },\n },\n );\n\n acc.push(\n sstyled(styles)(\n <SCell key={cell.name} {...props} fixed={cell.fixed} theme={props.theme} use={use} />,\n ),\n );\n }\n return acc;\n }, []);\n }\n\n render() {\n const SBody = Root;\n const SBodyWrapper = Box;\n const SScrollAreaBar = ScrollArea.Bar;\n const { Children, styles, rows, columns, $scrollRef, onResize } = this.asProps;\n\n const initializeColumns = !!columns.reduce((acc, c) => acc + c.width, 0);\n\n const [offsetLeftSum, offsetRightSum] = getScrollOffsetValue(columns);\n const offsetSum = offsetLeftSum + offsetRightSum;\n\n return sstyled(styles)(\n <SBodyWrapper>\n <ScrollArea\n shadow\n styles={scrollStyles}\n use:left={`${offsetLeftSum}px`}\n use:right={`${offsetRightSum}px`}\n onResize={onResize}\n >\n <ScrollArea.Container ref={$scrollRef}>\n <SBody render={Box}>{initializeColumns ? this.renderRows(rows) : null}</SBody>\n </ScrollArea.Container>\n <SScrollAreaBar\n orientation=\"horizontal\"\n left={`${offsetLeftSum}px`}\n right={`${offsetRightSum}px`}\n offsetSum={`${offsetSum}px`}\n />\n <SScrollAreaBar orientation=\"vertical\" />\n </ScrollArea>\n {Children.origin}\n </SBodyWrapper>,\n );\n }\n}\n\nexport default Body;\n"],"file":"Body.js"}
@@ -10,10 +10,12 @@ import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
10
10
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
11
11
  import { sstyled as _sstyled } from "@semcore/core";
12
12
  import { assignProps as _assignProps } from "@semcore/core";
13
+ var _excluded = ["children", "name", "fixed", "resizable", "sortable"],
14
+ _excluded2 = ["name", "children"];
13
15
 
14
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
16
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
15
17
 
16
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
18
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
17
19
 
18
20
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
19
21
 
@@ -34,40 +36,40 @@ var style = (
34
36
  /*__reshadow_css_start__*/
35
37
  _sstyled.insert(
36
38
  /*__inner_css_start__*/
37
- ".___SDataTable_1vnwc_gg_,.___SHeadWrapper_1vnwc_gg_{position:relative}.___SHeadWrapper_1vnwc_gg_.__sticky_1vnwc_gg_{position:-webkit-sticky;position:sticky;top:0;z-index:2}.___SHead_1vnwc_gg_{flex-direction:row;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content;z-index:0}.___SColumn_1vnwc_gg_,.___SHead_1vnwc_gg_{display:flex;position:relative}.___SColumn_1vnwc_gg_{flex-grow:1;font-size:12px;line-height:18px;color:#333;box-sizing:border-box}.___SColumn_1vnwc_gg_:focus{outline:none;box-shadow:inset 0 0 0 3px rgba(43,148,225,.3)}.___SColumn_1vnwc_gg_.__hidden_1vnwc_gg_{height:0!important;padding:0!important;overflow:hidden!important;border:none!important}.___SColumn_1vnwc_gg_._use_primary_1vnwc_gg_{padding:12px;border-right:1px solid #dee3e5;border-bottom:1px solid #dee3e5;background-color:#f2f3f4}.___SColumn_1vnwc_gg_._use_secondary_1vnwc_gg_{padding:8px;border-bottom:1px solid #a6b0b3;background-color:#fff}.___SColumn_1vnwc_gg_.__use_1vnwc_gg_:last-child{border-right:none}.___SColumn_1vnwc_gg_.__group_1vnwc_gg_.__use_1vnwc_gg_{display:flex;flex-wrap:wrap;flex-direction:column;border-bottom:none;padding:0}.___SColumn_1vnwc_gg_.__groupHead_1vnwc_gg_.__use_1vnwc_gg_{justify-content:center;border-right:none;z-index:1}.___SColumn_1vnwc_gg_.__groupHead_1vnwc_gg_._use_primary_1vnwc_gg_{border-bottom:1px solid #dee3e5}.___SColumn_1vnwc_gg_.__groupHead_1vnwc_gg_._use_secondary_1vnwc_gg_{border-bottom:1px solid #a6b0b3}.___SColumn_1vnwc_gg_.__sortable_1vnwc_gg_{cursor:pointer}.___SColumn_1vnwc_gg_.__active_1vnwc_gg_._use_primary_1vnwc_gg_,.___SColumn_1vnwc_gg_.__sortable_1vnwc_gg_._use_primary_1vnwc_gg_:hover{background-color:#e4e7e8}.___SColumn_1vnwc_gg_.__resizable_1vnwc_gg_:hover:after{background:#a6b0b3}.___SColumn_1vnwc_gg_.__resizable_1vnwc_gg_:after{content:\"\";position:absolute;bottom:0;right:-1px;height:100vh;width:1px;background:transparent;cursor:col-resize}.___SColumn_1vnwc_gg_.__fixed_1vnwc_gg_{position:-webkit-sticky;position:sticky;z-index:2}.___SSortIcon_1vnwc_gg_{margin-top:2px;margin-left:4px;color:#bdc4c6}.___SSortIcon_1vnwc_gg_.__active_1vnwc_gg_{fill:#64787e}.___SBodyWrapper_1vnwc_gg_{position:relative}.___SBody_1vnwc_gg_{flex-direction:column;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}.___SBody_1vnwc_gg_,.___SRow_1vnwc_gg_{display:flex;position:relative}.___SRow_1vnwc_gg_{flex-direction:row}.___SRow_1vnwc_gg_:hover .___SCell_1vnwc_gg_:not(.__theme_1vnwc_gg_),.___SRow_1vnwc_gg_.__active_1vnwc_gg_ .___SCell_1vnwc_gg_:not(.__theme_1vnwc_gg_){background-color:#f6f7f7}.___SRow_1vnwc_gg_._theme_muted_1vnwc_gg_ .___SCell_1vnwc_gg_:not(.__theme_1vnwc_gg_){background-color:#f2f3f4}.___SRow_1vnwc_gg_:hover .___SCell_1vnwc_gg_._theme_muted_1vnwc_gg_,.___SRow_1vnwc_gg_._theme_muted_1vnwc_gg_:hover .___SCell_1vnwc_gg_:not(.__theme_1vnwc_gg_),.___SRow_1vnwc_gg_._theme_muted_1vnwc_gg_.__active_1vnwc_gg_ .___SCell_1vnwc_gg_:not(.__theme_1vnwc_gg_){background-color:#f6f7f7}.___SRow_1vnwc_gg_._theme_info_1vnwc_gg_ .___SCell_1vnwc_gg_:not(.__theme_1vnwc_gg_){background-color:#d5eaf9}.___SRow_1vnwc_gg_:hover .___SCell_1vnwc_gg_._theme_info_1vnwc_gg_,.___SRow_1vnwc_gg_._theme_info_1vnwc_gg_:hover .___SCell_1vnwc_gg_:not(.__theme_1vnwc_gg_),.___SRow_1vnwc_gg_._theme_info_1vnwc_gg_.__active_1vnwc_gg_ .___SCell_1vnwc_gg_:not(.__theme_1vnwc_gg_){background-color:#cae4f8}.___SRow_1vnwc_gg_._theme_success_1vnwc_gg_ .___SCell_1vnwc_gg_:not(.__theme_1vnwc_gg_){background-color:#e5f3e0}.___SRow_1vnwc_gg_:hover .___SCell_1vnwc_gg_._theme_success_1vnwc_gg_,.___SRow_1vnwc_gg_._theme_success_1vnwc_gg_:hover .___SCell_1vnwc_gg_:not(.__theme_1vnwc_gg_),.___SRow_1vnwc_gg_._theme_success_1vnwc_gg_.__active_1vnwc_gg_ .___SCell_1vnwc_gg_:not(.__theme_1vnwc_gg_){background-color:#dcefd6}.___SRow_1vnwc_gg_._theme_warning_1vnwc_gg_ .___SCell_1vnwc_gg_:not(.__theme_1vnwc_gg_){background-color:#fef3e6}.___SRow_1vnwc_gg_:hover .___SCell_1vnwc_gg_._theme_warning_1vnwc_gg_,.___SRow_1vnwc_gg_._theme_warning_1vnwc_gg_:hover .___SCell_1vnwc_gg_:not(.__theme_1vnwc_gg_),.___SRow_1vnwc_gg_._theme_warning_1vnwc_gg_.__active_1vnwc_gg_ .___SCell_1vnwc_gg_:not(.__theme_1vnwc_gg_){background-color:#feefde}.___SRow_1vnwc_gg_._theme_danger_1vnwc_gg_ .___SCell_1vnwc_gg_:not(.__theme_1vnwc_gg_){background-color:#fdeaea}.___SRow_1vnwc_gg_:hover .___SCell_1vnwc_gg_._theme_danger_1vnwc_gg_,.___SRow_1vnwc_gg_._theme_danger_1vnwc_gg_:hover .___SCell_1vnwc_gg_:not(.__theme_1vnwc_gg_),.___SRow_1vnwc_gg_._theme_danger_1vnwc_gg_.__active_1vnwc_gg_ .___SCell_1vnwc_gg_:not(.__theme_1vnwc_gg_){background-color:#fce0e0}.___SCell_1vnwc_gg_{display:flex;flex:0 0 auto;font-size:14px;color:#333;line-height:20px;box-sizing:border-box;border-bottom:1px solid #dee3e5;overflow:hidden;white-space:nowrap}.___SCell_1vnwc_gg_._use_primary_1vnwc_gg_{padding:12px;min-height:45px;background-color:#fff}.___SCell_1vnwc_gg_._use_secondary_1vnwc_gg_{padding:8px;min-height:37px;background-color:#fff}.___SCell_1vnwc_gg_.__fixed_1vnwc_gg_{position:-webkit-sticky;position:sticky;z-index:1}.___SCell_1vnwc_gg_._theme_muted_1vnwc_gg_{background-color:#f2f3f4}.___SCell_1vnwc_gg_._theme_info_1vnwc_gg_{background-color:#d5eaf9}.___SCell_1vnwc_gg_._theme_success_1vnwc_gg_{background-color:#e5f3e0}.___SCell_1vnwc_gg_._theme_warning_1vnwc_gg_{background-color:#fef3e6}.___SCell_1vnwc_gg_._theme_danger_1vnwc_gg_{background-color:#fdeaea}.___SScrollAreaBar_1vnwc_gg_._orientation_horizontal_1vnwc_gg_{position:-webkit-sticky;position:sticky;bottom:0;left:0;margin-top:-12px;z-index:2}.___SScrollAreaBar_1vnwc_gg_._orientation_vertical_1vnwc_gg_{width:12px}.___SScrollAreaBar_1vnwc_gg_._orientation_horizontal_1vnwc_gg_{margin-left:calc(var(--left_1okuh39) + 4px);margin-right:calc(var(--right_1okuh39) + 4px);width:calc(100% - var(--offsetSum_1okuh39) - 8px)}"
39
+ ".___SDataTable_13w0c_gg_{position:relative}.___SHeadWrapper_13w0c_gg_{position:relative}.___SHeadWrapper_13w0c_gg_.__sticky_13w0c_gg_{position:-webkit-sticky;position:sticky;top:0;z-index:2}.___SHead_13w0c_gg_{display:flex;position:relative;flex-direction:row;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content;z-index:0}.___SColumn_13w0c_gg_{display:flex;flex-grow:1;font-size:12px;line-height:18px;color:#333333;box-sizing:border-box;position:relative}.___SColumn_13w0c_gg_:focus{outline:none;box-shadow:inset 0 0 0 3px rgba(43,148,225,.3)}.___SColumn_13w0c_gg_.__hidden_13w0c_gg_{height:0!important;padding:0!important;overflow:hidden!important;border:none!important}.___SColumn_13w0c_gg_._use_primary_13w0c_gg_{padding:12px;border-right:1px solid #dee3e5;border-bottom:1px solid #dee3e5;background-color:#f2f3f4}.___SColumn_13w0c_gg_._use_secondary_13w0c_gg_{padding:8px;border-bottom:1px solid #a6b0b3;background-color:#fff}.___SColumn_13w0c_gg_.__use_13w0c_gg_:last-child{border-right:none}.___SColumn_13w0c_gg_.__group_13w0c_gg_.__use_13w0c_gg_{display:flex;flex-wrap:wrap;flex-direction:column;border-bottom:none;padding:0}.___SColumn_13w0c_gg_.__groupHead_13w0c_gg_.__use_13w0c_gg_{justify-content:center;border-right:none;z-index:1}.___SColumn_13w0c_gg_.__groupHead_13w0c_gg_._use_primary_13w0c_gg_{border-bottom:1px solid #dee3e5}.___SColumn_13w0c_gg_.__groupHead_13w0c_gg_._use_secondary_13w0c_gg_{border-bottom:1px solid #a6b0b3}.___SColumn_13w0c_gg_.__sortable_13w0c_gg_{cursor:pointer}.___SColumn_13w0c_gg_.__sortable_13w0c_gg_._use_primary_13w0c_gg_:hover{background-color:#e4e7e8}.___SColumn_13w0c_gg_.__active_13w0c_gg_._use_primary_13w0c_gg_{background-color:#e4e7e8}.___SColumn_13w0c_gg_.__resizable_13w0c_gg_:hover:after{background:#a6b0b3}.___SColumn_13w0c_gg_.__resizable_13w0c_gg_:after{content:\"\";position:absolute;bottom:0;right:-1px;height:100vh;width:1px;background:transparent;cursor:col-resize}.___SColumn_13w0c_gg_.__fixed_13w0c_gg_{position:-webkit-sticky;position:sticky;z-index:2}.___SSortIcon_13w0c_gg_{margin-top:2px;margin-left:4px;color:#bdc4c6}.___SSortIcon_13w0c_gg_.__active_13w0c_gg_{fill:#64787e}.___SBodyWrapper_13w0c_gg_{position:relative}.___SBody_13w0c_gg_{display:flex;flex-direction:column;position:relative;min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content}.___SRow_13w0c_gg_{display:flex;flex-direction:row;position:relative}.___SRow_13w0c_gg_:hover .___SCell_13w0c_gg_:not(.__theme_13w0c_gg_),.___SRow_13w0c_gg_.__active_13w0c_gg_ .___SCell_13w0c_gg_:not(.__theme_13w0c_gg_){background-color:#f6f7f7}.___SRow_13w0c_gg_._theme_muted_13w0c_gg_ .___SCell_13w0c_gg_:not(.__theme_13w0c_gg_){background-color:#f2f3f4}.___SRow_13w0c_gg_:hover .___SCell_13w0c_gg_._theme_muted_13w0c_gg_,.___SRow_13w0c_gg_._theme_muted_13w0c_gg_:hover .___SCell_13w0c_gg_:not(.__theme_13w0c_gg_),.___SRow_13w0c_gg_._theme_muted_13w0c_gg_.__active_13w0c_gg_ .___SCell_13w0c_gg_:not(.__theme_13w0c_gg_){background-color:#f6f7f7}.___SRow_13w0c_gg_._theme_info_13w0c_gg_ .___SCell_13w0c_gg_:not(.__theme_13w0c_gg_){background-color:#d5eaf9}.___SRow_13w0c_gg_:hover .___SCell_13w0c_gg_._theme_info_13w0c_gg_,.___SRow_13w0c_gg_._theme_info_13w0c_gg_:hover .___SCell_13w0c_gg_:not(.__theme_13w0c_gg_),.___SRow_13w0c_gg_._theme_info_13w0c_gg_.__active_13w0c_gg_ .___SCell_13w0c_gg_:not(.__theme_13w0c_gg_){background-color:#cae4f8}.___SRow_13w0c_gg_._theme_success_13w0c_gg_ .___SCell_13w0c_gg_:not(.__theme_13w0c_gg_){background-color:#e5f3e0}.___SRow_13w0c_gg_:hover .___SCell_13w0c_gg_._theme_success_13w0c_gg_,.___SRow_13w0c_gg_._theme_success_13w0c_gg_:hover .___SCell_13w0c_gg_:not(.__theme_13w0c_gg_),.___SRow_13w0c_gg_._theme_success_13w0c_gg_.__active_13w0c_gg_ .___SCell_13w0c_gg_:not(.__theme_13w0c_gg_){background-color:#dcefd6}.___SRow_13w0c_gg_._theme_warning_13w0c_gg_ .___SCell_13w0c_gg_:not(.__theme_13w0c_gg_){background-color:#fef3e6}.___SRow_13w0c_gg_:hover .___SCell_13w0c_gg_._theme_warning_13w0c_gg_,.___SRow_13w0c_gg_._theme_warning_13w0c_gg_:hover .___SCell_13w0c_gg_:not(.__theme_13w0c_gg_),.___SRow_13w0c_gg_._theme_warning_13w0c_gg_.__active_13w0c_gg_ .___SCell_13w0c_gg_:not(.__theme_13w0c_gg_){background-color:#feefde}.___SRow_13w0c_gg_._theme_danger_13w0c_gg_ .___SCell_13w0c_gg_:not(.__theme_13w0c_gg_){background-color:#fdeaea}.___SRow_13w0c_gg_:hover .___SCell_13w0c_gg_._theme_danger_13w0c_gg_,.___SRow_13w0c_gg_._theme_danger_13w0c_gg_:hover .___SCell_13w0c_gg_:not(.__theme_13w0c_gg_),.___SRow_13w0c_gg_._theme_danger_13w0c_gg_.__active_13w0c_gg_ .___SCell_13w0c_gg_:not(.__theme_13w0c_gg_){background-color:#fce0e0}.___SCell_13w0c_gg_{display:flex;flex:0 0 auto;font-size:14px;color:#333333;line-height:20px;box-sizing:border-box;border-bottom:1px solid #dee3e5;overflow:hidden;white-space:nowrap}.___SCell_13w0c_gg_._use_primary_13w0c_gg_{padding:12px;min-height:45px;background-color:#fff}.___SCell_13w0c_gg_._use_secondary_13w0c_gg_{padding:8px;min-height:37px;background-color:#fff}.___SCell_13w0c_gg_.__fixed_13w0c_gg_{position:-webkit-sticky;position:sticky;z-index:1}.___SCell_13w0c_gg_._theme_muted_13w0c_gg_{background-color:#f2f3f4}.___SCell_13w0c_gg_._theme_info_13w0c_gg_{background-color:#d5eaf9}.___SCell_13w0c_gg_._theme_success_13w0c_gg_{background-color:#e5f3e0}.___SCell_13w0c_gg_._theme_warning_13w0c_gg_{background-color:#fef3e6}.___SCell_13w0c_gg_._theme_danger_13w0c_gg_{background-color:#fdeaea}.___SScrollAreaBar_13w0c_gg_._orientation_horizontal_13w0c_gg_{position:-webkit-sticky;position:sticky;bottom:0;left:0;margin-top:-12px;z-index:2}.___SScrollAreaBar_13w0c_gg_._orientation_vertical_13w0c_gg_{width:12px}.___SScrollAreaBar_13w0c_gg_._orientation_horizontal_13w0c_gg_{margin-left:calc(var(--left_1okuh39) + 4px);margin-right:calc(var(--right_1okuh39) + 4px);width:calc(100% - var(--offsetSum_1okuh39) - 8px)}"
38
40
  /*__inner_css_end__*/
39
41
  , "1okuh39_gg_")
40
42
  /*__reshadow_css_end__*/
41
43
  , {
42
- "__SDataTable": "___SDataTable_1vnwc_gg_",
43
- "__SHeadWrapper": "___SHeadWrapper_1vnwc_gg_",
44
- "_sticky": "__sticky_1vnwc_gg_",
45
- "__SHead": "___SHead_1vnwc_gg_",
46
- "__SColumn": "___SColumn_1vnwc_gg_",
47
- "_hidden": "__hidden_1vnwc_gg_",
48
- "_use_primary": "_use_primary_1vnwc_gg_",
49
- "_use_secondary": "_use_secondary_1vnwc_gg_",
50
- "_use": "__use_1vnwc_gg_",
51
- "_group": "__group_1vnwc_gg_",
52
- "_groupHead": "__groupHead_1vnwc_gg_",
53
- "_sortable": "__sortable_1vnwc_gg_",
54
- "_active": "__active_1vnwc_gg_",
55
- "_resizable": "__resizable_1vnwc_gg_",
56
- "_fixed": "__fixed_1vnwc_gg_",
57
- "__SSortIcon": "___SSortIcon_1vnwc_gg_",
58
- "__SBodyWrapper": "___SBodyWrapper_1vnwc_gg_",
59
- "__SBody": "___SBody_1vnwc_gg_",
60
- "__SRow": "___SRow_1vnwc_gg_",
61
- "__SCell": "___SCell_1vnwc_gg_",
62
- "_theme": "__theme_1vnwc_gg_",
63
- "_theme_muted": "_theme_muted_1vnwc_gg_",
64
- "_theme_info": "_theme_info_1vnwc_gg_",
65
- "_theme_success": "_theme_success_1vnwc_gg_",
66
- "_theme_warning": "_theme_warning_1vnwc_gg_",
67
- "_theme_danger": "_theme_danger_1vnwc_gg_",
68
- "__SScrollAreaBar": "___SScrollAreaBar_1vnwc_gg_",
69
- "_orientation_horizontal": "_orientation_horizontal_1vnwc_gg_",
70
- "_orientation_vertical": "_orientation_vertical_1vnwc_gg_",
44
+ "__SDataTable": "___SDataTable_13w0c_gg_",
45
+ "__SHeadWrapper": "___SHeadWrapper_13w0c_gg_",
46
+ "_sticky": "__sticky_13w0c_gg_",
47
+ "__SHead": "___SHead_13w0c_gg_",
48
+ "__SColumn": "___SColumn_13w0c_gg_",
49
+ "_hidden": "__hidden_13w0c_gg_",
50
+ "_use_primary": "_use_primary_13w0c_gg_",
51
+ "_use_secondary": "_use_secondary_13w0c_gg_",
52
+ "_use": "__use_13w0c_gg_",
53
+ "_group": "__group_13w0c_gg_",
54
+ "_groupHead": "__groupHead_13w0c_gg_",
55
+ "_sortable": "__sortable_13w0c_gg_",
56
+ "_active": "__active_13w0c_gg_",
57
+ "_resizable": "__resizable_13w0c_gg_",
58
+ "_fixed": "__fixed_13w0c_gg_",
59
+ "__SSortIcon": "___SSortIcon_13w0c_gg_",
60
+ "__SBodyWrapper": "___SBodyWrapper_13w0c_gg_",
61
+ "__SBody": "___SBody_13w0c_gg_",
62
+ "__SRow": "___SRow_13w0c_gg_",
63
+ "__SCell": "___SCell_13w0c_gg_",
64
+ "_theme": "__theme_13w0c_gg_",
65
+ "_theme_muted": "_theme_muted_13w0c_gg_",
66
+ "_theme_info": "_theme_info_13w0c_gg_",
67
+ "_theme_success": "_theme_success_13w0c_gg_",
68
+ "_theme_warning": "_theme_warning_13w0c_gg_",
69
+ "_theme_danger": "_theme_danger_13w0c_gg_",
70
+ "__SScrollAreaBar": "___SScrollAreaBar_13w0c_gg_",
71
+ "_orientation_horizontal": "_orientation_horizontal_13w0c_gg_",
72
+ "_orientation_vertical": "_orientation_vertical_13w0c_gg_",
71
73
  "--left": "--left_1okuh39",
72
74
  "--right": "--right_1okuh39",
73
75
  "--offsetSum": "--offsetSum_1okuh39"
@@ -163,7 +165,7 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
163
165
  fixed = _child$props$fixed === void 0 ? options.fixed : _child$props$fixed,
164
166
  resizable = _child$props.resizable,
165
167
  sortable = _child$props.sortable,
166
- props = _objectWithoutProperties(_child$props, ["children", "name", "fixed", "resizable", "sortable"]);
168
+ props = _objectWithoutProperties(_child$props, _excluded);
167
169
 
168
170
  var isGroup = !name;
169
171
  var columns = null;
@@ -235,7 +237,7 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
235
237
  var _child$props2 = child.props,
236
238
  name = _child$props2.name,
237
239
  children = _child$props2.children,
238
- other = _objectWithoutProperties(_child$props2, ["name", "children"]);
240
+ other = _objectWithoutProperties(_child$props2, _excluded2);
239
241
 
240
242
  if (child.type === DefinitionTable.Cell && name) {
241
243
  name.split('/').forEach(function (name) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/DataTable.js"],"names":["React","createComponent","Component","sstyled","Root","Box","syncScroll","callAllEventHandlers","fire","flattenColumns","Head","Body","MAP_SORT_DIRECTION","desc","asc","DEFAULT_SORT_DIRECTION","ROW_GROUP","Symbol","cssVarReg","createCssVarForWidth","name","replace","RootDefinitionTable","props","createRef","e","column","columns","find","c","active","sortDirection","forceUpdate","tableRef","current","scrollIntoView","block","inline","behavior","scrollBodyRef","scrollHeadRef","forEach","style","setProperty","cssVar","width","children","options","fixed","undefined","sort","asProps","columnsChildren","Children","child","isValidElement","type","DefinitionTable","Column","resizable","sortable","isGroup","childrenToColumns","map","join","length","toArray","filter","push","ref","getBoundingClientRect","use","$onSortClick","handlerSortClick","scrollToUp","onResize","handlerResize","$scrollRef","data","propsCells","$propsRow","other","Cell","split","getCellProps","Row","getRowProps","rows","dataToRows","parseData","exclude","row","columnsGroups","Object","keys","reduce","acc","names","nameColumnsGroup","concat","i","arr","indexOf","rowsGroup","nameRowsGroup","isGroupRow","cells","_row","columnGroup","group","includes","rendersCell","setVarStyle","SDataTable","styles","ComponentDefinition"],"mappings":"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","sourcesContent":["import React from 'react';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport syncScroll from '@semcore/utils/lib/syncScroll';\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport fire from '@semcore/utils/lib/fire';\nimport { flattenColumns } from './utils';\nimport Head from './Head';\nimport Body from './Body';\n\nimport style from './style/data-table.shadow.css';\n\nconst MAP_SORT_DIRECTION = {\n desc: 'asc',\n asc: 'desc',\n};\nconst DEFAULT_SORT_DIRECTION = 'desc';\n\nconst ROW_GROUP = Symbol('ROW_GROUP');\n\nconst cssVarReg = /[:;]/g;\n\nfunction createCssVarForWidth(name) {\n return `--${name.replace(cssVarReg, '_')}_width`;\n}\n\nclass RootDefinitionTable extends Component {\n static displayName = 'DefinitionTable';\n\n static style = style;\n\n static defaultProps = {\n use: 'primary',\n sort: [],\n data: [],\n };\n\n columns = [];\n\n tableRef = React.createRef();\n\n constructor(props) {\n super(props);\n\n const createRef = syncScroll();\n // first create body ref for master scroll\n this.scrollBodyRef = createRef('body');\n this.scrollHeadRef = createRef('head');\n }\n\n handlerSortClick = (name, e) => {\n const column = this.columns.find((c) => c.name === name);\n return fire(\n this,\n 'onSortChange',\n [\n column.name,\n column.active ? MAP_SORT_DIRECTION[column.sortDirection] : column.sortDirection,\n ],\n e,\n );\n };\n\n handlerResize = () => {\n this.forceUpdate();\n };\n\n scrollToUp = () => {\n this.tableRef?.current?.scrollIntoView({\n block: 'nearest',\n inline: 'nearest',\n behavior: 'smooth',\n });\n };\n\n setVarStyle(columns) {\n columns.forEach((column) => {\n this.tableRef.current?.style.setProperty(column.cssVar, `${column.width}px`);\n }, {});\n }\n\n childrenToColumns(children, options = { fixed: undefined }) {\n const { sort } = this.asProps;\n const columnsChildren = [];\n React.Children.forEach(children, (child) => {\n if (!React.isValidElement(child)) return;\n if (child.type !== DefinitionTable.Column) return;\n\n let { children, name, fixed = options.fixed, resizable, sortable, ...props } = child.props;\n const isGroup = !name;\n let columns = null;\n\n if (isGroup) {\n columns = this.childrenToColumns(children, {\n fixed,\n });\n name = flattenColumns(columns)\n .map((c) => c.name)\n .join('/');\n if (!columns.length) return;\n children = React.Children.toArray(children).filter(\n (child) => !(React.isValidElement(child) && child.type === DefinitionTable.Column),\n );\n }\n\n const column = this.columns.find((c) => c.name === name);\n\n columnsChildren.push({\n get width() {\n return this.props.ref.current?.getBoundingClientRect().width || 0;\n },\n name,\n cssVar: createCssVarForWidth(name),\n fixed,\n resizable,\n active: sort[0] === name,\n sortable,\n sortDirection:\n sort[0] === name\n ? sort[1]\n : column?.sortDirection ||\n (typeof sortable == 'string' ? sortable : DEFAULT_SORT_DIRECTION),\n columns,\n props: {\n ref: column?.props?.ref || React.createRef(),\n children,\n ...props,\n },\n });\n });\n return columnsChildren;\n }\n\n getHeadProps(props) {\n const { use } = this.asProps;\n const columnsChildren = this.childrenToColumns(props.children);\n this.columns = flattenColumns(columnsChildren);\n return {\n $onSortClick: callAllEventHandlers(this.handlerSortClick, this.scrollToUp),\n columnsChildren,\n use,\n onResize: this.handlerResize,\n $scrollRef: this.scrollHeadRef,\n };\n }\n\n getBodyProps(props) {\n const { data, use } = this.asProps;\n const propsCells = {};\n const $propsRow = [];\n React.Children.forEach(props.children, (child) => {\n if (React.isValidElement(child)) {\n const { name, children, ...other } = child.props;\n if (child.type === DefinitionTable.Cell && name) {\n name.split('/').forEach((name) => {\n propsCells[name] = propsCells[name] || [];\n propsCells[name].push({\n ...other,\n getCellProps: children,\n });\n });\n }\n if (child.type === DefinitionTable.Row) {\n $propsRow.push({\n ...other,\n getRowProps: children,\n });\n }\n }\n });\n\n return {\n columns: this.columns,\n rows: this.dataToRows(data, propsCells),\n use,\n $propsRow,\n $scrollRef: this.scrollBodyRef,\n };\n }\n\n dataToRows(data, propsCells) {\n const columns = this.columns;\n\n function parseData(data, options = { exclude: [] }) {\n return data.map((row) => {\n const columnsGroups = Object.keys(row).reduce((acc, name) => {\n const names = name.split('/');\n if (names.length >= 2) {\n acc.push([names, row[name]]);\n }\n return acc;\n }, []);\n const nameColumnsGroup = columnsGroups\n .reduce((acc, [names]) => acc.concat(names), [])\n .filter((name, i, arr) => arr.indexOf(name) === i);\n const rowsGroup = row[ROW_GROUP] || [];\n const nameRowsGroup = rowsGroup\n .reduce((acc, row) => acc.concat(Object.keys(row)), [])\n .filter((name, i, arr) => arr.indexOf(name) === i);\n let isGroupRow = false;\n\n const cells = [];\n cells._row = row;\n return columns.reduce((acc, column) => {\n const columnGroup = columnsGroups.find((group) => group[0]?.includes(column.name));\n if (columnGroup) {\n const [names, data] = columnGroup;\n if (names[0] === column.name) {\n acc.push({\n name: names.join('/'),\n cssVar: names.map(createCssVarForWidth),\n fixed: column.fixed,\n data,\n rendersCell: propsCells[column.name] || [],\n });\n }\n } else if (column.name in row) {\n acc.push({\n name: column.name,\n cssVar: column.cssVar,\n fixed: column.fixed,\n data: row[column.name],\n rendersCell: propsCells[column.name] || [],\n });\n } else if (!isGroupRow && nameRowsGroup.includes(column.name)) {\n // TODO: сделать универсально\n isGroupRow = true;\n acc.push(\n parseData(rowsGroup, {\n exclude: [...Object.keys(row), ...nameColumnsGroup],\n }),\n );\n } else if (![...options.exclude, ...nameRowsGroup].includes(column.name)) {\n acc.push({\n name: column.name,\n cssVar: column.cssVar,\n fixed: column.fixed,\n data: null,\n rendersCell: propsCells[column.name] || [],\n });\n }\n return acc;\n }, cells);\n });\n }\n\n return parseData(data);\n }\n\n componentDidUpdate() {\n this.setVarStyle(this.columns);\n }\n\n render() {\n const SDataTable = Root;\n const { Children, styles } = this.asProps;\n\n return sstyled(styles)(\n <SDataTable render={Box} __excludeProps={['data']} ref={this.tableRef}>\n <Children />\n </SDataTable>,\n );\n }\n}\n\nfunction ComponentDefinition() {\n return null;\n}\n\nconst DefinitionTable = createComponent(\n RootDefinitionTable,\n {\n Head,\n Body,\n Column: ComponentDefinition,\n Cell: ComponentDefinition,\n Row: ComponentDefinition,\n },\n {},\n);\n\nexport { ROW_GROUP };\nexport default DefinitionTable;\n"],"file":"DataTable.js"}
1
+ {"version":3,"sources":["../../src/DataTable.jsx"],"names":["React","createComponent","Component","sstyled","Root","Box","syncScroll","callAllEventHandlers","fire","flattenColumns","Head","Body","MAP_SORT_DIRECTION","desc","asc","DEFAULT_SORT_DIRECTION","ROW_GROUP","Symbol","cssVarReg","createCssVarForWidth","name","replace","RootDefinitionTable","props","createRef","e","column","columns","find","c","active","sortDirection","forceUpdate","tableRef","current","scrollIntoView","block","inline","behavior","scrollBodyRef","scrollHeadRef","forEach","style","setProperty","cssVar","width","children","options","fixed","undefined","sort","asProps","columnsChildren","Children","child","isValidElement","type","DefinitionTable","Column","resizable","sortable","isGroup","childrenToColumns","map","join","length","toArray","filter","push","ref","getBoundingClientRect","use","$onSortClick","handlerSortClick","scrollToUp","onResize","handlerResize","$scrollRef","data","propsCells","$propsRow","other","Cell","split","getCellProps","Row","getRowProps","rows","dataToRows","parseData","exclude","row","columnsGroups","Object","keys","reduce","acc","names","nameColumnsGroup","concat","i","arr","indexOf","rowsGroup","nameRowsGroup","isGroupRow","cells","_row","columnGroup","group","includes","rendersCell","setVarStyle","SDataTable","styles","ComponentDefinition"],"mappings":"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","sourcesContent":["import React from 'react';\nimport createComponent, { Component, sstyled, Root } from '@semcore/core';\nimport { Box } from '@semcore/flex-box';\nimport syncScroll from '@semcore/utils/lib/syncScroll';\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport fire from '@semcore/utils/lib/fire';\nimport { flattenColumns } from './utils';\nimport Head from './Head';\nimport Body from './Body';\n\nimport style from './style/data-table.shadow.css';\n\nconst MAP_SORT_DIRECTION = {\n desc: 'asc',\n asc: 'desc',\n};\nconst DEFAULT_SORT_DIRECTION = 'desc';\n\nconst ROW_GROUP = Symbol('ROW_GROUP');\n\nconst cssVarReg = /[:;]/g;\n\nfunction createCssVarForWidth(name) {\n return `--${name.replace(cssVarReg, '_')}_width`;\n}\n\nclass RootDefinitionTable extends Component {\n static displayName = 'DefinitionTable';\n\n static style = style;\n\n static defaultProps = {\n use: 'primary',\n sort: [],\n data: [],\n };\n\n columns = [];\n\n tableRef = React.createRef();\n\n constructor(props) {\n super(props);\n\n const createRef = syncScroll();\n // first create body ref for master scroll\n this.scrollBodyRef = createRef('body');\n this.scrollHeadRef = createRef('head');\n }\n\n handlerSortClick = (name, e) => {\n const column = this.columns.find((c) => c.name === name);\n return fire(\n this,\n 'onSortChange',\n [\n column.name,\n column.active ? MAP_SORT_DIRECTION[column.sortDirection] : column.sortDirection,\n ],\n e,\n );\n };\n\n handlerResize = () => {\n this.forceUpdate();\n };\n\n scrollToUp = () => {\n this.tableRef?.current?.scrollIntoView({\n block: 'nearest',\n inline: 'nearest',\n behavior: 'smooth',\n });\n };\n\n setVarStyle(columns) {\n columns.forEach((column) => {\n this.tableRef.current?.style.setProperty(column.cssVar, `${column.width}px`);\n }, {});\n }\n\n childrenToColumns(children, options = { fixed: undefined }) {\n const { sort } = this.asProps;\n const columnsChildren = [];\n React.Children.forEach(children, (child) => {\n if (!React.isValidElement(child)) return;\n if (child.type !== DefinitionTable.Column) return;\n\n let { children, name, fixed = options.fixed, resizable, sortable, ...props } = child.props;\n const isGroup = !name;\n let columns = null;\n\n if (isGroup) {\n columns = this.childrenToColumns(children, {\n fixed,\n });\n name = flattenColumns(columns)\n .map((c) => c.name)\n .join('/');\n if (!columns.length) return;\n children = React.Children.toArray(children).filter(\n (child) => !(React.isValidElement(child) && child.type === DefinitionTable.Column),\n );\n }\n\n const column = this.columns.find((c) => c.name === name);\n\n columnsChildren.push({\n get width() {\n return this.props.ref.current?.getBoundingClientRect().width || 0;\n },\n name,\n cssVar: createCssVarForWidth(name),\n fixed,\n resizable,\n active: sort[0] === name,\n sortable,\n sortDirection:\n sort[0] === name\n ? sort[1]\n : column?.sortDirection ||\n (typeof sortable == 'string' ? sortable : DEFAULT_SORT_DIRECTION),\n columns,\n props: {\n ref: column?.props?.ref || React.createRef(),\n children,\n ...props,\n },\n });\n });\n return columnsChildren;\n }\n\n getHeadProps(props) {\n const { use } = this.asProps;\n const columnsChildren = this.childrenToColumns(props.children);\n this.columns = flattenColumns(columnsChildren);\n return {\n $onSortClick: callAllEventHandlers(this.handlerSortClick, this.scrollToUp),\n columnsChildren,\n use,\n onResize: this.handlerResize,\n $scrollRef: this.scrollHeadRef,\n };\n }\n\n getBodyProps(props) {\n const { data, use } = this.asProps;\n const propsCells = {};\n const $propsRow = [];\n React.Children.forEach(props.children, (child) => {\n if (React.isValidElement(child)) {\n const { name, children, ...other } = child.props;\n if (child.type === DefinitionTable.Cell && name) {\n name.split('/').forEach((name) => {\n propsCells[name] = propsCells[name] || [];\n propsCells[name].push({\n ...other,\n getCellProps: children,\n });\n });\n }\n if (child.type === DefinitionTable.Row) {\n $propsRow.push({\n ...other,\n getRowProps: children,\n });\n }\n }\n });\n\n return {\n columns: this.columns,\n rows: this.dataToRows(data, propsCells),\n use,\n $propsRow,\n $scrollRef: this.scrollBodyRef,\n };\n }\n\n dataToRows(data, propsCells) {\n const columns = this.columns;\n\n function parseData(data, options = { exclude: [] }) {\n return data.map((row) => {\n const columnsGroups = Object.keys(row).reduce((acc, name) => {\n const names = name.split('/');\n if (names.length >= 2) {\n acc.push([names, row[name]]);\n }\n return acc;\n }, []);\n const nameColumnsGroup = columnsGroups\n .reduce((acc, [names]) => acc.concat(names), [])\n .filter((name, i, arr) => arr.indexOf(name) === i);\n const rowsGroup = row[ROW_GROUP] || [];\n const nameRowsGroup = rowsGroup\n .reduce((acc, row) => acc.concat(Object.keys(row)), [])\n .filter((name, i, arr) => arr.indexOf(name) === i);\n let isGroupRow = false;\n\n const cells = [];\n cells._row = row;\n return columns.reduce((acc, column) => {\n const columnGroup = columnsGroups.find((group) => group[0]?.includes(column.name));\n if (columnGroup) {\n const [names, data] = columnGroup;\n if (names[0] === column.name) {\n acc.push({\n name: names.join('/'),\n cssVar: names.map(createCssVarForWidth),\n fixed: column.fixed,\n data,\n rendersCell: propsCells[column.name] || [],\n });\n }\n } else if (column.name in row) {\n acc.push({\n name: column.name,\n cssVar: column.cssVar,\n fixed: column.fixed,\n data: row[column.name],\n rendersCell: propsCells[column.name] || [],\n });\n } else if (!isGroupRow && nameRowsGroup.includes(column.name)) {\n // TODO: сделать универсально\n isGroupRow = true;\n acc.push(\n parseData(rowsGroup, {\n exclude: [...Object.keys(row), ...nameColumnsGroup],\n }),\n );\n } else if (![...options.exclude, ...nameRowsGroup].includes(column.name)) {\n acc.push({\n name: column.name,\n cssVar: column.cssVar,\n fixed: column.fixed,\n data: null,\n rendersCell: propsCells[column.name] || [],\n });\n }\n return acc;\n }, cells);\n });\n }\n\n return parseData(data);\n }\n\n componentDidUpdate() {\n this.setVarStyle(this.columns);\n }\n\n render() {\n const SDataTable = Root;\n const { Children, styles } = this.asProps;\n\n return sstyled(styles)(\n <SDataTable render={Box} __excludeProps={['data']} ref={this.tableRef}>\n <Children />\n </SDataTable>,\n );\n }\n}\n\nfunction ComponentDefinition() {\n return null;\n}\n\nconst DefinitionTable = createComponent(\n RootDefinitionTable,\n {\n Head,\n Body,\n Column: ComponentDefinition,\n Cell: ComponentDefinition,\n Row: ComponentDefinition,\n },\n {},\n);\n\nexport { ROW_GROUP };\nexport default DefinitionTable;\n"],"file":"DataTable.js"}
package/lib/es6/Head.js CHANGED
@@ -9,9 +9,9 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
9
9
  import { sstyled as _sstyled } from "@semcore/core";
10
10
  import { assignProps as _assignProps } from "@semcore/core";
11
11
 
12
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
12
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
13
13
 
14
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
14
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
15
15
 
16
16
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
17
17
 
@@ -32,12 +32,12 @@ var scrollStyles = (
32
32
  /*__reshadow_css_start__*/
33
33
  _sstyled.insert(
34
34
  /*__inner_css_start__*/
35
- ".___SShadowHorizontal_e7di7_gg_:before{left:var(--left_1jfuf14)!important}.___SShadowHorizontal_e7di7_gg_:after{right:var(--right_1jfuf14)!important}"
35
+ ".___SShadowHorizontal_1w6je_gg_:before{left:var(--left_1jfuf14)!important}.___SShadowHorizontal_1w6je_gg_:after{right:var(--right_1jfuf14)!important}"
36
36
  /*__inner_css_end__*/
37
37
  , "1jfuf14_gg_")
38
38
  /*__reshadow_css_end__*/
39
39
  , {
40
- "__SShadowHorizontal": "___SShadowHorizontal_e7di7_gg_",
40
+ "__SShadowHorizontal": "___SShadowHorizontal_1w6je_gg_",
41
41
  "--left": "--left_1jfuf14",
42
42
  "--right": "--right_1jfuf14"
43
43
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Head.js"],"names":["React","Component","sstyled","Root","Box","Flex","ScrollArea","SortDesc","SortAsc","callAllEventHandlers","flattenColumns","getFixedStyle","getScrollOffsetValue","logger","SORTING_ICON","desc","asc","Head","name","e","asProps","$onSortClick","keyCode","columns","width","map","column","renderColumn","styles","use","hidden","SColumn","SHead","SSortIcon","sortDirection","isGroup","cSize","length","value","style","props","flex","undefined","fixed","resizable","sortable","active","onClick","bindHandlerSortClick","onKeyDown","bindHandlerKeyDown","children","renderColumns","Children","columnsChildren","onResize","$scrollRef","sticky","SHeadWrapper","offsetLeftSum","offsetRightSum","warn","displayName","scrollStyles","origin"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Component, sstyled, Root } from '@semcore/core';\nimport { Box, Flex } from '@semcore/flex-box';\nimport ScrollArea from '@semcore/scroll-area';\nimport SortDesc from '@semcore/icon/SortDesc/m';\nimport SortAsc from '@semcore/icon/SortAsc/m';\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport { flattenColumns, getFixedStyle, getScrollOffsetValue } from './utils';\nimport logger from '@semcore/utils/lib/logger';\n\nimport scrollStyles from './style/scroll-area.shadow.css';\n\nconst SORTING_ICON = {\n desc: SortDesc,\n asc: SortAsc,\n};\n\nclass Head extends Component {\n columns = [];\n\n bindHandlerSortClick = (name) => (e) => {\n this.asProps.$onSortClick(name, e);\n };\n\n bindHandlerKeyDown = (name) => (e) => {\n if (e.keyCode === 13) {\n this.asProps.$onSortClick(name, e);\n }\n };\n\n renderColumns(columns, width) {\n return columns.map((column) => this.renderColumn(column, width));\n }\n\n renderColumn(column, width) {\n const { styles, use, hidden } = this.asProps;\n const SColumn = Flex;\n const SHead = Box;\n const SSortIcon = SORTING_ICON[column.sortDirection];\n const isGroup = !!column.columns;\n const cSize = isGroup ? flattenColumns(column.columns).length : 1;\n const [name, value] = getFixedStyle(column, this.columns);\n const style = {\n [name]: value,\n flexBasis: column.props.flex === undefined && `${width * cSize}%`,\n ...column.props.style,\n };\n\n return sstyled(styles)(\n <SColumn\n key={column.name}\n use={use}\n fixed={column.fixed}\n resizable={column.resizable}\n sortable={column.sortable}\n active={column.active}\n group={isGroup}\n tabIndex={column.sortable && 0}\n {...column.props}\n onClick={callAllEventHandlers(\n column.props.onClick,\n column.sortable ? this.bindHandlerSortClick(column.name) : undefined,\n )}\n onKeyDown={callAllEventHandlers(\n column.props.onKeyDown,\n column.sortable ? this.bindHandlerKeyDown(column.name) : undefined,\n )}\n style={style}\n hidden={hidden}\n >\n {isGroup ? (\n <>\n <SColumn groupHead use={use}>\n <div>{column.props.children}</div>\n </SColumn>\n <SHead>{this.renderColumns(column.columns, 100 / cSize)}</SHead>\n </>\n ) : (\n <>\n <div>{column.props.children}</div>\n {column.sortable ? <SSortIcon active={column.active} /> : null}\n </>\n )}\n </SColumn>,\n );\n }\n\n render() {\n const SHead = Root;\n const { Children, styles, columnsChildren, onResize, $scrollRef, sticky } = this.asProps;\n const SHeadWrapper = Box;\n\n this.columns = flattenColumns(columnsChildren);\n\n const [offsetLeftSum, offsetRightSum] = getScrollOffsetValue(this.columns);\n\n logger.warn(\n sticky,\n \"'sticky' property is deprecated, use '<Sticky/>' wrapper\",\n this.asProps['data-ui-name'] || Head.displayName,\n );\n\n return sstyled(styles)(\n <SHeadWrapper sticky={sticky}>\n <ScrollArea\n styles={scrollStyles}\n use:left={`${offsetLeftSum}px`}\n use:right={`${offsetRightSum}px`}\n shadow\n onResize={onResize}\n >\n <ScrollArea.Container ref={$scrollRef}>\n <SHead render={Box}>\n {this.renderColumns(columnsChildren, 100 / this.columns.length)}\n </SHead>\n </ScrollArea.Container>\n </ScrollArea>\n {Children.origin}\n </SHeadWrapper>,\n );\n }\n}\n\nexport default Head;\n"],"file":"Head.js"}
1
+ {"version":3,"sources":["../../src/Head.jsx"],"names":["React","Component","sstyled","Root","Box","Flex","ScrollArea","SortDesc","SortAsc","callAllEventHandlers","flattenColumns","getFixedStyle","getScrollOffsetValue","logger","SORTING_ICON","desc","asc","Head","name","e","asProps","$onSortClick","keyCode","columns","width","map","column","renderColumn","styles","use","hidden","SColumn","SHead","SSortIcon","sortDirection","isGroup","cSize","length","value","style","props","flex","undefined","fixed","resizable","sortable","active","onClick","bindHandlerSortClick","onKeyDown","bindHandlerKeyDown","children","renderColumns","Children","columnsChildren","onResize","$scrollRef","sticky","SHeadWrapper","offsetLeftSum","offsetRightSum","warn","displayName","scrollStyles","origin"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Component, sstyled, Root } from '@semcore/core';\nimport { Box, Flex } from '@semcore/flex-box';\nimport ScrollArea from '@semcore/scroll-area';\nimport SortDesc from '@semcore/icon/SortDesc/m';\nimport SortAsc from '@semcore/icon/SortAsc/m';\nimport { callAllEventHandlers } from '@semcore/utils/lib/assignProps';\nimport { flattenColumns, getFixedStyle, getScrollOffsetValue } from './utils';\nimport logger from '@semcore/utils/lib/logger';\n\nimport scrollStyles from './style/scroll-area.shadow.css';\n\nconst SORTING_ICON = {\n desc: SortDesc,\n asc: SortAsc,\n};\n\nclass Head extends Component {\n columns = [];\n\n bindHandlerSortClick = (name) => (e) => {\n this.asProps.$onSortClick(name, e);\n };\n\n bindHandlerKeyDown = (name) => (e) => {\n if (e.keyCode === 13) {\n this.asProps.$onSortClick(name, e);\n }\n };\n\n renderColumns(columns, width) {\n return columns.map((column) => this.renderColumn(column, width));\n }\n\n renderColumn(column, width) {\n const { styles, use, hidden } = this.asProps;\n const SColumn = Flex;\n const SHead = Box;\n const SSortIcon = SORTING_ICON[column.sortDirection];\n const isGroup = !!column.columns;\n const cSize = isGroup ? flattenColumns(column.columns).length : 1;\n const [name, value] = getFixedStyle(column, this.columns);\n const style = {\n [name]: value,\n flexBasis: column.props.flex === undefined && `${width * cSize}%`,\n ...column.props.style,\n };\n\n return sstyled(styles)(\n <SColumn\n key={column.name}\n use={use}\n fixed={column.fixed}\n resizable={column.resizable}\n sortable={column.sortable}\n active={column.active}\n group={isGroup}\n tabIndex={column.sortable && 0}\n {...column.props}\n onClick={callAllEventHandlers(\n column.props.onClick,\n column.sortable ? this.bindHandlerSortClick(column.name) : undefined,\n )}\n onKeyDown={callAllEventHandlers(\n column.props.onKeyDown,\n column.sortable ? this.bindHandlerKeyDown(column.name) : undefined,\n )}\n style={style}\n hidden={hidden}\n >\n {isGroup ? (\n <>\n <SColumn groupHead use={use}>\n <div>{column.props.children}</div>\n </SColumn>\n <SHead>{this.renderColumns(column.columns, 100 / cSize)}</SHead>\n </>\n ) : (\n <>\n <div>{column.props.children}</div>\n {column.sortable ? <SSortIcon active={column.active} /> : null}\n </>\n )}\n </SColumn>,\n );\n }\n\n render() {\n const SHead = Root;\n const { Children, styles, columnsChildren, onResize, $scrollRef, sticky } = this.asProps;\n const SHeadWrapper = Box;\n\n this.columns = flattenColumns(columnsChildren);\n\n const [offsetLeftSum, offsetRightSum] = getScrollOffsetValue(this.columns);\n\n logger.warn(\n sticky,\n \"'sticky' property is deprecated, use '<Sticky/>' wrapper\",\n this.asProps['data-ui-name'] || Head.displayName,\n );\n\n return sstyled(styles)(\n <SHeadWrapper sticky={sticky}>\n <ScrollArea\n styles={scrollStyles}\n use:left={`${offsetLeftSum}px`}\n use:right={`${offsetRightSum}px`}\n shadow\n onResize={onResize}\n >\n <ScrollArea.Container ref={$scrollRef}>\n <SHead render={Box}>\n {this.renderColumns(columnsChildren, 100 / this.columns.length)}\n </SHead>\n </ScrollArea.Container>\n </ScrollArea>\n {Children.origin}\n </SHeadWrapper>,\n );\n }\n}\n\nexport default Head;\n"],"file":"Head.js"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@semcore/data-table",
3
3
  "description": "SEMRush DataTable Component",
4
- "version": "1.5.1",
4
+ "version": "1.5.4",
5
5
  "main": "lib/cjs/index.js",
6
6
  "module": "lib/es6/index.js",
7
7
  "typings": "lib/types/index.d.ts",
@@ -24,5 +24,10 @@
24
24
  },
25
25
  "jest": {
26
26
  "preset": "@semcore/jest-preset-ui"
27
+ },
28
+ "repository": {
29
+ "type": "git",
30
+ "url": "https://github.com/semrush/intergalactic.git",
31
+ "directory": "semcore/data-table"
27
32
  }
28
33
  }
File without changes
File without changes
File without changes