@semcore/data-table 3.8.9 → 3.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,18 @@
2
2
 
3
3
  CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
4
4
 
5
+ ## [3.9.1] - 2023-05-25
6
+
7
+ ### Changed
8
+
9
+ - Version patch update due to children dependencies update (`@semcore/utils` [3.51.1 ~> 3.52.0]).
10
+
11
+ ## [3.9.0] - 2023-05-25
12
+
13
+ ### Changed
14
+
15
+ - Improved `DataTable` typings, now props `sort`, `onSortChange`, `uniqueKey` types are automatically infered from `data` prop and children rendering row data might be better typed like `<DataTable.Cell<{}, typeof data> name="keyword">`.
16
+
5
17
  ## [3.8.9] - 2023-05-22
6
18
 
7
19
  ### Changed
package/lib/cjs/Body.js CHANGED
@@ -29,12 +29,12 @@ var _rafTrottle = _interopRequireDefault(require("@semcore/utils/lib/rafTrottle"
29
29
  var _excluded = ["childrenPropsGetter"],
30
30
  _excluded2 = ["childrenPropsGetter"];
31
31
  /*__reshadow-styles__:"./style/scroll-area.shadow.css"*/
32
- var scrollStyles = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SShadowHorizontal_1qg8l_gg_:before{left:var(--left_1qg8l)!important}.___SShadowHorizontal_1qg8l_gg_:after{right:var(--right_1qg8l)!important}.___SContainer_1qg8l_gg_.__disabledScroll_1qg8l_gg_{overflow:visible}" /*__inner_css_end__*/, "1qg8l_gg_") /*__reshadow_css_end__*/, {
33
- "__SShadowHorizontal": "___SShadowHorizontal_1qg8l_gg_",
34
- "--left": "--left_1qg8l",
35
- "--right": "--right_1qg8l",
36
- "__SContainer": "___SContainer_1qg8l_gg_",
37
- "_disabledScroll": "__disabledScroll_1qg8l_gg_"
32
+ var scrollStyles = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SShadowHorizontal_aubs5_gg_:before{left:var(--left_aubs5)!important}.___SShadowHorizontal_aubs5_gg_:after{right:var(--right_aubs5)!important}.___SContainer_aubs5_gg_.__disabledScroll_aubs5_gg_{overflow:visible}" /*__inner_css_end__*/, "aubs5_gg_") /*__reshadow_css_end__*/, {
33
+ "__SShadowHorizontal": "___SShadowHorizontal_aubs5_gg_",
34
+ "--left": "--left_aubs5",
35
+ "--right": "--right_aubs5",
36
+ "__SContainer": "___SContainer_aubs5_gg_",
37
+ "_disabledScroll": "__disabledScroll_aubs5_gg_"
38
38
  });
39
39
  var testEnv = process.env.NODE_ENV === 'test';
40
40
  var getCellsByColumn = function getCellsByColumn(cells) {
@@ -28,52 +28,52 @@ var _uniqueID = _interopRequireDefault(require("@semcore/utils/lib/uniqueID"));
28
28
  var _excluded = ["children", "name", "fixed", "resizable", "sortable", "flex", "vBorders", "active"],
29
29
  _excluded2 = ["name", "children"];
30
30
  /*__reshadow-styles__:"./style/data-table.shadow.css"*/
31
- var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SDataTable_1e38q_gg_,.___SHeadWrapper_1e38q_gg_{position:relative}.___SDataTable_1e38q_gg_.__compact_1e38q_gg_ .___SCell_1e38q_gg_,.___SDataTable_1e38q_gg_.__compact_1e38q_gg_ .___SColumn_1e38q_gg_{padding:var(--intergalactic-spacing-3x, 12px) var(--intergalactic-spacing-2x, 8px)}.___SHeadWrapper_1e38q_gg_.__sticky_1e38q_gg_{position:sticky;top:0;z-index:2}.___SHead_1e38q_gg_{display:flex;position:relative;flex-direction:row;min-width:-moz-fit-content;min-width:fit-content;z-index:0}.___SColumn_1e38q_gg_{display:flex;align-items:flex-start;flex-grow:1;font-size:var(--intergalactic-fs-100, 12px);line-height:var(--intergalactic-lh-100, 133%);color:var(--intergalactic-text-primary, #191b23);box-sizing:border-box;position:relative}.___SColumn_1e38q_gg_.focus-visible{outline:0;box-shadow:inset var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5))}.___SColumn_1e38q_gg_:focus-visible{outline:0;box-shadow:inset var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5))}.___SColumn_1e38q_gg_.__hidden_1e38q_gg_{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border-width:0!important}.___SColumn_1e38q_gg_._use_primary_1e38q_gg_{padding:var(--intergalactic-spacing-3x, 12px);border-bottom:1px solid var(--intergalactic-border-secondary, #e0e1e9);background-color:var(--intergalactic-table-th-primary-cell, #f4f5f9)}.___SColumn_1e38q_gg_._use_secondary_1e38q_gg_{padding:var(--intergalactic-spacing-2x, 8px);border-bottom:1px solid var(--intergalactic-border-table-accent, #a9abb6);background-color:var(--intergalactic-table-th-secondary-cell, #ffffff)}.___SColumn_1e38q_gg_.__group_1e38q_gg_.__use_1e38q_gg_{display:flex;flex-wrap:wrap;flex-direction:column;align-items:normal;border-bottom:none;padding:0}.___SColumn_1e38q_gg_.__groupHead_1e38q_gg_{justify-content:center;z-index:1;border-bottom:none}.___SColumn_1e38q_gg_.__sortable_1e38q_gg_{cursor:pointer}@media (hover:hover){.___SColumn_1e38q_gg_.__sortable_1e38q_gg_._use_primary_1e38q_gg_:hover{background-color:var(--intergalactic-table-th-primary-cell-hover, #e0e1e9)}.___SColumn_1e38q_gg_.__sortable_1e38q_gg_:hover .___SSortWrapper_1e38q_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}.___SColumn_1e38q_gg_.__sortable_1e38q_gg_:hover .___SSortIcon_1e38q_gg_,.___SColumn_1e38q_gg_.__sortable_1e38q_gg_:hover .___SSortWrapper_1e38q_gg_:before{display:block;opacity:1}}.___SColumn_1e38q_gg_._use_primary_1e38q_gg_.__active_1e38q_gg_{background-color:var(--intergalactic-table-th-primary-cell-active, #e0e1e9);width:100%}.___SColumn_1e38q_gg_.__active_1e38q_gg_ .___SSortWrapper_1e38q_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}.___SColumn_1e38q_gg_.__active_1e38q_gg_ .___SSortIcon_1e38q_gg_{display:block;position:relative;opacity:1}.___SColumn_1e38q_gg_.__resizable_1e38q_gg_{border-right:1px solid transparent}@media (hover:hover){.___SColumn_1e38q_gg_.__resizable_1e38q_gg_:hover:after{border-right-color:var(--intergalactic-border-table-accent, #a9abb6)}}.___SColumn_1e38q_gg_.__resizable_1e38q_gg_:after{content:\"\";position:absolute;bottom:0;right:-1px;height:100%;width:5px;background:0 0;cursor:col-resize;border-right:1px solid transparent}.___SColumn_1e38q_gg_.__fixed_1e38q_gg_{position:sticky;z-index:2}.___SCell_1e38q_gg_.__borderLeft_1e38q_gg_,.___SColumn_1e38q_gg_.__borderLeft_1e38q_gg_{border-left:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SCell_1e38q_gg_.__borderRight_1e38q_gg_,.___SColumn_1e38q_gg_.__borderRight_1e38q_gg_{border-right:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SSortWrapper_1e38q_gg_{flex-shrink:99999;position:relative;flex-basis:0;height:100%;min-height:16px;opacity:0;transition:all .3s ease}.___SSortIcon_1e38q_gg_,.___SSortWrapper_1e38q_gg_:before{display:none;position:absolute;right:0;opacity:0;transition:opacity .3s ease}.___SSortWrapper_1e38q_gg_:before{content:\"\";top:0;width:20px;height:100%}.___SSortIcon_1e38q_gg_{fill:var(--intergalactic-icon-secondary-neutral-hover-active, #8a8e9b);top:calc(1em*1.25 - 16px);margin-left:var(--intergalactic-spacing-1x, 4px)}.___SColumn_1e38q_gg_._use_primary_1e38q_gg_ .___SSortWrapper_1e38q_gg_:before{background:linear-gradient(270deg,var(--intergalactic-table-th-primary-cell-hover, #e0e1e9) 67.5%,rgba(224,225,233,0) 105%)}.___SColumn_1e38q_gg_._use_secondary_1e38q_gg_ .___SSortWrapper_1e38q_gg_:before{background:linear-gradient(270deg,var(--intergalactic-table-th-secondary-cell, #ffffff) 67.5%,rgba(255,255,255,0) 105%)}.___SBodyWrapper_1e38q_gg_{position:relative}.___SBody_1e38q_gg_{display:flex;flex-direction:column;position:relative;min-width:-moz-fit-content;min-width:fit-content}.___SRow_1e38q_gg_{display:flex;flex-direction:row;position:relative}.___SRow_1e38q_gg_.__active_1e38q_gg_>.___SCell_1e38q_gg_:not(.__theme_1e38q_gg_),.___SRow_1e38q_gg_._theme_muted_1e38q_gg_.__active_1e38q_gg_>.___SCell_1e38q_gg_:not(.__theme_1e38q_gg_){background-color:var(--intergalactic-table-td-cell-hover, #f0f0f4)}@media (hover:hover){.___SRow_1e38q_gg_ .___SCell_1e38q_gg_:hover+.___SGroupCell_1e38q_gg_ .___SCell_1e38q_gg_:not(.__theme_1e38q_gg_),.___SRow_1e38q_gg_:hover>.___SCell_1e38q_gg_:not(.__theme_1e38q_gg_){background-color:var(--intergalactic-table-td-cell-hover, #f0f0f4)}}.___SRow_1e38q_gg_._theme_muted_1e38q_gg_ .___SCell_1e38q_gg_:not(.__theme_1e38q_gg_){background-color:var(--intergalactic-table-td-cell-unread, #f4f5f9)}@media (hover:hover){.___SRow_1e38q_gg_._theme_muted_1e38q_gg_ .___SCell_1e38q_gg_:hover+.___SGroupCell_1e38q_gg_ .___SCell_1e38q_gg_:not(.__theme_1e38q_gg_),.___SRow_1e38q_gg_._theme_muted_1e38q_gg_:hover>.___SCell_1e38q_gg_:not(.__theme_1e38q_gg_),.___SRow_1e38q_gg_:hover>.___SCell_1e38q_gg_._theme_muted_1e38q_gg_{background-color:var(--intergalactic-table-td-cell-hover, #f0f0f4)}}.___SRow_1e38q_gg_._theme_info_1e38q_gg_ .___SCell_1e38q_gg_:not(.__theme_1e38q_gg_){background-color:var(--intergalactic-table-td-cell-selected, #e9f7ff)}.___SRow_1e38q_gg_._theme_info_1e38q_gg_.__active_1e38q_gg_>.___SCell_1e38q_gg_:not(.__theme_1e38q_gg_){background-color:var(--intergalactic-table-td-cell-selected-hover, #c4e5fe)}@media (hover:hover){.___SRow_1e38q_gg_._theme_info_1e38q_gg_ .___SCell_1e38q_gg_:hover+.___SGroupCell_1e38q_gg_ .___SCell_1e38q_gg_:not(.__theme_1e38q_gg_),.___SRow_1e38q_gg_._theme_info_1e38q_gg_:hover>.___SCell_1e38q_gg_:not(.__theme_1e38q_gg_),.___SRow_1e38q_gg_:hover>.___SCell_1e38q_gg_._theme_info_1e38q_gg_{background-color:var(--intergalactic-table-td-cell-selected-hover, #c4e5fe)}}.___SRow_1e38q_gg_._theme_success_1e38q_gg_ .___SCell_1e38q_gg_:not(.__theme_1e38q_gg_){background-color:var(--intergalactic-table-td-cell-new, #dbfee8)}.___SRow_1e38q_gg_._theme_success_1e38q_gg_.__active_1e38q_gg_>.___SCell_1e38q_gg_:not(.__theme_1e38q_gg_){background-color:var(--intergalactic-table-td-cell-new-hover, #9ef2c9)}@media (hover:hover){.___SRow_1e38q_gg_._theme_success_1e38q_gg_ .___SCell_1e38q_gg_:hover+.___SGroupCell_1e38q_gg_ .___SCell_1e38q_gg_:not(.__theme_1e38q_gg_),.___SRow_1e38q_gg_._theme_success_1e38q_gg_:hover>.___SCell_1e38q_gg_:not(.__theme_1e38q_gg_),.___SRow_1e38q_gg_:hover>.___SCell_1e38q_gg_._theme_success_1e38q_gg_{background-color:var(--intergalactic-table-td-cell-new-hover, #9ef2c9)}}.___SRow_1e38q_gg_._theme_warning_1e38q_gg_ .___SCell_1e38q_gg_:not(.__theme_1e38q_gg_){background-color:var(--intergalactic-table-td-cell-warning, #fff3d9)}.___SRow_1e38q_gg_._theme_warning_1e38q_gg_.__active_1e38q_gg_>.___SCell_1e38q_gg_:not(.__theme_1e38q_gg_){background-color:var(--intergalactic-table-td-cell-warning-hover, #ffdca2)}@media (hover:hover){.___SRow_1e38q_gg_._theme_warning_1e38q_gg_ .___SCell_1e38q_gg_:hover+.___SGroupCell_1e38q_gg_ .___SCell_1e38q_gg_:not(.__theme_1e38q_gg_),.___SRow_1e38q_gg_._theme_warning_1e38q_gg_:hover>.___SCell_1e38q_gg_:not(.__theme_1e38q_gg_),.___SRow_1e38q_gg_:hover>.___SCell_1e38q_gg_._theme_warning_1e38q_gg_{background-color:var(--intergalactic-table-td-cell-warning-hover, #ffdca2)}}.___SRow_1e38q_gg_._theme_danger_1e38q_gg_ .___SCell_1e38q_gg_:not(.__theme_1e38q_gg_){background-color:var(--intergalactic-table-td-cell-critical, #fff0f7)}.___SRow_1e38q_gg_._theme_danger_1e38q_gg_.__active_1e38q_gg_>.___SCell_1e38q_gg_:not(.__theme_1e38q_gg_){background-color:var(--intergalactic-table-td-cell-critical-hover, #ffd7df)}@media (hover:hover){.___SRow_1e38q_gg_._theme_danger_1e38q_gg_ .___SCell_1e38q_gg_:hover+.___SGroupCell_1e38q_gg_ .___SCell_1e38q_gg_:not(.__theme_1e38q_gg_),.___SRow_1e38q_gg_._theme_danger_1e38q_gg_:hover>.___SCell_1e38q_gg_:not(.__theme_1e38q_gg_),.___SRow_1e38q_gg_:hover>.___SCell_1e38q_gg_._theme_danger_1e38q_gg_{background-color:var(--intergalactic-table-td-cell-critical-hover, #ffd7df)}}.___SRow_1e38q_gg_.__positioned_1e38q_gg_{position:absolute}.___SCell_1e38q_gg_{display:flex;flex:1;flex-basis:auto;font-size:var(--intergalactic-fs-200, 14px);line-height:var(--intergalactic-lh-200, 142%);color:var(--intergalactic-text-primary, #191b23);box-sizing:border-box;border-bottom:1px solid var(--intergalactic-border-secondary, #e0e1e9);overflow:hidden;white-space:nowrap}.___SCell_1e38q_gg_._use_primary_1e38q_gg_{padding:var(--intergalactic-spacing-3x, 12px);min-height:45px;background-color:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SCell_1e38q_gg_._use_secondary_1e38q_gg_{padding:var(--intergalactic-spacing-2x, 8px);min-height:37px;background-color:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SCell_1e38q_gg_.__fixed_1e38q_gg_{position:sticky;z-index:1}.___SCell_1e38q_gg_._theme_muted_1e38q_gg_{background-color:var(--intergalactic-table-td-cell-unread, #f4f5f9)}.___SCell_1e38q_gg_._theme_info_1e38q_gg_{background-color:var(--intergalactic-table-td-cell-selected, #e9f7ff)}.___SCell_1e38q_gg_._theme_success_1e38q_gg_{background-color:var(--intergalactic-table-td-cell-new, #dbfee8)}.___SCell_1e38q_gg_._theme_warning_1e38q_gg_{background-color:var(--intergalactic-table-td-cell-warning, #fff3d9)}.___SCell_1e38q_gg_._theme_danger_1e38q_gg_{background-color:var(--intergalactic-table-td-cell-critical, #fff0f7)}.___SScrollAreaBar_1e38q_gg_._orientation_horizontal_1e38q_gg_{position:sticky;bottom:0;left:0;margin-top:calc(-1*var(--intergalactic-spacing-3x, 12px));z-index:2}.___SScrollAreaBar_1e38q_gg_._orientation_vertical_1e38q_gg_{width:12px}.___SScrollAreaBar_1e38q_gg_._orientation_horizontal_1e38q_gg_{margin-left:calc(var(--left_1e38q) + var(--intergalactic-spacing-1x, 4px));margin-right:calc(var(--right_1e38q) + var(--intergalactic-spacing-1x, 4px));width:calc(100% - var(--offsetSum_1e38q) - 8px)}.___SHeightHold_1e38q_gg_{position:absolute;top:0;width:100%;pointer-events:none;z-index:-1}" /*__inner_css_end__*/, "1e38q_gg_") /*__reshadow_css_end__*/, {
32
- "__SDataTable": "___SDataTable_1e38q_gg_",
33
- "_compact": "__compact_1e38q_gg_",
34
- "__SColumn": "___SColumn_1e38q_gg_",
35
- "__SCell": "___SCell_1e38q_gg_",
36
- "__SHeadWrapper": "___SHeadWrapper_1e38q_gg_",
37
- "_sticky": "__sticky_1e38q_gg_",
38
- "__SHead": "___SHead_1e38q_gg_",
39
- "_hidden": "__hidden_1e38q_gg_",
40
- "_use_primary": "_use_primary_1e38q_gg_",
41
- "_use_secondary": "_use_secondary_1e38q_gg_",
42
- "_group": "__group_1e38q_gg_",
43
- "_use": "__use_1e38q_gg_",
44
- "_groupHead": "__groupHead_1e38q_gg_",
45
- "_sortable": "__sortable_1e38q_gg_",
46
- "__SSortWrapper": "___SSortWrapper_1e38q_gg_",
47
- "__SSortIcon": "___SSortIcon_1e38q_gg_",
48
- "_active": "__active_1e38q_gg_",
49
- "_resizable": "__resizable_1e38q_gg_",
50
- "_fixed": "__fixed_1e38q_gg_",
51
- "_borderLeft": "__borderLeft_1e38q_gg_",
52
- "_borderRight": "__borderRight_1e38q_gg_",
53
- "__SBodyWrapper": "___SBodyWrapper_1e38q_gg_",
54
- "__SBody": "___SBody_1e38q_gg_",
55
- "__SRow": "___SRow_1e38q_gg_",
56
- "_theme": "__theme_1e38q_gg_",
57
- "__SGroupCell": "___SGroupCell_1e38q_gg_",
58
- "_theme_muted": "_theme_muted_1e38q_gg_",
59
- "_theme_info": "_theme_info_1e38q_gg_",
60
- "_theme_success": "_theme_success_1e38q_gg_",
61
- "_theme_warning": "_theme_warning_1e38q_gg_",
62
- "_theme_danger": "_theme_danger_1e38q_gg_",
63
- "_positioned": "__positioned_1e38q_gg_",
64
- "__SScrollAreaBar": "___SScrollAreaBar_1e38q_gg_",
65
- "_orientation_horizontal": "_orientation_horizontal_1e38q_gg_",
66
- "_orientation_vertical": "_orientation_vertical_1e38q_gg_",
67
- "--left": "--left_1e38q",
68
- "--right": "--right_1e38q",
69
- "--offsetSum": "--offsetSum_1e38q",
70
- "__SHeightHold": "___SHeightHold_1e38q_gg_"
31
+ var style = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SDataTable_1xqzd_gg_,.___SHeadWrapper_1xqzd_gg_{position:relative}.___SDataTable_1xqzd_gg_.__compact_1xqzd_gg_ .___SCell_1xqzd_gg_,.___SDataTable_1xqzd_gg_.__compact_1xqzd_gg_ .___SColumn_1xqzd_gg_{padding:var(--intergalactic-spacing-3x, 12px) var(--intergalactic-spacing-2x, 8px)}.___SHeadWrapper_1xqzd_gg_.__sticky_1xqzd_gg_{position:sticky;top:0;z-index:2}.___SHead_1xqzd_gg_{display:flex;position:relative;flex-direction:row;min-width:-moz-fit-content;min-width:fit-content;z-index:0}.___SColumn_1xqzd_gg_{display:flex;align-items:flex-start;flex-grow:1;font-size:var(--intergalactic-fs-100, 12px);line-height:var(--intergalactic-lh-100, 133%);color:var(--intergalactic-text-primary, #191b23);box-sizing:border-box;position:relative}.___SColumn_1xqzd_gg_.focus-visible{outline:0;box-shadow:inset var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5))}.___SColumn_1xqzd_gg_:focus-visible{outline:0;box-shadow:inset var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5))}.___SColumn_1xqzd_gg_.__hidden_1xqzd_gg_{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border-width:0!important}.___SColumn_1xqzd_gg_._use_primary_1xqzd_gg_{padding:var(--intergalactic-spacing-3x, 12px);border-bottom:1px solid var(--intergalactic-border-secondary, #e0e1e9);background-color:var(--intergalactic-table-th-primary-cell, #f4f5f9)}.___SColumn_1xqzd_gg_._use_secondary_1xqzd_gg_{padding:var(--intergalactic-spacing-2x, 8px);border-bottom:1px solid var(--intergalactic-border-table-accent, #a9abb6);background-color:var(--intergalactic-table-th-secondary-cell, #ffffff)}.___SColumn_1xqzd_gg_.__group_1xqzd_gg_.__use_1xqzd_gg_{display:flex;flex-wrap:wrap;flex-direction:column;align-items:normal;border-bottom:none;padding:0}.___SColumn_1xqzd_gg_.__groupHead_1xqzd_gg_{justify-content:center;z-index:1;border-bottom:none}.___SColumn_1xqzd_gg_.__sortable_1xqzd_gg_{cursor:pointer}@media (hover:hover){.___SColumn_1xqzd_gg_.__sortable_1xqzd_gg_._use_primary_1xqzd_gg_:hover{background-color:var(--intergalactic-table-th-primary-cell-hover, #e0e1e9)}.___SColumn_1xqzd_gg_.__sortable_1xqzd_gg_:hover .___SSortWrapper_1xqzd_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}.___SColumn_1xqzd_gg_.__sortable_1xqzd_gg_:hover .___SSortIcon_1xqzd_gg_,.___SColumn_1xqzd_gg_.__sortable_1xqzd_gg_:hover .___SSortWrapper_1xqzd_gg_:before{display:block;opacity:1}}.___SColumn_1xqzd_gg_._use_primary_1xqzd_gg_.__active_1xqzd_gg_{background-color:var(--intergalactic-table-th-primary-cell-active, #e0e1e9);width:100%}.___SColumn_1xqzd_gg_.__active_1xqzd_gg_ .___SSortWrapper_1xqzd_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}.___SColumn_1xqzd_gg_.__active_1xqzd_gg_ .___SSortIcon_1xqzd_gg_{display:block;position:relative;opacity:1}.___SColumn_1xqzd_gg_.__resizable_1xqzd_gg_{border-right:1px solid transparent}@media (hover:hover){.___SColumn_1xqzd_gg_.__resizable_1xqzd_gg_:hover:after{border-right-color:var(--intergalactic-border-table-accent, #a9abb6)}}.___SColumn_1xqzd_gg_.__resizable_1xqzd_gg_:after{content:\"\";position:absolute;bottom:0;right:-1px;height:100%;width:5px;background:0 0;cursor:col-resize;border-right:1px solid transparent}.___SColumn_1xqzd_gg_.__fixed_1xqzd_gg_{position:sticky;z-index:2}.___SCell_1xqzd_gg_.__borderLeft_1xqzd_gg_,.___SColumn_1xqzd_gg_.__borderLeft_1xqzd_gg_{border-left:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SCell_1xqzd_gg_.__borderRight_1xqzd_gg_,.___SColumn_1xqzd_gg_.__borderRight_1xqzd_gg_{border-right:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SSortWrapper_1xqzd_gg_{flex-shrink:99999;position:relative;flex-basis:0;height:100%;min-height:16px;opacity:0;transition:all .3s ease}.___SSortIcon_1xqzd_gg_,.___SSortWrapper_1xqzd_gg_:before{display:none;position:absolute;right:0;opacity:0;transition:opacity .3s ease}.___SSortWrapper_1xqzd_gg_:before{content:\"\";top:0;width:20px;height:100%}.___SSortIcon_1xqzd_gg_{fill:var(--intergalactic-icon-secondary-neutral-hover-active, #8a8e9b);top:calc(1em*1.25 - 16px);margin-left:var(--intergalactic-spacing-1x, 4px)}.___SColumn_1xqzd_gg_._use_primary_1xqzd_gg_ .___SSortWrapper_1xqzd_gg_:before{background:linear-gradient(270deg,var(--intergalactic-table-th-primary-cell-hover, #e0e1e9) 67.5%,rgba(224,225,233,0) 105%)}.___SColumn_1xqzd_gg_._use_secondary_1xqzd_gg_ .___SSortWrapper_1xqzd_gg_:before{background:linear-gradient(270deg,var(--intergalactic-table-th-secondary-cell, #ffffff) 67.5%,rgba(255,255,255,0) 105%)}.___SBodyWrapper_1xqzd_gg_{position:relative}.___SBody_1xqzd_gg_{display:flex;flex-direction:column;position:relative;min-width:-moz-fit-content;min-width:fit-content}.___SRow_1xqzd_gg_{display:flex;flex-direction:row;position:relative}.___SRow_1xqzd_gg_.__active_1xqzd_gg_>.___SCell_1xqzd_gg_:not(.__theme_1xqzd_gg_),.___SRow_1xqzd_gg_._theme_muted_1xqzd_gg_.__active_1xqzd_gg_>.___SCell_1xqzd_gg_:not(.__theme_1xqzd_gg_){background-color:var(--intergalactic-table-td-cell-hover, #f0f0f4)}@media (hover:hover){.___SRow_1xqzd_gg_ .___SCell_1xqzd_gg_:hover+.___SGroupCell_1xqzd_gg_ .___SCell_1xqzd_gg_:not(.__theme_1xqzd_gg_),.___SRow_1xqzd_gg_:hover>.___SCell_1xqzd_gg_:not(.__theme_1xqzd_gg_){background-color:var(--intergalactic-table-td-cell-hover, #f0f0f4)}}.___SRow_1xqzd_gg_._theme_muted_1xqzd_gg_ .___SCell_1xqzd_gg_:not(.__theme_1xqzd_gg_){background-color:var(--intergalactic-table-td-cell-unread, #f4f5f9)}@media (hover:hover){.___SRow_1xqzd_gg_._theme_muted_1xqzd_gg_ .___SCell_1xqzd_gg_:hover+.___SGroupCell_1xqzd_gg_ .___SCell_1xqzd_gg_:not(.__theme_1xqzd_gg_),.___SRow_1xqzd_gg_._theme_muted_1xqzd_gg_:hover>.___SCell_1xqzd_gg_:not(.__theme_1xqzd_gg_),.___SRow_1xqzd_gg_:hover>.___SCell_1xqzd_gg_._theme_muted_1xqzd_gg_{background-color:var(--intergalactic-table-td-cell-hover, #f0f0f4)}}.___SRow_1xqzd_gg_._theme_info_1xqzd_gg_ .___SCell_1xqzd_gg_:not(.__theme_1xqzd_gg_){background-color:var(--intergalactic-table-td-cell-selected, #e9f7ff)}.___SRow_1xqzd_gg_._theme_info_1xqzd_gg_.__active_1xqzd_gg_>.___SCell_1xqzd_gg_:not(.__theme_1xqzd_gg_){background-color:var(--intergalactic-table-td-cell-selected-hover, #c4e5fe)}@media (hover:hover){.___SRow_1xqzd_gg_._theme_info_1xqzd_gg_ .___SCell_1xqzd_gg_:hover+.___SGroupCell_1xqzd_gg_ .___SCell_1xqzd_gg_:not(.__theme_1xqzd_gg_),.___SRow_1xqzd_gg_._theme_info_1xqzd_gg_:hover>.___SCell_1xqzd_gg_:not(.__theme_1xqzd_gg_),.___SRow_1xqzd_gg_:hover>.___SCell_1xqzd_gg_._theme_info_1xqzd_gg_{background-color:var(--intergalactic-table-td-cell-selected-hover, #c4e5fe)}}.___SRow_1xqzd_gg_._theme_success_1xqzd_gg_ .___SCell_1xqzd_gg_:not(.__theme_1xqzd_gg_){background-color:var(--intergalactic-table-td-cell-new, #dbfee8)}.___SRow_1xqzd_gg_._theme_success_1xqzd_gg_.__active_1xqzd_gg_>.___SCell_1xqzd_gg_:not(.__theme_1xqzd_gg_){background-color:var(--intergalactic-table-td-cell-new-hover, #9ef2c9)}@media (hover:hover){.___SRow_1xqzd_gg_._theme_success_1xqzd_gg_ .___SCell_1xqzd_gg_:hover+.___SGroupCell_1xqzd_gg_ .___SCell_1xqzd_gg_:not(.__theme_1xqzd_gg_),.___SRow_1xqzd_gg_._theme_success_1xqzd_gg_:hover>.___SCell_1xqzd_gg_:not(.__theme_1xqzd_gg_),.___SRow_1xqzd_gg_:hover>.___SCell_1xqzd_gg_._theme_success_1xqzd_gg_{background-color:var(--intergalactic-table-td-cell-new-hover, #9ef2c9)}}.___SRow_1xqzd_gg_._theme_warning_1xqzd_gg_ .___SCell_1xqzd_gg_:not(.__theme_1xqzd_gg_){background-color:var(--intergalactic-table-td-cell-warning, #fff3d9)}.___SRow_1xqzd_gg_._theme_warning_1xqzd_gg_.__active_1xqzd_gg_>.___SCell_1xqzd_gg_:not(.__theme_1xqzd_gg_){background-color:var(--intergalactic-table-td-cell-warning-hover, #ffdca2)}@media (hover:hover){.___SRow_1xqzd_gg_._theme_warning_1xqzd_gg_ .___SCell_1xqzd_gg_:hover+.___SGroupCell_1xqzd_gg_ .___SCell_1xqzd_gg_:not(.__theme_1xqzd_gg_),.___SRow_1xqzd_gg_._theme_warning_1xqzd_gg_:hover>.___SCell_1xqzd_gg_:not(.__theme_1xqzd_gg_),.___SRow_1xqzd_gg_:hover>.___SCell_1xqzd_gg_._theme_warning_1xqzd_gg_{background-color:var(--intergalactic-table-td-cell-warning-hover, #ffdca2)}}.___SRow_1xqzd_gg_._theme_danger_1xqzd_gg_ .___SCell_1xqzd_gg_:not(.__theme_1xqzd_gg_){background-color:var(--intergalactic-table-td-cell-critical, #fff0f7)}.___SRow_1xqzd_gg_._theme_danger_1xqzd_gg_.__active_1xqzd_gg_>.___SCell_1xqzd_gg_:not(.__theme_1xqzd_gg_){background-color:var(--intergalactic-table-td-cell-critical-hover, #ffd7df)}@media (hover:hover){.___SRow_1xqzd_gg_._theme_danger_1xqzd_gg_ .___SCell_1xqzd_gg_:hover+.___SGroupCell_1xqzd_gg_ .___SCell_1xqzd_gg_:not(.__theme_1xqzd_gg_),.___SRow_1xqzd_gg_._theme_danger_1xqzd_gg_:hover>.___SCell_1xqzd_gg_:not(.__theme_1xqzd_gg_),.___SRow_1xqzd_gg_:hover>.___SCell_1xqzd_gg_._theme_danger_1xqzd_gg_{background-color:var(--intergalactic-table-td-cell-critical-hover, #ffd7df)}}.___SRow_1xqzd_gg_.__positioned_1xqzd_gg_{position:absolute}.___SCell_1xqzd_gg_{display:flex;flex:1;flex-basis:auto;font-size:var(--intergalactic-fs-200, 14px);line-height:var(--intergalactic-lh-200, 142%);color:var(--intergalactic-text-primary, #191b23);box-sizing:border-box;border-bottom:1px solid var(--intergalactic-border-secondary, #e0e1e9);overflow:hidden;white-space:nowrap}.___SCell_1xqzd_gg_._use_primary_1xqzd_gg_{padding:var(--intergalactic-spacing-3x, 12px);min-height:45px;background-color:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SCell_1xqzd_gg_._use_secondary_1xqzd_gg_{padding:var(--intergalactic-spacing-2x, 8px);min-height:37px;background-color:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SCell_1xqzd_gg_.__fixed_1xqzd_gg_{position:sticky;z-index:1}.___SCell_1xqzd_gg_._theme_muted_1xqzd_gg_{background-color:var(--intergalactic-table-td-cell-unread, #f4f5f9)}.___SCell_1xqzd_gg_._theme_info_1xqzd_gg_{background-color:var(--intergalactic-table-td-cell-selected, #e9f7ff)}.___SCell_1xqzd_gg_._theme_success_1xqzd_gg_{background-color:var(--intergalactic-table-td-cell-new, #dbfee8)}.___SCell_1xqzd_gg_._theme_warning_1xqzd_gg_{background-color:var(--intergalactic-table-td-cell-warning, #fff3d9)}.___SCell_1xqzd_gg_._theme_danger_1xqzd_gg_{background-color:var(--intergalactic-table-td-cell-critical, #fff0f7)}.___SScrollAreaBar_1xqzd_gg_._orientation_horizontal_1xqzd_gg_{position:sticky;bottom:0;left:0;margin-top:calc(-1*var(--intergalactic-spacing-3x, 12px));z-index:2}.___SScrollAreaBar_1xqzd_gg_._orientation_vertical_1xqzd_gg_{width:12px}.___SScrollAreaBar_1xqzd_gg_._orientation_horizontal_1xqzd_gg_{margin-left:calc(var(--left_1xqzd) + var(--intergalactic-spacing-1x, 4px));margin-right:calc(var(--right_1xqzd) + var(--intergalactic-spacing-1x, 4px));width:calc(100% - var(--offsetSum_1xqzd) - 8px)}.___SHeightHold_1xqzd_gg_{position:absolute;top:0;width:100%;pointer-events:none;z-index:-1}" /*__inner_css_end__*/, "1xqzd_gg_") /*__reshadow_css_end__*/, {
32
+ "__SDataTable": "___SDataTable_1xqzd_gg_",
33
+ "_compact": "__compact_1xqzd_gg_",
34
+ "__SColumn": "___SColumn_1xqzd_gg_",
35
+ "__SCell": "___SCell_1xqzd_gg_",
36
+ "__SHeadWrapper": "___SHeadWrapper_1xqzd_gg_",
37
+ "_sticky": "__sticky_1xqzd_gg_",
38
+ "__SHead": "___SHead_1xqzd_gg_",
39
+ "_hidden": "__hidden_1xqzd_gg_",
40
+ "_use_primary": "_use_primary_1xqzd_gg_",
41
+ "_use_secondary": "_use_secondary_1xqzd_gg_",
42
+ "_group": "__group_1xqzd_gg_",
43
+ "_use": "__use_1xqzd_gg_",
44
+ "_groupHead": "__groupHead_1xqzd_gg_",
45
+ "_sortable": "__sortable_1xqzd_gg_",
46
+ "__SSortWrapper": "___SSortWrapper_1xqzd_gg_",
47
+ "__SSortIcon": "___SSortIcon_1xqzd_gg_",
48
+ "_active": "__active_1xqzd_gg_",
49
+ "_resizable": "__resizable_1xqzd_gg_",
50
+ "_fixed": "__fixed_1xqzd_gg_",
51
+ "_borderLeft": "__borderLeft_1xqzd_gg_",
52
+ "_borderRight": "__borderRight_1xqzd_gg_",
53
+ "__SBodyWrapper": "___SBodyWrapper_1xqzd_gg_",
54
+ "__SBody": "___SBody_1xqzd_gg_",
55
+ "__SRow": "___SRow_1xqzd_gg_",
56
+ "_theme": "__theme_1xqzd_gg_",
57
+ "__SGroupCell": "___SGroupCell_1xqzd_gg_",
58
+ "_theme_muted": "_theme_muted_1xqzd_gg_",
59
+ "_theme_info": "_theme_info_1xqzd_gg_",
60
+ "_theme_success": "_theme_success_1xqzd_gg_",
61
+ "_theme_warning": "_theme_warning_1xqzd_gg_",
62
+ "_theme_danger": "_theme_danger_1xqzd_gg_",
63
+ "_positioned": "__positioned_1xqzd_gg_",
64
+ "__SScrollAreaBar": "___SScrollAreaBar_1xqzd_gg_",
65
+ "_orientation_horizontal": "_orientation_horizontal_1xqzd_gg_",
66
+ "_orientation_vertical": "_orientation_vertical_1xqzd_gg_",
67
+ "--left": "--left_1xqzd",
68
+ "--right": "--right_1xqzd",
69
+ "--offsetSum": "--offsetSum_1xqzd",
70
+ "__SHeightHold": "___SHeightHold_1xqzd_gg_"
71
71
  });
72
- var REVERSED_SORT_DIRECTION = {
72
+ var reversedSortDirection = {
73
73
  desc: 'asc',
74
74
  asc: 'desc'
75
75
  };
76
- var DEFAULT_SORT_DIRECTION = 'desc';
76
+ var defaultSortDirection = 'desc';
77
77
  var ROW_GROUP = Symbol('ROW_GROUP');
78
78
  exports.ROW_GROUP = ROW_GROUP;
79
79
  var cssVarReg = /[:;]/g;
@@ -111,7 +111,7 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
111
111
  var column = _this.columns.find(function (column) {
112
112
  return column.name === name;
113
113
  });
114
- return (0, _fire["default"])((0, _assertThisInitialized2["default"])(_this), 'onSortChange', [column.name, column.active ? REVERSED_SORT_DIRECTION[column.sortDirection] : column.sortDirection], event);
114
+ return (0, _fire["default"])((0, _assertThisInitialized2["default"])(_this), 'onSortChange', [column.name, column.active ? reversedSortDirection[column.sortDirection] : column.sortDirection], event);
115
115
  });
116
116
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handlerResize", function () {
117
117
  _this.forceUpdate();
@@ -213,7 +213,7 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
213
213
  sortable: sortable,
214
214
  borderLeft: (lastColumnChildren === null || lastColumnChildren === void 0 ? void 0 : lastColumnChildren.borderRight) === true ? false : vBorders,
215
215
  borderRight: vBorders,
216
- sortDirection: sort[0] === name ? sort[1] : (column === null || column === void 0 ? void 0 : column.sortDirection) || (typeof sortable == 'string' ? sortable : DEFAULT_SORT_DIRECTION),
216
+ sortDirection: sort[0] === name ? sort[1] : (column === null || column === void 0 ? void 0 : column.sortDirection) || (typeof sortable == 'string' ? sortable : defaultSortDirection),
217
217
  props: (0, _objectSpread2["default"])((0, _objectSpread2["default"])({
218
218
  name: name,
219
219
  flex: flex === 'inherit' ? undefined : flex
@@ -1 +1 @@
1
- {"version":3,"file":"DataTable.js","names":["_core","_interopRequireWildcard","require","_react","_interopRequireDefault","_flexBox","_syncScroll","_assignProps2","_fire","_utils","_Head","_Body","_uniqueID","_excluded","_excluded2","style","sstyled","insert","REVERSED_SORT_DIRECTION","desc","asc","DEFAULT_SORT_DIRECTION","ROW_GROUP","Symbol","exports","cssVarReg","createCssVarForWidth","name","concat","replace","setBorderGroupColumns","columns","side","firstColumn","lastColumn","length","borderLeft","borderRight","RootDefinitionTable","_Component","_inherits2","_super","_createSuper2","props","_this","_classCallCheck2","call","_defineProperty2","_assertThisInitialized2","React","createRef","event","column","find","fire","active","sortDirection","forceUpdate","_this$tableRef","_this$tableRef$curren","tableRef","current","scrollIntoView","block","inline","behavior","syncScroll","scrollBodyRef","scrollHeadRef","_createClass2","key","value","setVarStyle","_iterator","_createForOfIteratorHelper2","_step","s","n","done","setVar","_this$tableRef$curren2","setProperty","varWidth","width","err","e","f","childrenToColumns","children","_this2","options","arguments","undefined","fixed","sort","asProps","columnsChildren","Children","forEach","child","_column$props","isValidElement","type","DefinitionTable","Column","_ref3","_ref3$fixed","resizable","sortable","flex","vBorders","_objectWithoutProperties2","lastColumnChildren","isGroup","some","c","flattenColumns","map","_ref4","join","toArray","filter","columnChildren","_this$props$ref$curre","ref","getBoundingClientRect","_objectSpread2","forwardRef","parentColumns","unshift","push","getHeadProps","_this$asProps","use","uid","$onSortClick","callAllEventHandlers","handlerSortClick","scrollToUp","onResize","handlerResize","$scrollRef","getBodyProps","_this$asProps2","data","uniqueKey","cellPropsLayers","rowPropsLayers","_ref5","other","Cell","split","childrenPropsGetter","Row","rows","dataToRows","_this3","parseData","exclude","row","groupByName","columnsWithoutRowGroup","rowKey","columnNames","_iterator2","_step2","groupedColumns","groupData","rowsGroup","rowsGroupedNames","Object","fromEntries","subRow","keys","flat","cells","_groupByName$column$n","cssVar","flatRowData","componentDidUpdate","render","_ref","_ref2","SDataTable","Box","_this$asProps3","styles","createElement","cn","assignProps","Component","uniqueIDEnhancement","ComponentDefinition","createComponent","Head","Body","_default"],"sources":["../../src/DataTable.tsx"],"sourcesContent":["import React from 'react';\nimport { Property } from 'csstype';\nimport createComponent, { Component, PropGetterFn, Root, sstyled } from '@semcore/core';\nimport { Box, IBoxProps, IFlexProps } 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 type {\n Column,\n NestedCells,\n PropsLayer,\n PseudoChildPropsGetter,\n RowData,\n SortDirection,\n} from './types';\nimport Head from './Head';\nimport Body from './Body';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\n\nimport style from './style/data-table.shadow.css';\n\nconst REVERSED_SORT_DIRECTION: { [direction in SortDirection]: SortDirection } = {\n desc: 'asc',\n asc: 'desc',\n};\nconst DEFAULT_SORT_DIRECTION: SortDirection = 'desc';\n\nconst ROW_GROUP = Symbol('ROW_GROUP');\n\nconst cssVarReg = /[:;]/g;\n\nconst createCssVarForWidth = (name: string) => {\n return `--${name.replace(cssVarReg, '_')}_width`;\n};\n\ntype AsProps = {\n use: 'primary' | 'secondary';\n sort: SortDirection[];\n data: RowData[];\n uniqueKey: string;\n uid?: string;\n};\n\ntype HeadAsProps = {\n children: React.ReactChild;\n uid: string;\n};\ntype BodyAsProps = {\n children: React.ReactChild;\n uid: string;\n};\n\n/* utils type */\ntype CProps<Props, Ctx = {}, UCProps = {}> = Props & {\n children?: ((props: Props & Ctx, handlers: UCProps) => React.ReactNode) | React.ReactNode;\n};\ntype ReturnEl = React.ReactElement | null;\ntype ChildRenderFn<Props> = Props & {\n children?: (props: Props, column: DataTableData, index: number) => { [key: string]: unknown };\n};\n/* utils type */\n\nexport type DataTableData = { [key: string]: unknown };\nexport type DataTableSort = [string, 'desc' | 'asc'];\nexport type DataTableTheme = 'muted' | 'info' | 'success' | 'warning' | 'danger';\nexport type DataTableUse = 'primary' | 'secondary';\nexport type DataTableRow = DataTableCell[];\nexport type DataTableCell = {\n /** Name of column */\n name: string;\n /** Data of column */\n data: React.ReactNode;\n [key: string]: unknown;\n};\n\nexport interface IDataTableProps extends IBoxProps {\n /** Theme for table\n * @default primary\n * */\n use?: DataTableUse;\n /** Data for table */\n data?: DataTableData[];\n /** Active sort object */\n sort?: DataTableSort;\n /** Handler call when will request change sort */\n onSortChange?: (sort: DataTableSort, e?: React.SyntheticEvent) => void;\n /** Field name in one data entity that is unique accross all set of data\n * @default id\n */\n uniqueKey?: string;\n}\n\nexport interface IDataTableHeadProps extends IBoxProps {\n /** Sticky header table\n * @deprecated\n * */\n sticky?: boolean;\n\n /** Hidden header */\n hidden?: boolean;\n\n /** Disabled scroll */\n disabledScroll?: boolean;\n}\n\nexport interface IDataTableColumnProps extends IFlexProps {\n /** Unique name column */\n name?: string;\n /** Enable sort for column also if you pass string you can set default sort */\n sortable?: boolean | 'desc' | 'asc';\n /** Enable resize for column\n * @ignore */\n resizable?: boolean;\n /** Fixed column on the left/right */\n fixed?: 'left' | 'right';\n /** Fields to control the size of the column. */\n flex?: Property.Flex | 'inherit';\n /** Add vertical borders */\n vBorders?: boolean;\n /** Add vertical border to the right side */\n borderRight?: boolean;\n /** Add vertical border to the left side */\n borderLeft?: boolean;\n /** Make cells less */\n compact?: boolean;\n}\n\nexport interface IDataTableBodyProps extends IBoxProps {\n /** Rows table */\n rows?: DataTableRow[];\n /** When enabled, only visually acessable rows are rendered.\n * `tollerance` property controls how many rows outside of viewport are render.\n * `rowHeight` fixes the rows height if it has known. If not provided, first row node height is measured.\n * @default { tollerance: 2 }\n */\n virtualScroll?: boolean | { tollerance?: number; rowHeight?: number };\n /**\n * Called every time user scrolls area\n */\n onScroll?: (event: React.SyntheticEvent<HTMLElement>) => void;\n /** Disabled scroll */\n disabledScroll?: boolean;\n}\n\nexport interface IDataTableRowProps extends IBoxProps {\n /** Theme for row */\n theme?: DataTableTheme;\n /** Displays row as active/hover */\n active?: boolean;\n}\n\nexport interface IDataTableCellProps extends IFlexProps {\n /** Unique name column or columns separated by / */\n name: string;\n /** Theme for cell */\n theme?: DataTableTheme;\n}\n\nfunction setBorderGroupColumns(columns: Column[], side?: string) {\n const firstColumn = columns[0];\n const lastColumn = columns[columns.length - 1];\n if (firstColumn && (!side || side === 'left')) {\n firstColumn.borderLeft = true;\n if (firstColumn.columns) {\n setBorderGroupColumns(firstColumn.columns, 'left');\n }\n }\n if (lastColumn && (!side || side === 'right')) {\n lastColumn.borderRight = true;\n if (lastColumn.columns) {\n setBorderGroupColumns(lastColumn.columns, 'right');\n }\n }\n}\n\nclass RootDefinitionTable extends Component<AsProps> {\n static displayName = 'DefinitionTable';\n\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = {\n use: 'primary',\n uniqueKey: 'id',\n sort: [],\n data: [],\n } as AsProps;\n\n columns: Column[] = [];\n\n tableRef = React.createRef<HTMLElement>();\n scrollBodyRef: null | ReturnType<ReturnType<typeof syncScroll>> = null;\n scrollHeadRef: null | ReturnType<ReturnType<typeof syncScroll>> = null;\n\n constructor(props: AsProps) {\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: string, event: React.MouseEvent) => {\n const column = this.columns.find((column) => column.name === name)!;\n return fire(\n this,\n 'onSortChange',\n [\n column.name,\n column.active ? REVERSED_SORT_DIRECTION[column.sortDirection] : column.sortDirection,\n ],\n event,\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: Column[]) {\n for (const column of columns) {\n if (column.setVar) {\n this.tableRef.current?.style.setProperty(column.varWidth, `${column.width}px`);\n }\n }\n }\n\n childrenToColumns(\n children: React.ReactNode,\n options: { fixed?: 'left' | 'right' } = { fixed: undefined },\n ) {\n const { sort } = this.asProps;\n const columnsChildren: Column[] = [];\n React.Children.forEach(children, (child) => {\n if (!React.isValidElement(child)) return;\n if (child.type !== DefinitionTable.Column) return;\n\n let {\n children,\n name,\n fixed = options.fixed,\n resizable,\n sortable,\n flex,\n vBorders,\n active,\n ...props\n } = child.props as Column['props'];\n const lastColumnChildren = columnsChildren[columnsChildren.length - 1];\n const isGroup = !name;\n let columns: Column[] | undefined;\n\n if (isGroup) {\n columns = this.childrenToColumns(children, { fixed });\n active = typeof active === 'boolean' ? active : columns.some((c) => c.active);\n\n if (vBorders) {\n setBorderGroupColumns(columns);\n }\n\n name = flattenColumns(columns)\n .map(({ name }) => 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((column) => column.name === name);\n const columnChildren = {\n get width() {\n // @ts-ignore\n return this.props.ref.current?.getBoundingClientRect().width || 0;\n },\n name,\n varWidth: createCssVarForWidth(name),\n setVar: flex !== 'inherit',\n fixed,\n resizable,\n active: typeof active === 'boolean' ? active : sort[0] === name,\n sortable,\n borderLeft: lastColumnChildren?.borderRight === true ? false : vBorders,\n borderRight: vBorders,\n sortDirection:\n sort[0] === name\n ? sort[1]\n : column?.sortDirection ||\n (typeof sortable == 'string' ? sortable : DEFAULT_SORT_DIRECTION),\n props: {\n name,\n flex: flex === 'inherit' ? undefined : flex,\n ...props,\n // @ts-ignore\n forwardRef: child.ref,\n children,\n ref: column?.props?.ref || React.createRef(),\n },\n parentColumns: [],\n } as unknown as Column;\n\n if (columns) {\n columnChildren.columns = columns;\n columns.forEach((column) => column.parentColumns.unshift(columnChildren));\n }\n columnsChildren.push(columnChildren);\n });\n return columnsChildren;\n }\n\n getHeadProps(props: HeadAsProps) {\n const { use, uid } = this.asProps;\n const columnsChildren = this.childrenToColumns(props.children);\n\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 uid,\n };\n }\n\n getBodyProps(props: BodyAsProps) {\n const { data, use, uniqueKey, uid } = this.asProps;\n const cellPropsLayers: { [columnName: string]: PropsLayer[] } = {};\n const rowPropsLayers: PropsLayer[] = [];\n\n React.Children.forEach(props.children, (child) => {\n if (React.isValidElement(child)) {\n const { name, children, ...other } = child.props as {\n name?: string;\n children?: PseudoChildPropsGetter;\n } & { [propName: string]: unknown };\n if (child.type === DefinitionTable.Cell && name) {\n name.split('/').forEach((name) => {\n cellPropsLayers[name] = cellPropsLayers[name] || [];\n cellPropsLayers[name].push({\n ...other,\n childrenPropsGetter: children,\n });\n });\n }\n if (child.type === DefinitionTable.Row) {\n rowPropsLayers.push({\n ...other,\n childrenPropsGetter: children,\n });\n }\n }\n });\n\n return {\n columns: this.columns,\n rows: this.dataToRows(data, cellPropsLayers),\n uniqueKey,\n use,\n rowPropsLayers,\n $scrollRef: this.scrollBodyRef,\n uid,\n };\n }\n\n dataToRows(data: RowData[], cellPropsLayers: { [columnName: string]: PropsLayer[] }) {\n const parseData = (data: RowData[], exclude: { [columnName: string]: true }) =>\n data.map((row) => {\n const groupByName: {\n [columnName: string]: {\n groupedColumns: string[];\n groupData: { [columnName: string]: unknown };\n };\n } = {};\n const columnsWithoutRowGroup: { [columnname: string]: true } = {};\n for (const rowKey in row) {\n const columnNames = rowKey.split('/');\n if (columnNames.length >= 2) {\n for (const column of columnNames) {\n groupByName[column] = {\n groupedColumns: columnNames,\n groupData: row[rowKey] as { [columnName: string]: unknown },\n };\n columnsWithoutRowGroup[column] = true;\n }\n } else {\n columnsWithoutRowGroup[rowKey] = true;\n }\n }\n\n const rowsGroup = row[ROW_GROUP] || [];\n const rowsGroupedNames = Object.fromEntries(\n rowsGroup\n .map((subRow) => Object.keys(subRow))\n .flat()\n .map((key) => key.split('/'))\n .flat()\n .map((key) => [key, true]),\n );\n\n let isGroup = false;\n\n const cells: NestedCells = this.columns\n .map((column) => {\n if (groupByName[column.name]) {\n const { groupedColumns, groupData } = groupByName[column.name];\n if (groupedColumns[0] === column.name) {\n return {\n name: groupedColumns.join('/'),\n cssVar: groupedColumns.map(createCssVarForWidth),\n fixed: column.fixed,\n data: groupData,\n cellPropsLayers: cellPropsLayers[column.name] || [],\n };\n }\n } else if (column.name in row) {\n return {\n name: column.name,\n cssVar: column.varWidth,\n fixed: column.fixed,\n data: row[column.name],\n cellPropsLayers: cellPropsLayers[column.name] || [],\n };\n } else if (!isGroup && rowsGroupedNames[column.name]) {\n // TODO: make it work not only with first group\n isGroup = true;\n return parseData(rowsGroup, {\n ...exclude,\n ...columnsWithoutRowGroup,\n });\n } else if (!exclude[column.name] && !rowsGroupedNames[column.name]) {\n // add empty cell if it is not present in data\n return {\n name: column.name,\n cssVar: column.varWidth,\n fixed: column.fixed,\n data: null,\n cellPropsLayers: cellPropsLayers[column.name] || [],\n };\n }\n })\n .filter((column) => column)\n .map((column) => column!);\n\n cells.flatRowData = row;\n return cells;\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, data } = this.asProps;\n\n return sstyled(styles)(\n <SDataTable\n render={Box}\n __excludeProps={['data']}\n ref={this.tableRef}\n role=\"table\"\n aria-rowcount={(data ?? []).length}\n >\n <Children />\n </SDataTable>,\n );\n }\n}\n\ninterface IDataTableCtx {\n getHeadProps: PropGetterFn;\n getBodyProps: PropGetterFn;\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) as (<T>(props: CProps<IDataTableProps & T, IDataTableCtx>) => ReturnEl) & {\n Head: <T>(props: IDataTableHeadProps & T) => ReturnEl;\n Body: <T>(props: IDataTableBodyProps & T) => ReturnEl;\n Column: <T>(props: IDataTableColumnProps & T) => ReturnEl;\n Cell: <T>(props: ChildRenderFn<IDataTableCellProps & T>) => ReturnEl;\n Row: <T>(props: ChildRenderFn<IDataTableRowProps & T>) => ReturnEl;\n};\n\nexport { ROW_GROUP };\nexport default DefinitionTable;\n"],"mappings":"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"}
1
+ {"version":3,"file":"DataTable.js","names":["_core","_interopRequireWildcard","require","_react","_interopRequireDefault","_flexBox","_syncScroll","_assignProps2","_fire","_utils","_Head","_Body","_uniqueID","_excluded","_excluded2","style","sstyled","insert","reversedSortDirection","desc","asc","defaultSortDirection","ROW_GROUP","Symbol","exports","cssVarReg","createCssVarForWidth","name","concat","replace","setBorderGroupColumns","columns","side","firstColumn","lastColumn","length","borderLeft","borderRight","RootDefinitionTable","_Component","_inherits2","_super","_createSuper2","props","_this","_classCallCheck2","call","_defineProperty2","_assertThisInitialized2","React","createRef","event","column","find","fire","active","sortDirection","forceUpdate","_this$tableRef","_this$tableRef$curren","tableRef","current","scrollIntoView","block","inline","behavior","syncScroll","scrollBodyRef","scrollHeadRef","_createClass2","key","value","setVarStyle","_iterator","_createForOfIteratorHelper2","_step","s","n","done","setVar","_this$tableRef$curren2","setProperty","varWidth","width","err","e","f","childrenToColumns","children","_this2","options","arguments","undefined","fixed","sort","asProps","columnsChildren","Children","forEach","child","_column$props","isValidElement","type","DefinitionTable","Column","_ref3","_ref3$fixed","resizable","sortable","flex","vBorders","_objectWithoutProperties2","lastColumnChildren","isGroup","some","c","flattenColumns","map","_ref4","join","toArray","filter","columnChildren","_this$props$ref$curre","ref","getBoundingClientRect","_objectSpread2","forwardRef","parentColumns","unshift","push","getHeadProps","_this$asProps","use","uid","$onSortClick","callAllEventHandlers","handlerSortClick","scrollToUp","onResize","handlerResize","$scrollRef","getBodyProps","_this$asProps2","data","uniqueKey","cellPropsLayers","rowPropsLayers","_ref5","other","Cell","split","childrenPropsGetter","Row","rows","dataToRows","_this3","parseData","exclude","row","groupByName","columnsWithoutRowGroup","rowKey","columnNames","_iterator2","_step2","groupedColumns","groupData","rowsGroup","rowsGroupedNames","Object","fromEntries","subRow","keys","flat","cells","_groupByName$column$n","cssVar","flatRowData","componentDidUpdate","render","_ref","_ref2","SDataTable","Box","_this$asProps3","styles","createElement","cn","assignProps","Component","uniqueIDEnhancement","ComponentDefinition","createComponent","Head","Body","_default"],"sources":["../../src/DataTable.tsx"],"sourcesContent":["import React from 'react';\nimport { Property } from 'csstype';\nimport createComponent, { Component, PropGetterFn, Root, sstyled } from '@semcore/core';\nimport { Box, IBoxProps, IFlexProps } 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 type {\n Column,\n NestedCells,\n PropsLayer,\n PseudoChildPropsGetter,\n RowData,\n SortDirection,\n} from './types';\nimport Head from './Head';\nimport Body from './Body';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\n\nimport style from './style/data-table.shadow.css';\n\nconst reversedSortDirection: { [direction in SortDirection]: SortDirection } = {\n desc: 'asc',\n asc: 'desc',\n};\nconst defaultSortDirection: SortDirection = 'desc';\n\nconst ROW_GROUP = Symbol('ROW_GROUP');\n\nconst cssVarReg = /[:;]/g;\n\nconst createCssVarForWidth = (name: string) => {\n return `--${name.replace(cssVarReg, '_')}_width`;\n};\n\ntype AsProps = {\n use: 'primary' | 'secondary';\n sort: SortDirection[];\n data: RowData[];\n uniqueKey: string;\n uid?: string;\n};\n\ntype HeadAsProps = {\n children: React.ReactChild;\n uid: string;\n};\ntype BodyAsProps = {\n children: React.ReactChild;\n uid: string;\n};\n\n/* utils type */\ntype CProps<Props, Ctx = {}, UCProps = {}> = Props & {\n children?: ((props: Props & Ctx, handlers: UCProps) => React.ReactNode) | React.ReactNode;\n};\ntype ReturnEl = React.ReactElement | null;\ntype ChildRenderFn<Props, DataTableData extends { [key: string]: unknown }[]> = Props & {\n children?: (props: Props, column: DataTableData[0], index: number) => Partial<Props>;\n};\n/* utils type */\n\nexport type DataTableData = { [key: string]: unknown };\nexport type DataTableSort<Columns extends string | number | symbol = string> = [\n sortBy: Columns,\n sortDirection: 'desc' | 'asc',\n];\nexport type DataTableTheme = 'muted' | 'info' | 'success' | 'warning' | 'danger';\nexport type DataTableUse = 'primary' | 'secondary';\nexport type DataTableRow = DataTableCell[];\nexport type DataTableCell = {\n /** Name of column */\n name: string;\n /** Data of column */\n data: React.ReactNode;\n [key: string]: unknown;\n};\n\nexport interface IDataTableProps<\n DataTableData extends { [key: string]: any }[] = { [key: string]: unknown }[],\n> extends IBoxProps {\n /** Theme for table\n * @default primary\n * */\n use?: DataTableUse;\n /** Data for table */\n data?: DataTableData;\n /** Active sort object */\n sort?: DataTableSort<keyof DataTableData[0]>;\n /** Handler call when will request change sort */\n onSortChange?: (sort: DataTableSort<keyof DataTableData[0]>, e?: React.SyntheticEvent) => void;\n /** Field name in one data entity that is unique accross all set of data\n * @default id\n */\n uniqueKey?: keyof DataTableData[0];\n}\n\nexport interface IDataTableHeadProps extends IBoxProps {\n /** Sticky header table\n * @deprecated\n * */\n sticky?: boolean;\n\n /** Hidden header */\n hidden?: boolean;\n\n /** Disabled scroll */\n disabledScroll?: boolean;\n}\n\nexport interface IDataTableColumnProps extends IFlexProps {\n /** Unique name column */\n name?: string;\n /** Enable sort for column also if you pass string you can set default sort */\n sortable?: boolean | 'desc' | 'asc';\n /** Enable resize for column\n * @ignore */\n resizable?: boolean;\n /** Fixed column on the left/right */\n fixed?: 'left' | 'right';\n /** Fields to control the size of the column. */\n flex?: Property.Flex | 'inherit';\n /** Add vertical borders */\n vBorders?: boolean;\n /** Add vertical border to the right side */\n borderRight?: boolean;\n /** Add vertical border to the left side */\n borderLeft?: boolean;\n /** Make cells less */\n compact?: boolean;\n}\n\nexport interface IDataTableBodyProps extends IBoxProps {\n /** Rows table */\n rows?: DataTableRow[];\n /** When enabled, only visually acessable rows are rendered.\n * `tollerance` property controls how many rows outside of viewport are render.\n * `rowHeight` fixes the rows height if it has known. If not provided, first row node height is measured.\n * @default { tollerance: 2 }\n */\n virtualScroll?: boolean | { tollerance?: number; rowHeight?: number };\n /**\n * Called every time user scrolls area\n */\n onScroll?: (event: React.SyntheticEvent<HTMLElement>) => void;\n /** Disabled scroll */\n disabledScroll?: boolean;\n}\n\nexport interface IDataTableRowProps extends IBoxProps {\n /** Theme for row */\n theme?: DataTableTheme;\n /** Displays row as active/hover */\n active?: boolean;\n}\n\nexport interface IDataTableCellProps extends IFlexProps {\n /** Unique name column or columns separated by / */\n name: string;\n /** Theme for cell */\n theme?: DataTableTheme;\n}\n\nfunction setBorderGroupColumns(columns: Column[], side?: string) {\n const firstColumn = columns[0];\n const lastColumn = columns[columns.length - 1];\n if (firstColumn && (!side || side === 'left')) {\n firstColumn.borderLeft = true;\n if (firstColumn.columns) {\n setBorderGroupColumns(firstColumn.columns, 'left');\n }\n }\n if (lastColumn && (!side || side === 'right')) {\n lastColumn.borderRight = true;\n if (lastColumn.columns) {\n setBorderGroupColumns(lastColumn.columns, 'right');\n }\n }\n}\n\nclass RootDefinitionTable extends Component<AsProps> {\n static displayName = 'DefinitionTable';\n\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = {\n use: 'primary',\n uniqueKey: 'id',\n sort: [],\n data: [],\n } as AsProps;\n\n columns: Column[] = [];\n\n tableRef = React.createRef<HTMLElement>();\n scrollBodyRef: null | ReturnType<ReturnType<typeof syncScroll>> = null;\n scrollHeadRef: null | ReturnType<ReturnType<typeof syncScroll>> = null;\n\n constructor(props: AsProps) {\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: string, event: React.MouseEvent) => {\n const column = this.columns.find((column) => column.name === name)!;\n return fire(\n this,\n 'onSortChange',\n [\n column.name,\n column.active ? reversedSortDirection[column.sortDirection] : column.sortDirection,\n ],\n event,\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: Column[]) {\n for (const column of columns) {\n if (column.setVar) {\n this.tableRef.current?.style.setProperty(column.varWidth, `${column.width}px`);\n }\n }\n }\n\n childrenToColumns(\n children: React.ReactNode,\n options: { fixed?: 'left' | 'right' } = { fixed: undefined },\n ) {\n const { sort } = this.asProps;\n const columnsChildren: Column[] = [];\n React.Children.forEach(children, (child) => {\n if (!React.isValidElement(child)) return;\n if (child.type !== DefinitionTable.Column) return;\n\n let {\n children,\n name,\n fixed = options.fixed,\n resizable,\n sortable,\n flex,\n vBorders,\n active,\n ...props\n } = child.props as Column['props'];\n const lastColumnChildren = columnsChildren[columnsChildren.length - 1];\n const isGroup = !name;\n let columns: Column[] | undefined;\n\n if (isGroup) {\n columns = this.childrenToColumns(children, { fixed });\n active = typeof active === 'boolean' ? active : columns.some((c) => c.active);\n\n if (vBorders) {\n setBorderGroupColumns(columns);\n }\n\n name = flattenColumns(columns)\n .map(({ name }) => 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((column) => column.name === name);\n const columnChildren = {\n get width() {\n // @ts-ignore\n return this.props.ref.current?.getBoundingClientRect().width || 0;\n },\n name,\n varWidth: createCssVarForWidth(name),\n setVar: flex !== 'inherit',\n fixed,\n resizable,\n active: typeof active === 'boolean' ? active : sort[0] === name,\n sortable,\n borderLeft: lastColumnChildren?.borderRight === true ? false : vBorders,\n borderRight: vBorders,\n sortDirection:\n sort[0] === name\n ? sort[1]\n : column?.sortDirection ||\n (typeof sortable == 'string' ? sortable : defaultSortDirection),\n props: {\n name,\n flex: flex === 'inherit' ? undefined : flex,\n ...props,\n // @ts-ignore\n forwardRef: child.ref,\n children,\n ref: column?.props?.ref || React.createRef(),\n },\n parentColumns: [],\n } as unknown as Column;\n\n if (columns) {\n columnChildren.columns = columns;\n columns.forEach((column) => column.parentColumns.unshift(columnChildren));\n }\n columnsChildren.push(columnChildren);\n });\n return columnsChildren;\n }\n\n getHeadProps(props: HeadAsProps) {\n const { use, uid } = this.asProps;\n const columnsChildren = this.childrenToColumns(props.children);\n\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 uid,\n };\n }\n\n getBodyProps(props: BodyAsProps) {\n const { data, use, uniqueKey, uid } = this.asProps;\n const cellPropsLayers: { [columnName: string]: PropsLayer[] } = {};\n const rowPropsLayers: PropsLayer[] = [];\n\n React.Children.forEach(props.children, (child) => {\n if (React.isValidElement(child)) {\n const { name, children, ...other } = child.props as {\n name?: string;\n children?: PseudoChildPropsGetter;\n } & { [propName: string]: unknown };\n if (child.type === DefinitionTable.Cell && name) {\n name.split('/').forEach((name) => {\n cellPropsLayers[name] = cellPropsLayers[name] || [];\n cellPropsLayers[name].push({\n ...other,\n childrenPropsGetter: children,\n });\n });\n }\n if (child.type === DefinitionTable.Row) {\n rowPropsLayers.push({\n ...other,\n childrenPropsGetter: children,\n });\n }\n }\n });\n\n return {\n columns: this.columns,\n rows: this.dataToRows(data, cellPropsLayers),\n uniqueKey,\n use,\n rowPropsLayers,\n $scrollRef: this.scrollBodyRef,\n uid,\n };\n }\n\n dataToRows(data: RowData[], cellPropsLayers: { [columnName: string]: PropsLayer[] }) {\n const parseData = (data: RowData[], exclude: { [columnName: string]: true }) =>\n data.map((row) => {\n const groupByName: {\n [columnName: string]: {\n groupedColumns: string[];\n groupData: { [columnName: string]: unknown };\n };\n } = {};\n const columnsWithoutRowGroup: { [columnname: string]: true } = {};\n for (const rowKey in row) {\n const columnNames = rowKey.split('/');\n if (columnNames.length >= 2) {\n for (const column of columnNames) {\n groupByName[column] = {\n groupedColumns: columnNames,\n groupData: row[rowKey] as { [columnName: string]: unknown },\n };\n columnsWithoutRowGroup[column] = true;\n }\n } else {\n columnsWithoutRowGroup[rowKey] = true;\n }\n }\n\n const rowsGroup = row[ROW_GROUP] || [];\n const rowsGroupedNames = Object.fromEntries(\n rowsGroup\n .map((subRow) => Object.keys(subRow))\n .flat()\n .map((key) => key.split('/'))\n .flat()\n .map((key) => [key, true]),\n );\n\n let isGroup = false;\n\n const cells: NestedCells = this.columns\n .map((column) => {\n if (groupByName[column.name]) {\n const { groupedColumns, groupData } = groupByName[column.name];\n if (groupedColumns[0] === column.name) {\n return {\n name: groupedColumns.join('/'),\n cssVar: groupedColumns.map(createCssVarForWidth),\n fixed: column.fixed,\n data: groupData,\n cellPropsLayers: cellPropsLayers[column.name] || [],\n };\n }\n } else if (column.name in row) {\n return {\n name: column.name,\n cssVar: column.varWidth,\n fixed: column.fixed,\n data: row[column.name],\n cellPropsLayers: cellPropsLayers[column.name] || [],\n };\n } else if (!isGroup && rowsGroupedNames[column.name]) {\n // TODO: make it work not only with first group\n isGroup = true;\n return parseData(rowsGroup, {\n ...exclude,\n ...columnsWithoutRowGroup,\n });\n } else if (!exclude[column.name] && !rowsGroupedNames[column.name]) {\n // add empty cell if it is not present in data\n return {\n name: column.name,\n cssVar: column.varWidth,\n fixed: column.fixed,\n data: null,\n cellPropsLayers: cellPropsLayers[column.name] || [],\n };\n }\n })\n .filter((column) => column)\n .map((column) => column!);\n\n cells.flatRowData = row;\n return cells;\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, data } = this.asProps;\n\n return sstyled(styles)(\n <SDataTable\n render={Box}\n __excludeProps={['data']}\n ref={this.tableRef}\n role=\"table\"\n aria-rowcount={(data ?? []).length}\n >\n <Children />\n </SDataTable>,\n );\n }\n}\n\ninterface IDataTableCtx {\n getHeadProps: PropGetterFn;\n getBodyProps: PropGetterFn;\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) as (<Props = {}, DataTableData extends { [key: string]: any }[] = { [key: string]: unknown }[]>(\n props: CProps<IDataTableProps<DataTableData> & Props, IDataTableCtx>,\n) => ReturnEl) & {\n Head: <Props>(props: IDataTableHeadProps & Props) => ReturnEl;\n Body: <Props>(props: IDataTableBodyProps & Props) => ReturnEl;\n Column: <Props>(props: IDataTableColumnProps & Props) => ReturnEl;\n Cell: <Props = {}, DataTableData extends { [key: string]: any }[] = { [key: string]: unknown }[]>(\n props: ChildRenderFn<IDataTableCellProps & Props, DataTableData>,\n ) => ReturnEl;\n Row: <Props = {}, DataTableData extends { [key: string]: any }[] = { [key: string]: unknown }[]>(\n props: ChildRenderFn<IDataTableRowProps & Props, DataTableData>,\n ) => ReturnEl;\n};\n\nexport { ROW_GROUP };\nexport default DefinitionTable;\n"],"mappings":"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"}
package/lib/cjs/Head.js CHANGED
@@ -25,12 +25,12 @@ var _logger = _interopRequireDefault(require("@semcore/utils/lib/logger"));
25
25
  var _ref4 = require("@semcore/utils/lib/ref");
26
26
  require("resize-observer-polyfill");
27
27
  /*__reshadow-styles__:"./style/scroll-area.shadow.css"*/
28
- var scrollStyles = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SShadowHorizontal_1qg8l_gg_:before{left:var(--left_1qg8l)!important}.___SShadowHorizontal_1qg8l_gg_:after{right:var(--right_1qg8l)!important}.___SContainer_1qg8l_gg_.__disabledScroll_1qg8l_gg_{overflow:visible}" /*__inner_css_end__*/, "1qg8l_gg_") /*__reshadow_css_end__*/, {
29
- "__SShadowHorizontal": "___SShadowHorizontal_1qg8l_gg_",
30
- "--left": "--left_1qg8l",
31
- "--right": "--right_1qg8l",
32
- "__SContainer": "___SContainer_1qg8l_gg_",
33
- "_disabledScroll": "__disabledScroll_1qg8l_gg_"
28
+ var scrollStyles = ( /*__reshadow_css_start__*/_core.sstyled.insert( /*__inner_css_start__*/".___SShadowHorizontal_aubs5_gg_:before{left:var(--left_aubs5)!important}.___SShadowHorizontal_aubs5_gg_:after{right:var(--right_aubs5)!important}.___SContainer_aubs5_gg_.__disabledScroll_aubs5_gg_{overflow:visible}" /*__inner_css_end__*/, "aubs5_gg_") /*__reshadow_css_end__*/, {
29
+ "__SShadowHorizontal": "___SShadowHorizontal_aubs5_gg_",
30
+ "--left": "--left_aubs5",
31
+ "--right": "--right_aubs5",
32
+ "__SContainer": "___SContainer_aubs5_gg_",
33
+ "_disabledScroll": "__disabledScroll_aubs5_gg_"
34
34
  });
35
35
  var SORTING_ICON = {
36
36
  desc: _m["default"],
package/lib/es6/Body.js CHANGED
@@ -22,12 +22,12 @@ import { getFixedStyle, getScrollOffsetValue } from './utils';
22
22
  import assignProps, { callAllEventHandlers } from '@semcore/utils/lib/assignProps';
23
23
  import ResizeObserver from 'resize-observer-polyfill';
24
24
  /*__reshadow-styles__:"./style/scroll-area.shadow.css"*/
25
- var scrollStyles = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SShadowHorizontal_1qg8l_gg_:before{left:var(--left_1qg8l)!important}.___SShadowHorizontal_1qg8l_gg_:after{right:var(--right_1qg8l)!important}.___SContainer_1qg8l_gg_.__disabledScroll_1qg8l_gg_{overflow:visible}" /*__inner_css_end__*/, "1qg8l_gg_") /*__reshadow_css_end__*/, {
26
- "__SShadowHorizontal": "___SShadowHorizontal_1qg8l_gg_",
27
- "--left": "--left_1qg8l",
28
- "--right": "--right_1qg8l",
29
- "__SContainer": "___SContainer_1qg8l_gg_",
30
- "_disabledScroll": "__disabledScroll_1qg8l_gg_"
25
+ var scrollStyles = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SShadowHorizontal_aubs5_gg_:before{left:var(--left_aubs5)!important}.___SShadowHorizontal_aubs5_gg_:after{right:var(--right_aubs5)!important}.___SContainer_aubs5_gg_.__disabledScroll_aubs5_gg_{overflow:visible}" /*__inner_css_end__*/, "aubs5_gg_") /*__reshadow_css_end__*/, {
26
+ "__SShadowHorizontal": "___SShadowHorizontal_aubs5_gg_",
27
+ "--left": "--left_aubs5",
28
+ "--right": "--right_aubs5",
29
+ "__SContainer": "___SContainer_aubs5_gg_",
30
+ "_disabledScroll": "__disabledScroll_aubs5_gg_"
31
31
  });
32
32
  import trottle from '@semcore/utils/lib/rafTrottle';
33
33
  var testEnv = process.env.NODE_ENV === 'test';
@@ -22,52 +22,52 @@ import Head from './Head';
22
22
  import Body from './Body';
23
23
  import uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';
24
24
  /*__reshadow-styles__:"./style/data-table.shadow.css"*/
25
- var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SDataTable_1e38q_gg_,.___SHeadWrapper_1e38q_gg_{position:relative}.___SDataTable_1e38q_gg_.__compact_1e38q_gg_ .___SCell_1e38q_gg_,.___SDataTable_1e38q_gg_.__compact_1e38q_gg_ .___SColumn_1e38q_gg_{padding:var(--intergalactic-spacing-3x, 12px) var(--intergalactic-spacing-2x, 8px)}.___SHeadWrapper_1e38q_gg_.__sticky_1e38q_gg_{position:sticky;top:0;z-index:2}.___SHead_1e38q_gg_{display:flex;position:relative;flex-direction:row;min-width:-moz-fit-content;min-width:fit-content;z-index:0}.___SColumn_1e38q_gg_{display:flex;align-items:flex-start;flex-grow:1;font-size:var(--intergalactic-fs-100, 12px);line-height:var(--intergalactic-lh-100, 133%);color:var(--intergalactic-text-primary, #191b23);box-sizing:border-box;position:relative}.___SColumn_1e38q_gg_.focus-visible{outline:0;box-shadow:inset var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5))}.___SColumn_1e38q_gg_:focus-visible{outline:0;box-shadow:inset var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5))}.___SColumn_1e38q_gg_.__hidden_1e38q_gg_{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border-width:0!important}.___SColumn_1e38q_gg_._use_primary_1e38q_gg_{padding:var(--intergalactic-spacing-3x, 12px);border-bottom:1px solid var(--intergalactic-border-secondary, #e0e1e9);background-color:var(--intergalactic-table-th-primary-cell, #f4f5f9)}.___SColumn_1e38q_gg_._use_secondary_1e38q_gg_{padding:var(--intergalactic-spacing-2x, 8px);border-bottom:1px solid var(--intergalactic-border-table-accent, #a9abb6);background-color:var(--intergalactic-table-th-secondary-cell, #ffffff)}.___SColumn_1e38q_gg_.__group_1e38q_gg_.__use_1e38q_gg_{display:flex;flex-wrap:wrap;flex-direction:column;align-items:normal;border-bottom:none;padding:0}.___SColumn_1e38q_gg_.__groupHead_1e38q_gg_{justify-content:center;z-index:1;border-bottom:none}.___SColumn_1e38q_gg_.__sortable_1e38q_gg_{cursor:pointer}@media (hover:hover){.___SColumn_1e38q_gg_.__sortable_1e38q_gg_._use_primary_1e38q_gg_:hover{background-color:var(--intergalactic-table-th-primary-cell-hover, #e0e1e9)}.___SColumn_1e38q_gg_.__sortable_1e38q_gg_:hover .___SSortWrapper_1e38q_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}.___SColumn_1e38q_gg_.__sortable_1e38q_gg_:hover .___SSortIcon_1e38q_gg_,.___SColumn_1e38q_gg_.__sortable_1e38q_gg_:hover .___SSortWrapper_1e38q_gg_:before{display:block;opacity:1}}.___SColumn_1e38q_gg_._use_primary_1e38q_gg_.__active_1e38q_gg_{background-color:var(--intergalactic-table-th-primary-cell-active, #e0e1e9);width:100%}.___SColumn_1e38q_gg_.__active_1e38q_gg_ .___SSortWrapper_1e38q_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}.___SColumn_1e38q_gg_.__active_1e38q_gg_ .___SSortIcon_1e38q_gg_{display:block;position:relative;opacity:1}.___SColumn_1e38q_gg_.__resizable_1e38q_gg_{border-right:1px solid transparent}@media (hover:hover){.___SColumn_1e38q_gg_.__resizable_1e38q_gg_:hover:after{border-right-color:var(--intergalactic-border-table-accent, #a9abb6)}}.___SColumn_1e38q_gg_.__resizable_1e38q_gg_:after{content:\"\";position:absolute;bottom:0;right:-1px;height:100%;width:5px;background:0 0;cursor:col-resize;border-right:1px solid transparent}.___SColumn_1e38q_gg_.__fixed_1e38q_gg_{position:sticky;z-index:2}.___SCell_1e38q_gg_.__borderLeft_1e38q_gg_,.___SColumn_1e38q_gg_.__borderLeft_1e38q_gg_{border-left:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SCell_1e38q_gg_.__borderRight_1e38q_gg_,.___SColumn_1e38q_gg_.__borderRight_1e38q_gg_{border-right:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SSortWrapper_1e38q_gg_{flex-shrink:99999;position:relative;flex-basis:0;height:100%;min-height:16px;opacity:0;transition:all .3s ease}.___SSortIcon_1e38q_gg_,.___SSortWrapper_1e38q_gg_:before{display:none;position:absolute;right:0;opacity:0;transition:opacity .3s ease}.___SSortWrapper_1e38q_gg_:before{content:\"\";top:0;width:20px;height:100%}.___SSortIcon_1e38q_gg_{fill:var(--intergalactic-icon-secondary-neutral-hover-active, #8a8e9b);top:calc(1em*1.25 - 16px);margin-left:var(--intergalactic-spacing-1x, 4px)}.___SColumn_1e38q_gg_._use_primary_1e38q_gg_ .___SSortWrapper_1e38q_gg_:before{background:linear-gradient(270deg,var(--intergalactic-table-th-primary-cell-hover, #e0e1e9) 67.5%,rgba(224,225,233,0) 105%)}.___SColumn_1e38q_gg_._use_secondary_1e38q_gg_ .___SSortWrapper_1e38q_gg_:before{background:linear-gradient(270deg,var(--intergalactic-table-th-secondary-cell, #ffffff) 67.5%,rgba(255,255,255,0) 105%)}.___SBodyWrapper_1e38q_gg_{position:relative}.___SBody_1e38q_gg_{display:flex;flex-direction:column;position:relative;min-width:-moz-fit-content;min-width:fit-content}.___SRow_1e38q_gg_{display:flex;flex-direction:row;position:relative}.___SRow_1e38q_gg_.__active_1e38q_gg_>.___SCell_1e38q_gg_:not(.__theme_1e38q_gg_),.___SRow_1e38q_gg_._theme_muted_1e38q_gg_.__active_1e38q_gg_>.___SCell_1e38q_gg_:not(.__theme_1e38q_gg_){background-color:var(--intergalactic-table-td-cell-hover, #f0f0f4)}@media (hover:hover){.___SRow_1e38q_gg_ .___SCell_1e38q_gg_:hover+.___SGroupCell_1e38q_gg_ .___SCell_1e38q_gg_:not(.__theme_1e38q_gg_),.___SRow_1e38q_gg_:hover>.___SCell_1e38q_gg_:not(.__theme_1e38q_gg_){background-color:var(--intergalactic-table-td-cell-hover, #f0f0f4)}}.___SRow_1e38q_gg_._theme_muted_1e38q_gg_ .___SCell_1e38q_gg_:not(.__theme_1e38q_gg_){background-color:var(--intergalactic-table-td-cell-unread, #f4f5f9)}@media (hover:hover){.___SRow_1e38q_gg_._theme_muted_1e38q_gg_ .___SCell_1e38q_gg_:hover+.___SGroupCell_1e38q_gg_ .___SCell_1e38q_gg_:not(.__theme_1e38q_gg_),.___SRow_1e38q_gg_._theme_muted_1e38q_gg_:hover>.___SCell_1e38q_gg_:not(.__theme_1e38q_gg_),.___SRow_1e38q_gg_:hover>.___SCell_1e38q_gg_._theme_muted_1e38q_gg_{background-color:var(--intergalactic-table-td-cell-hover, #f0f0f4)}}.___SRow_1e38q_gg_._theme_info_1e38q_gg_ .___SCell_1e38q_gg_:not(.__theme_1e38q_gg_){background-color:var(--intergalactic-table-td-cell-selected, #e9f7ff)}.___SRow_1e38q_gg_._theme_info_1e38q_gg_.__active_1e38q_gg_>.___SCell_1e38q_gg_:not(.__theme_1e38q_gg_){background-color:var(--intergalactic-table-td-cell-selected-hover, #c4e5fe)}@media (hover:hover){.___SRow_1e38q_gg_._theme_info_1e38q_gg_ .___SCell_1e38q_gg_:hover+.___SGroupCell_1e38q_gg_ .___SCell_1e38q_gg_:not(.__theme_1e38q_gg_),.___SRow_1e38q_gg_._theme_info_1e38q_gg_:hover>.___SCell_1e38q_gg_:not(.__theme_1e38q_gg_),.___SRow_1e38q_gg_:hover>.___SCell_1e38q_gg_._theme_info_1e38q_gg_{background-color:var(--intergalactic-table-td-cell-selected-hover, #c4e5fe)}}.___SRow_1e38q_gg_._theme_success_1e38q_gg_ .___SCell_1e38q_gg_:not(.__theme_1e38q_gg_){background-color:var(--intergalactic-table-td-cell-new, #dbfee8)}.___SRow_1e38q_gg_._theme_success_1e38q_gg_.__active_1e38q_gg_>.___SCell_1e38q_gg_:not(.__theme_1e38q_gg_){background-color:var(--intergalactic-table-td-cell-new-hover, #9ef2c9)}@media (hover:hover){.___SRow_1e38q_gg_._theme_success_1e38q_gg_ .___SCell_1e38q_gg_:hover+.___SGroupCell_1e38q_gg_ .___SCell_1e38q_gg_:not(.__theme_1e38q_gg_),.___SRow_1e38q_gg_._theme_success_1e38q_gg_:hover>.___SCell_1e38q_gg_:not(.__theme_1e38q_gg_),.___SRow_1e38q_gg_:hover>.___SCell_1e38q_gg_._theme_success_1e38q_gg_{background-color:var(--intergalactic-table-td-cell-new-hover, #9ef2c9)}}.___SRow_1e38q_gg_._theme_warning_1e38q_gg_ .___SCell_1e38q_gg_:not(.__theme_1e38q_gg_){background-color:var(--intergalactic-table-td-cell-warning, #fff3d9)}.___SRow_1e38q_gg_._theme_warning_1e38q_gg_.__active_1e38q_gg_>.___SCell_1e38q_gg_:not(.__theme_1e38q_gg_){background-color:var(--intergalactic-table-td-cell-warning-hover, #ffdca2)}@media (hover:hover){.___SRow_1e38q_gg_._theme_warning_1e38q_gg_ .___SCell_1e38q_gg_:hover+.___SGroupCell_1e38q_gg_ .___SCell_1e38q_gg_:not(.__theme_1e38q_gg_),.___SRow_1e38q_gg_._theme_warning_1e38q_gg_:hover>.___SCell_1e38q_gg_:not(.__theme_1e38q_gg_),.___SRow_1e38q_gg_:hover>.___SCell_1e38q_gg_._theme_warning_1e38q_gg_{background-color:var(--intergalactic-table-td-cell-warning-hover, #ffdca2)}}.___SRow_1e38q_gg_._theme_danger_1e38q_gg_ .___SCell_1e38q_gg_:not(.__theme_1e38q_gg_){background-color:var(--intergalactic-table-td-cell-critical, #fff0f7)}.___SRow_1e38q_gg_._theme_danger_1e38q_gg_.__active_1e38q_gg_>.___SCell_1e38q_gg_:not(.__theme_1e38q_gg_){background-color:var(--intergalactic-table-td-cell-critical-hover, #ffd7df)}@media (hover:hover){.___SRow_1e38q_gg_._theme_danger_1e38q_gg_ .___SCell_1e38q_gg_:hover+.___SGroupCell_1e38q_gg_ .___SCell_1e38q_gg_:not(.__theme_1e38q_gg_),.___SRow_1e38q_gg_._theme_danger_1e38q_gg_:hover>.___SCell_1e38q_gg_:not(.__theme_1e38q_gg_),.___SRow_1e38q_gg_:hover>.___SCell_1e38q_gg_._theme_danger_1e38q_gg_{background-color:var(--intergalactic-table-td-cell-critical-hover, #ffd7df)}}.___SRow_1e38q_gg_.__positioned_1e38q_gg_{position:absolute}.___SCell_1e38q_gg_{display:flex;flex:1;flex-basis:auto;font-size:var(--intergalactic-fs-200, 14px);line-height:var(--intergalactic-lh-200, 142%);color:var(--intergalactic-text-primary, #191b23);box-sizing:border-box;border-bottom:1px solid var(--intergalactic-border-secondary, #e0e1e9);overflow:hidden;white-space:nowrap}.___SCell_1e38q_gg_._use_primary_1e38q_gg_{padding:var(--intergalactic-spacing-3x, 12px);min-height:45px;background-color:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SCell_1e38q_gg_._use_secondary_1e38q_gg_{padding:var(--intergalactic-spacing-2x, 8px);min-height:37px;background-color:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SCell_1e38q_gg_.__fixed_1e38q_gg_{position:sticky;z-index:1}.___SCell_1e38q_gg_._theme_muted_1e38q_gg_{background-color:var(--intergalactic-table-td-cell-unread, #f4f5f9)}.___SCell_1e38q_gg_._theme_info_1e38q_gg_{background-color:var(--intergalactic-table-td-cell-selected, #e9f7ff)}.___SCell_1e38q_gg_._theme_success_1e38q_gg_{background-color:var(--intergalactic-table-td-cell-new, #dbfee8)}.___SCell_1e38q_gg_._theme_warning_1e38q_gg_{background-color:var(--intergalactic-table-td-cell-warning, #fff3d9)}.___SCell_1e38q_gg_._theme_danger_1e38q_gg_{background-color:var(--intergalactic-table-td-cell-critical, #fff0f7)}.___SScrollAreaBar_1e38q_gg_._orientation_horizontal_1e38q_gg_{position:sticky;bottom:0;left:0;margin-top:calc(-1*var(--intergalactic-spacing-3x, 12px));z-index:2}.___SScrollAreaBar_1e38q_gg_._orientation_vertical_1e38q_gg_{width:12px}.___SScrollAreaBar_1e38q_gg_._orientation_horizontal_1e38q_gg_{margin-left:calc(var(--left_1e38q) + var(--intergalactic-spacing-1x, 4px));margin-right:calc(var(--right_1e38q) + var(--intergalactic-spacing-1x, 4px));width:calc(100% - var(--offsetSum_1e38q) - 8px)}.___SHeightHold_1e38q_gg_{position:absolute;top:0;width:100%;pointer-events:none;z-index:-1}" /*__inner_css_end__*/, "1e38q_gg_") /*__reshadow_css_end__*/, {
26
- "__SDataTable": "___SDataTable_1e38q_gg_",
27
- "_compact": "__compact_1e38q_gg_",
28
- "__SColumn": "___SColumn_1e38q_gg_",
29
- "__SCell": "___SCell_1e38q_gg_",
30
- "__SHeadWrapper": "___SHeadWrapper_1e38q_gg_",
31
- "_sticky": "__sticky_1e38q_gg_",
32
- "__SHead": "___SHead_1e38q_gg_",
33
- "_hidden": "__hidden_1e38q_gg_",
34
- "_use_primary": "_use_primary_1e38q_gg_",
35
- "_use_secondary": "_use_secondary_1e38q_gg_",
36
- "_group": "__group_1e38q_gg_",
37
- "_use": "__use_1e38q_gg_",
38
- "_groupHead": "__groupHead_1e38q_gg_",
39
- "_sortable": "__sortable_1e38q_gg_",
40
- "__SSortWrapper": "___SSortWrapper_1e38q_gg_",
41
- "__SSortIcon": "___SSortIcon_1e38q_gg_",
42
- "_active": "__active_1e38q_gg_",
43
- "_resizable": "__resizable_1e38q_gg_",
44
- "_fixed": "__fixed_1e38q_gg_",
45
- "_borderLeft": "__borderLeft_1e38q_gg_",
46
- "_borderRight": "__borderRight_1e38q_gg_",
47
- "__SBodyWrapper": "___SBodyWrapper_1e38q_gg_",
48
- "__SBody": "___SBody_1e38q_gg_",
49
- "__SRow": "___SRow_1e38q_gg_",
50
- "_theme": "__theme_1e38q_gg_",
51
- "__SGroupCell": "___SGroupCell_1e38q_gg_",
52
- "_theme_muted": "_theme_muted_1e38q_gg_",
53
- "_theme_info": "_theme_info_1e38q_gg_",
54
- "_theme_success": "_theme_success_1e38q_gg_",
55
- "_theme_warning": "_theme_warning_1e38q_gg_",
56
- "_theme_danger": "_theme_danger_1e38q_gg_",
57
- "_positioned": "__positioned_1e38q_gg_",
58
- "__SScrollAreaBar": "___SScrollAreaBar_1e38q_gg_",
59
- "_orientation_horizontal": "_orientation_horizontal_1e38q_gg_",
60
- "_orientation_vertical": "_orientation_vertical_1e38q_gg_",
61
- "--left": "--left_1e38q",
62
- "--right": "--right_1e38q",
63
- "--offsetSum": "--offsetSum_1e38q",
64
- "__SHeightHold": "___SHeightHold_1e38q_gg_"
25
+ var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SDataTable_1xqzd_gg_,.___SHeadWrapper_1xqzd_gg_{position:relative}.___SDataTable_1xqzd_gg_.__compact_1xqzd_gg_ .___SCell_1xqzd_gg_,.___SDataTable_1xqzd_gg_.__compact_1xqzd_gg_ .___SColumn_1xqzd_gg_{padding:var(--intergalactic-spacing-3x, 12px) var(--intergalactic-spacing-2x, 8px)}.___SHeadWrapper_1xqzd_gg_.__sticky_1xqzd_gg_{position:sticky;top:0;z-index:2}.___SHead_1xqzd_gg_{display:flex;position:relative;flex-direction:row;min-width:-moz-fit-content;min-width:fit-content;z-index:0}.___SColumn_1xqzd_gg_{display:flex;align-items:flex-start;flex-grow:1;font-size:var(--intergalactic-fs-100, 12px);line-height:var(--intergalactic-lh-100, 133%);color:var(--intergalactic-text-primary, #191b23);box-sizing:border-box;position:relative}.___SColumn_1xqzd_gg_.focus-visible{outline:0;box-shadow:inset var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5))}.___SColumn_1xqzd_gg_:focus-visible{outline:0;box-shadow:inset var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5))}.___SColumn_1xqzd_gg_.__hidden_1xqzd_gg_{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border-width:0!important}.___SColumn_1xqzd_gg_._use_primary_1xqzd_gg_{padding:var(--intergalactic-spacing-3x, 12px);border-bottom:1px solid var(--intergalactic-border-secondary, #e0e1e9);background-color:var(--intergalactic-table-th-primary-cell, #f4f5f9)}.___SColumn_1xqzd_gg_._use_secondary_1xqzd_gg_{padding:var(--intergalactic-spacing-2x, 8px);border-bottom:1px solid var(--intergalactic-border-table-accent, #a9abb6);background-color:var(--intergalactic-table-th-secondary-cell, #ffffff)}.___SColumn_1xqzd_gg_.__group_1xqzd_gg_.__use_1xqzd_gg_{display:flex;flex-wrap:wrap;flex-direction:column;align-items:normal;border-bottom:none;padding:0}.___SColumn_1xqzd_gg_.__groupHead_1xqzd_gg_{justify-content:center;z-index:1;border-bottom:none}.___SColumn_1xqzd_gg_.__sortable_1xqzd_gg_{cursor:pointer}@media (hover:hover){.___SColumn_1xqzd_gg_.__sortable_1xqzd_gg_._use_primary_1xqzd_gg_:hover{background-color:var(--intergalactic-table-th-primary-cell-hover, #e0e1e9)}.___SColumn_1xqzd_gg_.__sortable_1xqzd_gg_:hover .___SSortWrapper_1xqzd_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}.___SColumn_1xqzd_gg_.__sortable_1xqzd_gg_:hover .___SSortIcon_1xqzd_gg_,.___SColumn_1xqzd_gg_.__sortable_1xqzd_gg_:hover .___SSortWrapper_1xqzd_gg_:before{display:block;opacity:1}}.___SColumn_1xqzd_gg_._use_primary_1xqzd_gg_.__active_1xqzd_gg_{background-color:var(--intergalactic-table-th-primary-cell-active, #e0e1e9);width:100%}.___SColumn_1xqzd_gg_.__active_1xqzd_gg_ .___SSortWrapper_1xqzd_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}.___SColumn_1xqzd_gg_.__active_1xqzd_gg_ .___SSortIcon_1xqzd_gg_{display:block;position:relative;opacity:1}.___SColumn_1xqzd_gg_.__resizable_1xqzd_gg_{border-right:1px solid transparent}@media (hover:hover){.___SColumn_1xqzd_gg_.__resizable_1xqzd_gg_:hover:after{border-right-color:var(--intergalactic-border-table-accent, #a9abb6)}}.___SColumn_1xqzd_gg_.__resizable_1xqzd_gg_:after{content:\"\";position:absolute;bottom:0;right:-1px;height:100%;width:5px;background:0 0;cursor:col-resize;border-right:1px solid transparent}.___SColumn_1xqzd_gg_.__fixed_1xqzd_gg_{position:sticky;z-index:2}.___SCell_1xqzd_gg_.__borderLeft_1xqzd_gg_,.___SColumn_1xqzd_gg_.__borderLeft_1xqzd_gg_{border-left:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SCell_1xqzd_gg_.__borderRight_1xqzd_gg_,.___SColumn_1xqzd_gg_.__borderRight_1xqzd_gg_{border-right:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SSortWrapper_1xqzd_gg_{flex-shrink:99999;position:relative;flex-basis:0;height:100%;min-height:16px;opacity:0;transition:all .3s ease}.___SSortIcon_1xqzd_gg_,.___SSortWrapper_1xqzd_gg_:before{display:none;position:absolute;right:0;opacity:0;transition:opacity .3s ease}.___SSortWrapper_1xqzd_gg_:before{content:\"\";top:0;width:20px;height:100%}.___SSortIcon_1xqzd_gg_{fill:var(--intergalactic-icon-secondary-neutral-hover-active, #8a8e9b);top:calc(1em*1.25 - 16px);margin-left:var(--intergalactic-spacing-1x, 4px)}.___SColumn_1xqzd_gg_._use_primary_1xqzd_gg_ .___SSortWrapper_1xqzd_gg_:before{background:linear-gradient(270deg,var(--intergalactic-table-th-primary-cell-hover, #e0e1e9) 67.5%,rgba(224,225,233,0) 105%)}.___SColumn_1xqzd_gg_._use_secondary_1xqzd_gg_ .___SSortWrapper_1xqzd_gg_:before{background:linear-gradient(270deg,var(--intergalactic-table-th-secondary-cell, #ffffff) 67.5%,rgba(255,255,255,0) 105%)}.___SBodyWrapper_1xqzd_gg_{position:relative}.___SBody_1xqzd_gg_{display:flex;flex-direction:column;position:relative;min-width:-moz-fit-content;min-width:fit-content}.___SRow_1xqzd_gg_{display:flex;flex-direction:row;position:relative}.___SRow_1xqzd_gg_.__active_1xqzd_gg_>.___SCell_1xqzd_gg_:not(.__theme_1xqzd_gg_),.___SRow_1xqzd_gg_._theme_muted_1xqzd_gg_.__active_1xqzd_gg_>.___SCell_1xqzd_gg_:not(.__theme_1xqzd_gg_){background-color:var(--intergalactic-table-td-cell-hover, #f0f0f4)}@media (hover:hover){.___SRow_1xqzd_gg_ .___SCell_1xqzd_gg_:hover+.___SGroupCell_1xqzd_gg_ .___SCell_1xqzd_gg_:not(.__theme_1xqzd_gg_),.___SRow_1xqzd_gg_:hover>.___SCell_1xqzd_gg_:not(.__theme_1xqzd_gg_){background-color:var(--intergalactic-table-td-cell-hover, #f0f0f4)}}.___SRow_1xqzd_gg_._theme_muted_1xqzd_gg_ .___SCell_1xqzd_gg_:not(.__theme_1xqzd_gg_){background-color:var(--intergalactic-table-td-cell-unread, #f4f5f9)}@media (hover:hover){.___SRow_1xqzd_gg_._theme_muted_1xqzd_gg_ .___SCell_1xqzd_gg_:hover+.___SGroupCell_1xqzd_gg_ .___SCell_1xqzd_gg_:not(.__theme_1xqzd_gg_),.___SRow_1xqzd_gg_._theme_muted_1xqzd_gg_:hover>.___SCell_1xqzd_gg_:not(.__theme_1xqzd_gg_),.___SRow_1xqzd_gg_:hover>.___SCell_1xqzd_gg_._theme_muted_1xqzd_gg_{background-color:var(--intergalactic-table-td-cell-hover, #f0f0f4)}}.___SRow_1xqzd_gg_._theme_info_1xqzd_gg_ .___SCell_1xqzd_gg_:not(.__theme_1xqzd_gg_){background-color:var(--intergalactic-table-td-cell-selected, #e9f7ff)}.___SRow_1xqzd_gg_._theme_info_1xqzd_gg_.__active_1xqzd_gg_>.___SCell_1xqzd_gg_:not(.__theme_1xqzd_gg_){background-color:var(--intergalactic-table-td-cell-selected-hover, #c4e5fe)}@media (hover:hover){.___SRow_1xqzd_gg_._theme_info_1xqzd_gg_ .___SCell_1xqzd_gg_:hover+.___SGroupCell_1xqzd_gg_ .___SCell_1xqzd_gg_:not(.__theme_1xqzd_gg_),.___SRow_1xqzd_gg_._theme_info_1xqzd_gg_:hover>.___SCell_1xqzd_gg_:not(.__theme_1xqzd_gg_),.___SRow_1xqzd_gg_:hover>.___SCell_1xqzd_gg_._theme_info_1xqzd_gg_{background-color:var(--intergalactic-table-td-cell-selected-hover, #c4e5fe)}}.___SRow_1xqzd_gg_._theme_success_1xqzd_gg_ .___SCell_1xqzd_gg_:not(.__theme_1xqzd_gg_){background-color:var(--intergalactic-table-td-cell-new, #dbfee8)}.___SRow_1xqzd_gg_._theme_success_1xqzd_gg_.__active_1xqzd_gg_>.___SCell_1xqzd_gg_:not(.__theme_1xqzd_gg_){background-color:var(--intergalactic-table-td-cell-new-hover, #9ef2c9)}@media (hover:hover){.___SRow_1xqzd_gg_._theme_success_1xqzd_gg_ .___SCell_1xqzd_gg_:hover+.___SGroupCell_1xqzd_gg_ .___SCell_1xqzd_gg_:not(.__theme_1xqzd_gg_),.___SRow_1xqzd_gg_._theme_success_1xqzd_gg_:hover>.___SCell_1xqzd_gg_:not(.__theme_1xqzd_gg_),.___SRow_1xqzd_gg_:hover>.___SCell_1xqzd_gg_._theme_success_1xqzd_gg_{background-color:var(--intergalactic-table-td-cell-new-hover, #9ef2c9)}}.___SRow_1xqzd_gg_._theme_warning_1xqzd_gg_ .___SCell_1xqzd_gg_:not(.__theme_1xqzd_gg_){background-color:var(--intergalactic-table-td-cell-warning, #fff3d9)}.___SRow_1xqzd_gg_._theme_warning_1xqzd_gg_.__active_1xqzd_gg_>.___SCell_1xqzd_gg_:not(.__theme_1xqzd_gg_){background-color:var(--intergalactic-table-td-cell-warning-hover, #ffdca2)}@media (hover:hover){.___SRow_1xqzd_gg_._theme_warning_1xqzd_gg_ .___SCell_1xqzd_gg_:hover+.___SGroupCell_1xqzd_gg_ .___SCell_1xqzd_gg_:not(.__theme_1xqzd_gg_),.___SRow_1xqzd_gg_._theme_warning_1xqzd_gg_:hover>.___SCell_1xqzd_gg_:not(.__theme_1xqzd_gg_),.___SRow_1xqzd_gg_:hover>.___SCell_1xqzd_gg_._theme_warning_1xqzd_gg_{background-color:var(--intergalactic-table-td-cell-warning-hover, #ffdca2)}}.___SRow_1xqzd_gg_._theme_danger_1xqzd_gg_ .___SCell_1xqzd_gg_:not(.__theme_1xqzd_gg_){background-color:var(--intergalactic-table-td-cell-critical, #fff0f7)}.___SRow_1xqzd_gg_._theme_danger_1xqzd_gg_.__active_1xqzd_gg_>.___SCell_1xqzd_gg_:not(.__theme_1xqzd_gg_){background-color:var(--intergalactic-table-td-cell-critical-hover, #ffd7df)}@media (hover:hover){.___SRow_1xqzd_gg_._theme_danger_1xqzd_gg_ .___SCell_1xqzd_gg_:hover+.___SGroupCell_1xqzd_gg_ .___SCell_1xqzd_gg_:not(.__theme_1xqzd_gg_),.___SRow_1xqzd_gg_._theme_danger_1xqzd_gg_:hover>.___SCell_1xqzd_gg_:not(.__theme_1xqzd_gg_),.___SRow_1xqzd_gg_:hover>.___SCell_1xqzd_gg_._theme_danger_1xqzd_gg_{background-color:var(--intergalactic-table-td-cell-critical-hover, #ffd7df)}}.___SRow_1xqzd_gg_.__positioned_1xqzd_gg_{position:absolute}.___SCell_1xqzd_gg_{display:flex;flex:1;flex-basis:auto;font-size:var(--intergalactic-fs-200, 14px);line-height:var(--intergalactic-lh-200, 142%);color:var(--intergalactic-text-primary, #191b23);box-sizing:border-box;border-bottom:1px solid var(--intergalactic-border-secondary, #e0e1e9);overflow:hidden;white-space:nowrap}.___SCell_1xqzd_gg_._use_primary_1xqzd_gg_{padding:var(--intergalactic-spacing-3x, 12px);min-height:45px;background-color:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SCell_1xqzd_gg_._use_secondary_1xqzd_gg_{padding:var(--intergalactic-spacing-2x, 8px);min-height:37px;background-color:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SCell_1xqzd_gg_.__fixed_1xqzd_gg_{position:sticky;z-index:1}.___SCell_1xqzd_gg_._theme_muted_1xqzd_gg_{background-color:var(--intergalactic-table-td-cell-unread, #f4f5f9)}.___SCell_1xqzd_gg_._theme_info_1xqzd_gg_{background-color:var(--intergalactic-table-td-cell-selected, #e9f7ff)}.___SCell_1xqzd_gg_._theme_success_1xqzd_gg_{background-color:var(--intergalactic-table-td-cell-new, #dbfee8)}.___SCell_1xqzd_gg_._theme_warning_1xqzd_gg_{background-color:var(--intergalactic-table-td-cell-warning, #fff3d9)}.___SCell_1xqzd_gg_._theme_danger_1xqzd_gg_{background-color:var(--intergalactic-table-td-cell-critical, #fff0f7)}.___SScrollAreaBar_1xqzd_gg_._orientation_horizontal_1xqzd_gg_{position:sticky;bottom:0;left:0;margin-top:calc(-1*var(--intergalactic-spacing-3x, 12px));z-index:2}.___SScrollAreaBar_1xqzd_gg_._orientation_vertical_1xqzd_gg_{width:12px}.___SScrollAreaBar_1xqzd_gg_._orientation_horizontal_1xqzd_gg_{margin-left:calc(var(--left_1xqzd) + var(--intergalactic-spacing-1x, 4px));margin-right:calc(var(--right_1xqzd) + var(--intergalactic-spacing-1x, 4px));width:calc(100% - var(--offsetSum_1xqzd) - 8px)}.___SHeightHold_1xqzd_gg_{position:absolute;top:0;width:100%;pointer-events:none;z-index:-1}" /*__inner_css_end__*/, "1xqzd_gg_") /*__reshadow_css_end__*/, {
26
+ "__SDataTable": "___SDataTable_1xqzd_gg_",
27
+ "_compact": "__compact_1xqzd_gg_",
28
+ "__SColumn": "___SColumn_1xqzd_gg_",
29
+ "__SCell": "___SCell_1xqzd_gg_",
30
+ "__SHeadWrapper": "___SHeadWrapper_1xqzd_gg_",
31
+ "_sticky": "__sticky_1xqzd_gg_",
32
+ "__SHead": "___SHead_1xqzd_gg_",
33
+ "_hidden": "__hidden_1xqzd_gg_",
34
+ "_use_primary": "_use_primary_1xqzd_gg_",
35
+ "_use_secondary": "_use_secondary_1xqzd_gg_",
36
+ "_group": "__group_1xqzd_gg_",
37
+ "_use": "__use_1xqzd_gg_",
38
+ "_groupHead": "__groupHead_1xqzd_gg_",
39
+ "_sortable": "__sortable_1xqzd_gg_",
40
+ "__SSortWrapper": "___SSortWrapper_1xqzd_gg_",
41
+ "__SSortIcon": "___SSortIcon_1xqzd_gg_",
42
+ "_active": "__active_1xqzd_gg_",
43
+ "_resizable": "__resizable_1xqzd_gg_",
44
+ "_fixed": "__fixed_1xqzd_gg_",
45
+ "_borderLeft": "__borderLeft_1xqzd_gg_",
46
+ "_borderRight": "__borderRight_1xqzd_gg_",
47
+ "__SBodyWrapper": "___SBodyWrapper_1xqzd_gg_",
48
+ "__SBody": "___SBody_1xqzd_gg_",
49
+ "__SRow": "___SRow_1xqzd_gg_",
50
+ "_theme": "__theme_1xqzd_gg_",
51
+ "__SGroupCell": "___SGroupCell_1xqzd_gg_",
52
+ "_theme_muted": "_theme_muted_1xqzd_gg_",
53
+ "_theme_info": "_theme_info_1xqzd_gg_",
54
+ "_theme_success": "_theme_success_1xqzd_gg_",
55
+ "_theme_warning": "_theme_warning_1xqzd_gg_",
56
+ "_theme_danger": "_theme_danger_1xqzd_gg_",
57
+ "_positioned": "__positioned_1xqzd_gg_",
58
+ "__SScrollAreaBar": "___SScrollAreaBar_1xqzd_gg_",
59
+ "_orientation_horizontal": "_orientation_horizontal_1xqzd_gg_",
60
+ "_orientation_vertical": "_orientation_vertical_1xqzd_gg_",
61
+ "--left": "--left_1xqzd",
62
+ "--right": "--right_1xqzd",
63
+ "--offsetSum": "--offsetSum_1xqzd",
64
+ "__SHeightHold": "___SHeightHold_1xqzd_gg_"
65
65
  });
66
- var REVERSED_SORT_DIRECTION = {
66
+ var reversedSortDirection = {
67
67
  desc: 'asc',
68
68
  asc: 'desc'
69
69
  };
70
- var DEFAULT_SORT_DIRECTION = 'desc';
70
+ var defaultSortDirection = 'desc';
71
71
  var ROW_GROUP = Symbol('ROW_GROUP');
72
72
  var cssVarReg = /[:;]/g;
73
73
  var createCssVarForWidth = function createCssVarForWidth(name) {
@@ -104,7 +104,7 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
104
104
  var column = _this.columns.find(function (column) {
105
105
  return column.name === name;
106
106
  });
107
- return fire(_assertThisInitialized(_this), 'onSortChange', [column.name, column.active ? REVERSED_SORT_DIRECTION[column.sortDirection] : column.sortDirection], event);
107
+ return fire(_assertThisInitialized(_this), 'onSortChange', [column.name, column.active ? reversedSortDirection[column.sortDirection] : column.sortDirection], event);
108
108
  });
109
109
  _defineProperty(_assertThisInitialized(_this), "handlerResize", function () {
110
110
  _this.forceUpdate();
@@ -206,7 +206,7 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
206
206
  sortable: sortable,
207
207
  borderLeft: (lastColumnChildren === null || lastColumnChildren === void 0 ? void 0 : lastColumnChildren.borderRight) === true ? false : vBorders,
208
208
  borderRight: vBorders,
209
- sortDirection: sort[0] === name ? sort[1] : (column === null || column === void 0 ? void 0 : column.sortDirection) || (typeof sortable == 'string' ? sortable : DEFAULT_SORT_DIRECTION),
209
+ sortDirection: sort[0] === name ? sort[1] : (column === null || column === void 0 ? void 0 : column.sortDirection) || (typeof sortable == 'string' ? sortable : defaultSortDirection),
210
210
  props: _objectSpread(_objectSpread({
211
211
  name: name,
212
212
  flex: flex === 'inherit' ? undefined : flex
@@ -1 +1 @@
1
- {"version":3,"file":"DataTable.js","names":["React","createComponent","Component","Root","sstyled","Box","syncScroll","callAllEventHandlers","fire","flattenColumns","Head","Body","uniqueIDEnhancement","style","_sstyled","insert","REVERSED_SORT_DIRECTION","desc","asc","DEFAULT_SORT_DIRECTION","ROW_GROUP","Symbol","cssVarReg","createCssVarForWidth","name","concat","replace","setBorderGroupColumns","columns","side","firstColumn","lastColumn","length","borderLeft","borderRight","RootDefinitionTable","_Component","_inherits","_super","_createSuper","props","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","createRef","event","column","find","active","sortDirection","forceUpdate","_this$tableRef","_this$tableRef$curren","tableRef","current","scrollIntoView","block","inline","behavior","scrollBodyRef","scrollHeadRef","_createClass","key","value","setVarStyle","_iterator","_createForOfIteratorHelper","_step","s","n","done","setVar","_this$tableRef$curren2","setProperty","varWidth","width","err","e","f","childrenToColumns","children","_this2","options","arguments","undefined","fixed","sort","asProps","columnsChildren","Children","forEach","child","_column$props","isValidElement","type","DefinitionTable","Column","_ref3","_ref3$fixed","resizable","sortable","flex","vBorders","_objectWithoutProperties","_excluded","lastColumnChildren","isGroup","some","c","map","_ref4","join","toArray","filter","columnChildren","_this$props$ref$curre","ref","getBoundingClientRect","_objectSpread","forwardRef","parentColumns","unshift","push","getHeadProps","_this$asProps","use","uid","$onSortClick","handlerSortClick","scrollToUp","onResize","handlerResize","$scrollRef","getBodyProps","_this$asProps2","data","uniqueKey","cellPropsLayers","rowPropsLayers","_ref5","other","_excluded2","Cell","split","childrenPropsGetter","Row","rows","dataToRows","_this3","parseData","exclude","row","groupByName","columnsWithoutRowGroup","rowKey","columnNames","_iterator2","_step2","groupedColumns","groupData","rowsGroup","rowsGroupedNames","Object","fromEntries","subRow","keys","flat","cells","_groupByName$column$n","cssVar","flatRowData","componentDidUpdate","render","_ref","_ref2","SDataTable","_this$asProps3","styles","createElement","cn","_assignProps","ComponentDefinition"],"sources":["../../src/DataTable.tsx"],"sourcesContent":["import React from 'react';\nimport { Property } from 'csstype';\nimport createComponent, { Component, PropGetterFn, Root, sstyled } from '@semcore/core';\nimport { Box, IBoxProps, IFlexProps } 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 type {\n Column,\n NestedCells,\n PropsLayer,\n PseudoChildPropsGetter,\n RowData,\n SortDirection,\n} from './types';\nimport Head from './Head';\nimport Body from './Body';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\n\nimport style from './style/data-table.shadow.css';\n\nconst REVERSED_SORT_DIRECTION: { [direction in SortDirection]: SortDirection } = {\n desc: 'asc',\n asc: 'desc',\n};\nconst DEFAULT_SORT_DIRECTION: SortDirection = 'desc';\n\nconst ROW_GROUP = Symbol('ROW_GROUP');\n\nconst cssVarReg = /[:;]/g;\n\nconst createCssVarForWidth = (name: string) => {\n return `--${name.replace(cssVarReg, '_')}_width`;\n};\n\ntype AsProps = {\n use: 'primary' | 'secondary';\n sort: SortDirection[];\n data: RowData[];\n uniqueKey: string;\n uid?: string;\n};\n\ntype HeadAsProps = {\n children: React.ReactChild;\n uid: string;\n};\ntype BodyAsProps = {\n children: React.ReactChild;\n uid: string;\n};\n\n/* utils type */\ntype CProps<Props, Ctx = {}, UCProps = {}> = Props & {\n children?: ((props: Props & Ctx, handlers: UCProps) => React.ReactNode) | React.ReactNode;\n};\ntype ReturnEl = React.ReactElement | null;\ntype ChildRenderFn<Props> = Props & {\n children?: (props: Props, column: DataTableData, index: number) => { [key: string]: unknown };\n};\n/* utils type */\n\nexport type DataTableData = { [key: string]: unknown };\nexport type DataTableSort = [string, 'desc' | 'asc'];\nexport type DataTableTheme = 'muted' | 'info' | 'success' | 'warning' | 'danger';\nexport type DataTableUse = 'primary' | 'secondary';\nexport type DataTableRow = DataTableCell[];\nexport type DataTableCell = {\n /** Name of column */\n name: string;\n /** Data of column */\n data: React.ReactNode;\n [key: string]: unknown;\n};\n\nexport interface IDataTableProps extends IBoxProps {\n /** Theme for table\n * @default primary\n * */\n use?: DataTableUse;\n /** Data for table */\n data?: DataTableData[];\n /** Active sort object */\n sort?: DataTableSort;\n /** Handler call when will request change sort */\n onSortChange?: (sort: DataTableSort, e?: React.SyntheticEvent) => void;\n /** Field name in one data entity that is unique accross all set of data\n * @default id\n */\n uniqueKey?: string;\n}\n\nexport interface IDataTableHeadProps extends IBoxProps {\n /** Sticky header table\n * @deprecated\n * */\n sticky?: boolean;\n\n /** Hidden header */\n hidden?: boolean;\n\n /** Disabled scroll */\n disabledScroll?: boolean;\n}\n\nexport interface IDataTableColumnProps extends IFlexProps {\n /** Unique name column */\n name?: string;\n /** Enable sort for column also if you pass string you can set default sort */\n sortable?: boolean | 'desc' | 'asc';\n /** Enable resize for column\n * @ignore */\n resizable?: boolean;\n /** Fixed column on the left/right */\n fixed?: 'left' | 'right';\n /** Fields to control the size of the column. */\n flex?: Property.Flex | 'inherit';\n /** Add vertical borders */\n vBorders?: boolean;\n /** Add vertical border to the right side */\n borderRight?: boolean;\n /** Add vertical border to the left side */\n borderLeft?: boolean;\n /** Make cells less */\n compact?: boolean;\n}\n\nexport interface IDataTableBodyProps extends IBoxProps {\n /** Rows table */\n rows?: DataTableRow[];\n /** When enabled, only visually acessable rows are rendered.\n * `tollerance` property controls how many rows outside of viewport are render.\n * `rowHeight` fixes the rows height if it has known. If not provided, first row node height is measured.\n * @default { tollerance: 2 }\n */\n virtualScroll?: boolean | { tollerance?: number; rowHeight?: number };\n /**\n * Called every time user scrolls area\n */\n onScroll?: (event: React.SyntheticEvent<HTMLElement>) => void;\n /** Disabled scroll */\n disabledScroll?: boolean;\n}\n\nexport interface IDataTableRowProps extends IBoxProps {\n /** Theme for row */\n theme?: DataTableTheme;\n /** Displays row as active/hover */\n active?: boolean;\n}\n\nexport interface IDataTableCellProps extends IFlexProps {\n /** Unique name column or columns separated by / */\n name: string;\n /** Theme for cell */\n theme?: DataTableTheme;\n}\n\nfunction setBorderGroupColumns(columns: Column[], side?: string) {\n const firstColumn = columns[0];\n const lastColumn = columns[columns.length - 1];\n if (firstColumn && (!side || side === 'left')) {\n firstColumn.borderLeft = true;\n if (firstColumn.columns) {\n setBorderGroupColumns(firstColumn.columns, 'left');\n }\n }\n if (lastColumn && (!side || side === 'right')) {\n lastColumn.borderRight = true;\n if (lastColumn.columns) {\n setBorderGroupColumns(lastColumn.columns, 'right');\n }\n }\n}\n\nclass RootDefinitionTable extends Component<AsProps> {\n static displayName = 'DefinitionTable';\n\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = {\n use: 'primary',\n uniqueKey: 'id',\n sort: [],\n data: [],\n } as AsProps;\n\n columns: Column[] = [];\n\n tableRef = React.createRef<HTMLElement>();\n scrollBodyRef: null | ReturnType<ReturnType<typeof syncScroll>> = null;\n scrollHeadRef: null | ReturnType<ReturnType<typeof syncScroll>> = null;\n\n constructor(props: AsProps) {\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: string, event: React.MouseEvent) => {\n const column = this.columns.find((column) => column.name === name)!;\n return fire(\n this,\n 'onSortChange',\n [\n column.name,\n column.active ? REVERSED_SORT_DIRECTION[column.sortDirection] : column.sortDirection,\n ],\n event,\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: Column[]) {\n for (const column of columns) {\n if (column.setVar) {\n this.tableRef.current?.style.setProperty(column.varWidth, `${column.width}px`);\n }\n }\n }\n\n childrenToColumns(\n children: React.ReactNode,\n options: { fixed?: 'left' | 'right' } = { fixed: undefined },\n ) {\n const { sort } = this.asProps;\n const columnsChildren: Column[] = [];\n React.Children.forEach(children, (child) => {\n if (!React.isValidElement(child)) return;\n if (child.type !== DefinitionTable.Column) return;\n\n let {\n children,\n name,\n fixed = options.fixed,\n resizable,\n sortable,\n flex,\n vBorders,\n active,\n ...props\n } = child.props as Column['props'];\n const lastColumnChildren = columnsChildren[columnsChildren.length - 1];\n const isGroup = !name;\n let columns: Column[] | undefined;\n\n if (isGroup) {\n columns = this.childrenToColumns(children, { fixed });\n active = typeof active === 'boolean' ? active : columns.some((c) => c.active);\n\n if (vBorders) {\n setBorderGroupColumns(columns);\n }\n\n name = flattenColumns(columns)\n .map(({ name }) => 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((column) => column.name === name);\n const columnChildren = {\n get width() {\n // @ts-ignore\n return this.props.ref.current?.getBoundingClientRect().width || 0;\n },\n name,\n varWidth: createCssVarForWidth(name),\n setVar: flex !== 'inherit',\n fixed,\n resizable,\n active: typeof active === 'boolean' ? active : sort[0] === name,\n sortable,\n borderLeft: lastColumnChildren?.borderRight === true ? false : vBorders,\n borderRight: vBorders,\n sortDirection:\n sort[0] === name\n ? sort[1]\n : column?.sortDirection ||\n (typeof sortable == 'string' ? sortable : DEFAULT_SORT_DIRECTION),\n props: {\n name,\n flex: flex === 'inherit' ? undefined : flex,\n ...props,\n // @ts-ignore\n forwardRef: child.ref,\n children,\n ref: column?.props?.ref || React.createRef(),\n },\n parentColumns: [],\n } as unknown as Column;\n\n if (columns) {\n columnChildren.columns = columns;\n columns.forEach((column) => column.parentColumns.unshift(columnChildren));\n }\n columnsChildren.push(columnChildren);\n });\n return columnsChildren;\n }\n\n getHeadProps(props: HeadAsProps) {\n const { use, uid } = this.asProps;\n const columnsChildren = this.childrenToColumns(props.children);\n\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 uid,\n };\n }\n\n getBodyProps(props: BodyAsProps) {\n const { data, use, uniqueKey, uid } = this.asProps;\n const cellPropsLayers: { [columnName: string]: PropsLayer[] } = {};\n const rowPropsLayers: PropsLayer[] = [];\n\n React.Children.forEach(props.children, (child) => {\n if (React.isValidElement(child)) {\n const { name, children, ...other } = child.props as {\n name?: string;\n children?: PseudoChildPropsGetter;\n } & { [propName: string]: unknown };\n if (child.type === DefinitionTable.Cell && name) {\n name.split('/').forEach((name) => {\n cellPropsLayers[name] = cellPropsLayers[name] || [];\n cellPropsLayers[name].push({\n ...other,\n childrenPropsGetter: children,\n });\n });\n }\n if (child.type === DefinitionTable.Row) {\n rowPropsLayers.push({\n ...other,\n childrenPropsGetter: children,\n });\n }\n }\n });\n\n return {\n columns: this.columns,\n rows: this.dataToRows(data, cellPropsLayers),\n uniqueKey,\n use,\n rowPropsLayers,\n $scrollRef: this.scrollBodyRef,\n uid,\n };\n }\n\n dataToRows(data: RowData[], cellPropsLayers: { [columnName: string]: PropsLayer[] }) {\n const parseData = (data: RowData[], exclude: { [columnName: string]: true }) =>\n data.map((row) => {\n const groupByName: {\n [columnName: string]: {\n groupedColumns: string[];\n groupData: { [columnName: string]: unknown };\n };\n } = {};\n const columnsWithoutRowGroup: { [columnname: string]: true } = {};\n for (const rowKey in row) {\n const columnNames = rowKey.split('/');\n if (columnNames.length >= 2) {\n for (const column of columnNames) {\n groupByName[column] = {\n groupedColumns: columnNames,\n groupData: row[rowKey] as { [columnName: string]: unknown },\n };\n columnsWithoutRowGroup[column] = true;\n }\n } else {\n columnsWithoutRowGroup[rowKey] = true;\n }\n }\n\n const rowsGroup = row[ROW_GROUP] || [];\n const rowsGroupedNames = Object.fromEntries(\n rowsGroup\n .map((subRow) => Object.keys(subRow))\n .flat()\n .map((key) => key.split('/'))\n .flat()\n .map((key) => [key, true]),\n );\n\n let isGroup = false;\n\n const cells: NestedCells = this.columns\n .map((column) => {\n if (groupByName[column.name]) {\n const { groupedColumns, groupData } = groupByName[column.name];\n if (groupedColumns[0] === column.name) {\n return {\n name: groupedColumns.join('/'),\n cssVar: groupedColumns.map(createCssVarForWidth),\n fixed: column.fixed,\n data: groupData,\n cellPropsLayers: cellPropsLayers[column.name] || [],\n };\n }\n } else if (column.name in row) {\n return {\n name: column.name,\n cssVar: column.varWidth,\n fixed: column.fixed,\n data: row[column.name],\n cellPropsLayers: cellPropsLayers[column.name] || [],\n };\n } else if (!isGroup && rowsGroupedNames[column.name]) {\n // TODO: make it work not only with first group\n isGroup = true;\n return parseData(rowsGroup, {\n ...exclude,\n ...columnsWithoutRowGroup,\n });\n } else if (!exclude[column.name] && !rowsGroupedNames[column.name]) {\n // add empty cell if it is not present in data\n return {\n name: column.name,\n cssVar: column.varWidth,\n fixed: column.fixed,\n data: null,\n cellPropsLayers: cellPropsLayers[column.name] || [],\n };\n }\n })\n .filter((column) => column)\n .map((column) => column!);\n\n cells.flatRowData = row;\n return cells;\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, data } = this.asProps;\n\n return sstyled(styles)(\n <SDataTable\n render={Box}\n __excludeProps={['data']}\n ref={this.tableRef}\n role=\"table\"\n aria-rowcount={(data ?? []).length}\n >\n <Children />\n </SDataTable>,\n );\n }\n}\n\ninterface IDataTableCtx {\n getHeadProps: PropGetterFn;\n getBodyProps: PropGetterFn;\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) as (<T>(props: CProps<IDataTableProps & T, IDataTableCtx>) => ReturnEl) & {\n Head: <T>(props: IDataTableHeadProps & T) => ReturnEl;\n Body: <T>(props: IDataTableBodyProps & T) => ReturnEl;\n Column: <T>(props: IDataTableColumnProps & T) => ReturnEl;\n Cell: <T>(props: ChildRenderFn<IDataTableCellProps & T>) => ReturnEl;\n Row: <T>(props: ChildRenderFn<IDataTableRowProps & T>) => ReturnEl;\n};\n\nexport { ROW_GROUP };\nexport default DefinitionTable;\n"],"mappings":"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"}
1
+ {"version":3,"file":"DataTable.js","names":["React","createComponent","Component","Root","sstyled","Box","syncScroll","callAllEventHandlers","fire","flattenColumns","Head","Body","uniqueIDEnhancement","style","_sstyled","insert","reversedSortDirection","desc","asc","defaultSortDirection","ROW_GROUP","Symbol","cssVarReg","createCssVarForWidth","name","concat","replace","setBorderGroupColumns","columns","side","firstColumn","lastColumn","length","borderLeft","borderRight","RootDefinitionTable","_Component","_inherits","_super","_createSuper","props","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","createRef","event","column","find","active","sortDirection","forceUpdate","_this$tableRef","_this$tableRef$curren","tableRef","current","scrollIntoView","block","inline","behavior","scrollBodyRef","scrollHeadRef","_createClass","key","value","setVarStyle","_iterator","_createForOfIteratorHelper","_step","s","n","done","setVar","_this$tableRef$curren2","setProperty","varWidth","width","err","e","f","childrenToColumns","children","_this2","options","arguments","undefined","fixed","sort","asProps","columnsChildren","Children","forEach","child","_column$props","isValidElement","type","DefinitionTable","Column","_ref3","_ref3$fixed","resizable","sortable","flex","vBorders","_objectWithoutProperties","_excluded","lastColumnChildren","isGroup","some","c","map","_ref4","join","toArray","filter","columnChildren","_this$props$ref$curre","ref","getBoundingClientRect","_objectSpread","forwardRef","parentColumns","unshift","push","getHeadProps","_this$asProps","use","uid","$onSortClick","handlerSortClick","scrollToUp","onResize","handlerResize","$scrollRef","getBodyProps","_this$asProps2","data","uniqueKey","cellPropsLayers","rowPropsLayers","_ref5","other","_excluded2","Cell","split","childrenPropsGetter","Row","rows","dataToRows","_this3","parseData","exclude","row","groupByName","columnsWithoutRowGroup","rowKey","columnNames","_iterator2","_step2","groupedColumns","groupData","rowsGroup","rowsGroupedNames","Object","fromEntries","subRow","keys","flat","cells","_groupByName$column$n","cssVar","flatRowData","componentDidUpdate","render","_ref","_ref2","SDataTable","_this$asProps3","styles","createElement","cn","_assignProps","ComponentDefinition"],"sources":["../../src/DataTable.tsx"],"sourcesContent":["import React from 'react';\nimport { Property } from 'csstype';\nimport createComponent, { Component, PropGetterFn, Root, sstyled } from '@semcore/core';\nimport { Box, IBoxProps, IFlexProps } 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 type {\n Column,\n NestedCells,\n PropsLayer,\n PseudoChildPropsGetter,\n RowData,\n SortDirection,\n} from './types';\nimport Head from './Head';\nimport Body from './Body';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\n\nimport style from './style/data-table.shadow.css';\n\nconst reversedSortDirection: { [direction in SortDirection]: SortDirection } = {\n desc: 'asc',\n asc: 'desc',\n};\nconst defaultSortDirection: SortDirection = 'desc';\n\nconst ROW_GROUP = Symbol('ROW_GROUP');\n\nconst cssVarReg = /[:;]/g;\n\nconst createCssVarForWidth = (name: string) => {\n return `--${name.replace(cssVarReg, '_')}_width`;\n};\n\ntype AsProps = {\n use: 'primary' | 'secondary';\n sort: SortDirection[];\n data: RowData[];\n uniqueKey: string;\n uid?: string;\n};\n\ntype HeadAsProps = {\n children: React.ReactChild;\n uid: string;\n};\ntype BodyAsProps = {\n children: React.ReactChild;\n uid: string;\n};\n\n/* utils type */\ntype CProps<Props, Ctx = {}, UCProps = {}> = Props & {\n children?: ((props: Props & Ctx, handlers: UCProps) => React.ReactNode) | React.ReactNode;\n};\ntype ReturnEl = React.ReactElement | null;\ntype ChildRenderFn<Props, DataTableData extends { [key: string]: unknown }[]> = Props & {\n children?: (props: Props, column: DataTableData[0], index: number) => Partial<Props>;\n};\n/* utils type */\n\nexport type DataTableData = { [key: string]: unknown };\nexport type DataTableSort<Columns extends string | number | symbol = string> = [\n sortBy: Columns,\n sortDirection: 'desc' | 'asc',\n];\nexport type DataTableTheme = 'muted' | 'info' | 'success' | 'warning' | 'danger';\nexport type DataTableUse = 'primary' | 'secondary';\nexport type DataTableRow = DataTableCell[];\nexport type DataTableCell = {\n /** Name of column */\n name: string;\n /** Data of column */\n data: React.ReactNode;\n [key: string]: unknown;\n};\n\nexport interface IDataTableProps<\n DataTableData extends { [key: string]: any }[] = { [key: string]: unknown }[],\n> extends IBoxProps {\n /** Theme for table\n * @default primary\n * */\n use?: DataTableUse;\n /** Data for table */\n data?: DataTableData;\n /** Active sort object */\n sort?: DataTableSort<keyof DataTableData[0]>;\n /** Handler call when will request change sort */\n onSortChange?: (sort: DataTableSort<keyof DataTableData[0]>, e?: React.SyntheticEvent) => void;\n /** Field name in one data entity that is unique accross all set of data\n * @default id\n */\n uniqueKey?: keyof DataTableData[0];\n}\n\nexport interface IDataTableHeadProps extends IBoxProps {\n /** Sticky header table\n * @deprecated\n * */\n sticky?: boolean;\n\n /** Hidden header */\n hidden?: boolean;\n\n /** Disabled scroll */\n disabledScroll?: boolean;\n}\n\nexport interface IDataTableColumnProps extends IFlexProps {\n /** Unique name column */\n name?: string;\n /** Enable sort for column also if you pass string you can set default sort */\n sortable?: boolean | 'desc' | 'asc';\n /** Enable resize for column\n * @ignore */\n resizable?: boolean;\n /** Fixed column on the left/right */\n fixed?: 'left' | 'right';\n /** Fields to control the size of the column. */\n flex?: Property.Flex | 'inherit';\n /** Add vertical borders */\n vBorders?: boolean;\n /** Add vertical border to the right side */\n borderRight?: boolean;\n /** Add vertical border to the left side */\n borderLeft?: boolean;\n /** Make cells less */\n compact?: boolean;\n}\n\nexport interface IDataTableBodyProps extends IBoxProps {\n /** Rows table */\n rows?: DataTableRow[];\n /** When enabled, only visually acessable rows are rendered.\n * `tollerance` property controls how many rows outside of viewport are render.\n * `rowHeight` fixes the rows height if it has known. If not provided, first row node height is measured.\n * @default { tollerance: 2 }\n */\n virtualScroll?: boolean | { tollerance?: number; rowHeight?: number };\n /**\n * Called every time user scrolls area\n */\n onScroll?: (event: React.SyntheticEvent<HTMLElement>) => void;\n /** Disabled scroll */\n disabledScroll?: boolean;\n}\n\nexport interface IDataTableRowProps extends IBoxProps {\n /** Theme for row */\n theme?: DataTableTheme;\n /** Displays row as active/hover */\n active?: boolean;\n}\n\nexport interface IDataTableCellProps extends IFlexProps {\n /** Unique name column or columns separated by / */\n name: string;\n /** Theme for cell */\n theme?: DataTableTheme;\n}\n\nfunction setBorderGroupColumns(columns: Column[], side?: string) {\n const firstColumn = columns[0];\n const lastColumn = columns[columns.length - 1];\n if (firstColumn && (!side || side === 'left')) {\n firstColumn.borderLeft = true;\n if (firstColumn.columns) {\n setBorderGroupColumns(firstColumn.columns, 'left');\n }\n }\n if (lastColumn && (!side || side === 'right')) {\n lastColumn.borderRight = true;\n if (lastColumn.columns) {\n setBorderGroupColumns(lastColumn.columns, 'right');\n }\n }\n}\n\nclass RootDefinitionTable extends Component<AsProps> {\n static displayName = 'DefinitionTable';\n\n static style = style;\n static enhance = [uniqueIDEnhancement()];\n\n static defaultProps = {\n use: 'primary',\n uniqueKey: 'id',\n sort: [],\n data: [],\n } as AsProps;\n\n columns: Column[] = [];\n\n tableRef = React.createRef<HTMLElement>();\n scrollBodyRef: null | ReturnType<ReturnType<typeof syncScroll>> = null;\n scrollHeadRef: null | ReturnType<ReturnType<typeof syncScroll>> = null;\n\n constructor(props: AsProps) {\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: string, event: React.MouseEvent) => {\n const column = this.columns.find((column) => column.name === name)!;\n return fire(\n this,\n 'onSortChange',\n [\n column.name,\n column.active ? reversedSortDirection[column.sortDirection] : column.sortDirection,\n ],\n event,\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: Column[]) {\n for (const column of columns) {\n if (column.setVar) {\n this.tableRef.current?.style.setProperty(column.varWidth, `${column.width}px`);\n }\n }\n }\n\n childrenToColumns(\n children: React.ReactNode,\n options: { fixed?: 'left' | 'right' } = { fixed: undefined },\n ) {\n const { sort } = this.asProps;\n const columnsChildren: Column[] = [];\n React.Children.forEach(children, (child) => {\n if (!React.isValidElement(child)) return;\n if (child.type !== DefinitionTable.Column) return;\n\n let {\n children,\n name,\n fixed = options.fixed,\n resizable,\n sortable,\n flex,\n vBorders,\n active,\n ...props\n } = child.props as Column['props'];\n const lastColumnChildren = columnsChildren[columnsChildren.length - 1];\n const isGroup = !name;\n let columns: Column[] | undefined;\n\n if (isGroup) {\n columns = this.childrenToColumns(children, { fixed });\n active = typeof active === 'boolean' ? active : columns.some((c) => c.active);\n\n if (vBorders) {\n setBorderGroupColumns(columns);\n }\n\n name = flattenColumns(columns)\n .map(({ name }) => 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((column) => column.name === name);\n const columnChildren = {\n get width() {\n // @ts-ignore\n return this.props.ref.current?.getBoundingClientRect().width || 0;\n },\n name,\n varWidth: createCssVarForWidth(name),\n setVar: flex !== 'inherit',\n fixed,\n resizable,\n active: typeof active === 'boolean' ? active : sort[0] === name,\n sortable,\n borderLeft: lastColumnChildren?.borderRight === true ? false : vBorders,\n borderRight: vBorders,\n sortDirection:\n sort[0] === name\n ? sort[1]\n : column?.sortDirection ||\n (typeof sortable == 'string' ? sortable : defaultSortDirection),\n props: {\n name,\n flex: flex === 'inherit' ? undefined : flex,\n ...props,\n // @ts-ignore\n forwardRef: child.ref,\n children,\n ref: column?.props?.ref || React.createRef(),\n },\n parentColumns: [],\n } as unknown as Column;\n\n if (columns) {\n columnChildren.columns = columns;\n columns.forEach((column) => column.parentColumns.unshift(columnChildren));\n }\n columnsChildren.push(columnChildren);\n });\n return columnsChildren;\n }\n\n getHeadProps(props: HeadAsProps) {\n const { use, uid } = this.asProps;\n const columnsChildren = this.childrenToColumns(props.children);\n\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 uid,\n };\n }\n\n getBodyProps(props: BodyAsProps) {\n const { data, use, uniqueKey, uid } = this.asProps;\n const cellPropsLayers: { [columnName: string]: PropsLayer[] } = {};\n const rowPropsLayers: PropsLayer[] = [];\n\n React.Children.forEach(props.children, (child) => {\n if (React.isValidElement(child)) {\n const { name, children, ...other } = child.props as {\n name?: string;\n children?: PseudoChildPropsGetter;\n } & { [propName: string]: unknown };\n if (child.type === DefinitionTable.Cell && name) {\n name.split('/').forEach((name) => {\n cellPropsLayers[name] = cellPropsLayers[name] || [];\n cellPropsLayers[name].push({\n ...other,\n childrenPropsGetter: children,\n });\n });\n }\n if (child.type === DefinitionTable.Row) {\n rowPropsLayers.push({\n ...other,\n childrenPropsGetter: children,\n });\n }\n }\n });\n\n return {\n columns: this.columns,\n rows: this.dataToRows(data, cellPropsLayers),\n uniqueKey,\n use,\n rowPropsLayers,\n $scrollRef: this.scrollBodyRef,\n uid,\n };\n }\n\n dataToRows(data: RowData[], cellPropsLayers: { [columnName: string]: PropsLayer[] }) {\n const parseData = (data: RowData[], exclude: { [columnName: string]: true }) =>\n data.map((row) => {\n const groupByName: {\n [columnName: string]: {\n groupedColumns: string[];\n groupData: { [columnName: string]: unknown };\n };\n } = {};\n const columnsWithoutRowGroup: { [columnname: string]: true } = {};\n for (const rowKey in row) {\n const columnNames = rowKey.split('/');\n if (columnNames.length >= 2) {\n for (const column of columnNames) {\n groupByName[column] = {\n groupedColumns: columnNames,\n groupData: row[rowKey] as { [columnName: string]: unknown },\n };\n columnsWithoutRowGroup[column] = true;\n }\n } else {\n columnsWithoutRowGroup[rowKey] = true;\n }\n }\n\n const rowsGroup = row[ROW_GROUP] || [];\n const rowsGroupedNames = Object.fromEntries(\n rowsGroup\n .map((subRow) => Object.keys(subRow))\n .flat()\n .map((key) => key.split('/'))\n .flat()\n .map((key) => [key, true]),\n );\n\n let isGroup = false;\n\n const cells: NestedCells = this.columns\n .map((column) => {\n if (groupByName[column.name]) {\n const { groupedColumns, groupData } = groupByName[column.name];\n if (groupedColumns[0] === column.name) {\n return {\n name: groupedColumns.join('/'),\n cssVar: groupedColumns.map(createCssVarForWidth),\n fixed: column.fixed,\n data: groupData,\n cellPropsLayers: cellPropsLayers[column.name] || [],\n };\n }\n } else if (column.name in row) {\n return {\n name: column.name,\n cssVar: column.varWidth,\n fixed: column.fixed,\n data: row[column.name],\n cellPropsLayers: cellPropsLayers[column.name] || [],\n };\n } else if (!isGroup && rowsGroupedNames[column.name]) {\n // TODO: make it work not only with first group\n isGroup = true;\n return parseData(rowsGroup, {\n ...exclude,\n ...columnsWithoutRowGroup,\n });\n } else if (!exclude[column.name] && !rowsGroupedNames[column.name]) {\n // add empty cell if it is not present in data\n return {\n name: column.name,\n cssVar: column.varWidth,\n fixed: column.fixed,\n data: null,\n cellPropsLayers: cellPropsLayers[column.name] || [],\n };\n }\n })\n .filter((column) => column)\n .map((column) => column!);\n\n cells.flatRowData = row;\n return cells;\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, data } = this.asProps;\n\n return sstyled(styles)(\n <SDataTable\n render={Box}\n __excludeProps={['data']}\n ref={this.tableRef}\n role=\"table\"\n aria-rowcount={(data ?? []).length}\n >\n <Children />\n </SDataTable>,\n );\n }\n}\n\ninterface IDataTableCtx {\n getHeadProps: PropGetterFn;\n getBodyProps: PropGetterFn;\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) as (<Props = {}, DataTableData extends { [key: string]: any }[] = { [key: string]: unknown }[]>(\n props: CProps<IDataTableProps<DataTableData> & Props, IDataTableCtx>,\n) => ReturnEl) & {\n Head: <Props>(props: IDataTableHeadProps & Props) => ReturnEl;\n Body: <Props>(props: IDataTableBodyProps & Props) => ReturnEl;\n Column: <Props>(props: IDataTableColumnProps & Props) => ReturnEl;\n Cell: <Props = {}, DataTableData extends { [key: string]: any }[] = { [key: string]: unknown }[]>(\n props: ChildRenderFn<IDataTableCellProps & Props, DataTableData>,\n ) => ReturnEl;\n Row: <Props = {}, DataTableData extends { [key: string]: any }[] = { [key: string]: unknown }[]>(\n props: ChildRenderFn<IDataTableRowProps & Props, DataTableData>,\n ) => ReturnEl;\n};\n\nexport { ROW_GROUP };\nexport default DefinitionTable;\n"],"mappings":"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"}
package/lib/es6/Head.js CHANGED
@@ -20,12 +20,12 @@ import logger from '@semcore/utils/lib/logger';
20
20
  import { setRef } from '@semcore/utils/lib/ref';
21
21
  import 'resize-observer-polyfill';
22
22
  /*__reshadow-styles__:"./style/scroll-area.shadow.css"*/
23
- var scrollStyles = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SShadowHorizontal_1qg8l_gg_:before{left:var(--left_1qg8l)!important}.___SShadowHorizontal_1qg8l_gg_:after{right:var(--right_1qg8l)!important}.___SContainer_1qg8l_gg_.__disabledScroll_1qg8l_gg_{overflow:visible}" /*__inner_css_end__*/, "1qg8l_gg_") /*__reshadow_css_end__*/, {
24
- "__SShadowHorizontal": "___SShadowHorizontal_1qg8l_gg_",
25
- "--left": "--left_1qg8l",
26
- "--right": "--right_1qg8l",
27
- "__SContainer": "___SContainer_1qg8l_gg_",
28
- "_disabledScroll": "__disabledScroll_1qg8l_gg_"
23
+ var scrollStyles = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SShadowHorizontal_aubs5_gg_:before{left:var(--left_aubs5)!important}.___SShadowHorizontal_aubs5_gg_:after{right:var(--right_aubs5)!important}.___SContainer_aubs5_gg_.__disabledScroll_aubs5_gg_{overflow:visible}" /*__inner_css_end__*/, "aubs5_gg_") /*__reshadow_css_end__*/, {
24
+ "__SShadowHorizontal": "___SShadowHorizontal_aubs5_gg_",
25
+ "--left": "--left_aubs5",
26
+ "--right": "--right_aubs5",
27
+ "__SContainer": "___SContainer_aubs5_gg_",
28
+ "_disabledScroll": "__disabledScroll_aubs5_gg_"
29
29
  });
30
30
  var SORTING_ICON = {
31
31
  desc: SortDesc,
@@ -7,15 +7,18 @@ declare type CProps<Props, Ctx = {}, UCProps = {}> = Props & {
7
7
  children?: ((props: Props & Ctx, handlers: UCProps) => React.ReactNode) | React.ReactNode;
8
8
  };
9
9
  declare type ReturnEl = React.ReactElement | null;
10
- declare type ChildRenderFn<Props> = Props & {
11
- children?: (props: Props, column: DataTableData, index: number) => {
12
- [key: string]: unknown;
13
- };
10
+ declare type ChildRenderFn<Props, DataTableData extends {
11
+ [key: string]: unknown;
12
+ }[]> = Props & {
13
+ children?: (props: Props, column: DataTableData[0], index: number) => Partial<Props>;
14
14
  };
15
15
  export declare type DataTableData = {
16
16
  [key: string]: unknown;
17
17
  };
18
- export declare type DataTableSort = [string, 'desc' | 'asc'];
18
+ export declare type DataTableSort<Columns extends string | number | symbol = string> = [
19
+ sortBy: Columns,
20
+ sortDirection: 'desc' | 'asc'
21
+ ];
19
22
  export declare type DataTableTheme = 'muted' | 'info' | 'success' | 'warning' | 'danger';
20
23
  export declare type DataTableUse = 'primary' | 'secondary';
21
24
  export declare type DataTableRow = DataTableCell[];
@@ -26,21 +29,25 @@ export declare type DataTableCell = {
26
29
  data: React.ReactNode;
27
30
  [key: string]: unknown;
28
31
  };
29
- export interface IDataTableProps extends IBoxProps {
32
+ export interface IDataTableProps<DataTableData extends {
33
+ [key: string]: any;
34
+ }[] = {
35
+ [key: string]: unknown;
36
+ }[]> extends IBoxProps {
30
37
  /** Theme for table
31
38
  * @default primary
32
39
  * */
33
40
  use?: DataTableUse;
34
41
  /** Data for table */
35
- data?: DataTableData[];
42
+ data?: DataTableData;
36
43
  /** Active sort object */
37
- sort?: DataTableSort;
44
+ sort?: DataTableSort<keyof DataTableData[0]>;
38
45
  /** Handler call when will request change sort */
39
- onSortChange?: (sort: DataTableSort, e?: React.SyntheticEvent) => void;
46
+ onSortChange?: (sort: DataTableSort<keyof DataTableData[0]>, e?: React.SyntheticEvent) => void;
40
47
  /** Field name in one data entity that is unique accross all set of data
41
48
  * @default id
42
49
  */
43
- uniqueKey?: string;
50
+ uniqueKey?: keyof DataTableData[0];
44
51
  }
45
52
  export interface IDataTableHeadProps extends IBoxProps {
46
53
  /** Sticky header table
@@ -108,12 +115,24 @@ interface IDataTableCtx {
108
115
  getHeadProps: PropGetterFn;
109
116
  getBodyProps: PropGetterFn;
110
117
  }
111
- declare const DefinitionTable: (<T>(props: CProps<IDataTableProps & T, IDataTableCtx, {}>) => ReturnEl) & {
112
- Head: <T_1>(props: IDataTableHeadProps & T_1) => ReturnEl;
113
- Body: <T_2>(props: IDataTableBodyProps & T_2) => ReturnEl;
114
- Column: <T_3>(props: IDataTableColumnProps & T_3) => ReturnEl;
115
- Cell: <T_4>(props: ChildRenderFn<IDataTableCellProps & T_4>) => ReturnEl;
116
- Row: <T_5>(props: ChildRenderFn<IDataTableRowProps & T_5>) => ReturnEl;
118
+ declare const DefinitionTable: (<Props = {}, DataTableData_1 extends {
119
+ [key: string]: any;
120
+ }[] = {
121
+ [key: string]: unknown;
122
+ }[]>(props: CProps<IDataTableProps<DataTableData_1> & Props, IDataTableCtx, {}>) => ReturnEl) & {
123
+ Head: <Props_1>(props: IDataTableHeadProps & Props_1) => ReturnEl;
124
+ Body: <Props_2>(props: IDataTableBodyProps & Props_2) => ReturnEl;
125
+ Column: <Props_3>(props: IDataTableColumnProps & Props_3) => ReturnEl;
126
+ Cell: <Props_4 = {}, DataTableData_2 extends {
127
+ [key: string]: any;
128
+ }[] = {
129
+ [key: string]: unknown;
130
+ }[]>(props: ChildRenderFn<IDataTableCellProps & Props_4, DataTableData_2>) => ReturnEl;
131
+ Row: <Props_5 = {}, DataTableData_3 extends {
132
+ [key: string]: any;
133
+ }[] = {
134
+ [key: string]: unknown;
135
+ }[]>(props: ChildRenderFn<IDataTableRowProps & Props_5, DataTableData_3>) => ReturnEl;
117
136
  };
118
137
  export { ROW_GROUP };
119
138
  export default DefinitionTable;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@semcore/data-table",
3
3
  "description": "Semrush DataTable Component",
4
- "version": "3.8.9",
4
+ "version": "3.9.1",
5
5
  "main": "lib/cjs/index.js",
6
6
  "module": "lib/es6/index.js",
7
7
  "typings": "lib/types/index.d.ts",