@semcore/data-table 3.7.28 → 3.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -12
- package/lib/cjs/Body.js +49 -116
- package/lib/cjs/Body.js.map +1 -1
- package/lib/cjs/DataTable.js +67 -144
- package/lib/cjs/DataTable.js.map +1 -1
- package/lib/cjs/Head.js +24 -74
- package/lib/cjs/Head.js.map +1 -1
- package/lib/cjs/index.js +0 -3
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/style/data-table.shadow.css +45 -29
- package/lib/cjs/types.js.map +1 -1
- package/lib/cjs/utils.js +0 -8
- package/lib/cjs/utils.js.map +1 -1
- package/lib/es6/Body.js +49 -108
- package/lib/es6/Body.js.map +1 -1
- package/lib/es6/DataTable.js +67 -133
- package/lib/es6/DataTable.js.map +1 -1
- package/lib/es6/Head.js +24 -60
- package/lib/es6/Head.js.map +1 -1
- package/lib/es6/index.js.map +1 -1
- package/lib/es6/style/data-table.shadow.css +45 -29
- package/lib/es6/types.js.map +1 -1
- package/lib/es6/utils.js +0 -2
- package/lib/es6/utils.js.map +1 -1
- package/package.json +1 -1
package/lib/es6/DataTable.js
CHANGED
|
@@ -10,7 +10,7 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
|
10
10
|
import { sstyled as _sstyled } from "@semcore/core";
|
|
11
11
|
import { assignProps as _assignProps } from "@semcore/core";
|
|
12
12
|
var _excluded = ["children", "name", "fixed", "resizable", "sortable", "flex", "vBorders", "active"],
|
|
13
|
-
|
|
13
|
+
_excluded2 = ["name", "children"];
|
|
14
14
|
import React from 'react';
|
|
15
15
|
import createComponent, { Component, Root, sstyled } from '@semcore/core';
|
|
16
16
|
import { Box } from '@semcore/flex-box';
|
|
@@ -20,57 +20,47 @@ import fire from '@semcore/utils/lib/fire';
|
|
|
20
20
|
import { flattenColumns } from './utils';
|
|
21
21
|
import Head from './Head';
|
|
22
22
|
import Body from './Body';
|
|
23
|
-
|
|
24
23
|
/*__reshadow-styles__:"./style/data-table.shadow.css"*/
|
|
25
|
-
var style = (
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
".___SDataTable_3mbfi_gg_,.___SHeadWrapper_3mbfi_gg_{position:relative}.___SDataTable_3mbfi_gg_.__compact_3mbfi_gg_ .___SCell_3mbfi_gg_,.___SDataTable_3mbfi_gg_.__compact_3mbfi_gg_ .___SColumn_3mbfi_gg_{padding:var(--intergalactic-spacing-3x, 12px) var(--intergalactic-spacing-2x, 8px)}.___SHeadWrapper_3mbfi_gg_.__sticky_3mbfi_gg_{position:sticky;top:0;z-index:2}.___SHead_3mbfi_gg_{display:flex;position:relative;flex-direction:row;min-width:-moz-fit-content;min-width:fit-content;z-index:0}.___SColumn_3mbfi_gg_{display:flex;align-items:flex-start;flex-grow:1;font-size:var(--intergalactic-fs-100, 12px);color:var(--intergalactic-text-primary, #191b23);box-sizing:border-box;position:relative}.___SColumn_3mbfi_gg_.focus-visible{outline:0;box-shadow:inset var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.3))}.___SColumn_3mbfi_gg_:focus-visible{outline:0;box-shadow:inset var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.3))}.___SColumn_3mbfi_gg_.__hidden_3mbfi_gg_{height:0!important;padding:0!important;overflow:hidden!important;border:0!important}.___SColumn_3mbfi_gg_._use_primary_3mbfi_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_3mbfi_gg_._use_secondary_3mbfi_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_3mbfi_gg_.__group_3mbfi_gg_.__use_3mbfi_gg_{display:flex;flex-wrap:wrap;flex-direction:column;align-items:normal;border-bottom:none;padding:0}.___SColumn_3mbfi_gg_.__groupHead_3mbfi_gg_{justify-content:center;z-index:1;border-bottom:none}.___SColumn_3mbfi_gg_.__sortable_3mbfi_gg_{cursor:pointer}@media (hover:hover){.___SColumn_3mbfi_gg_.__sortable_3mbfi_gg_._use_primary_3mbfi_gg_:hover{background-color:var(--intergalactic-table-th-primary-cell-hover, #e0e1e9)}.___SColumn_3mbfi_gg_.__sortable_3mbfi_gg_:hover .___SSortWrapper_3mbfi_gg_{display:block}}.___SColumn_3mbfi_gg_._use_primary_3mbfi_gg_.__active_3mbfi_gg_{background-color:var(--intergalactic-table-th-primary-cell-active, #e0e1e9);width:100%}.___SColumn_3mbfi_gg_.__active_3mbfi_gg_ .___SSortIcon_3mbfi_gg_{position:relative}.___SColumn_3mbfi_gg_.__sortIconFloat_3mbfi_gg_ .___SSortWrapper_3mbfi_gg_{width:0;flex-basis:0}.___SColumn_3mbfi_gg_.__active_3mbfi_gg_ .___SSortWrapper_3mbfi_gg_{display:block;width:16px;flex-basis:20px;margin-left:var(--intergalactic-spacing-1x, 4px)}.___SColumn_3mbfi_gg_.__resizable_3mbfi_gg_{border-right:1px solid transparent}@media (hover:hover){.___SColumn_3mbfi_gg_.__resizable_3mbfi_gg_:hover:after{border-right-color:var(--intergalactic-border-table-accent, #a9abb6)}}.___SColumn_3mbfi_gg_.__resizable_3mbfi_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_3mbfi_gg_.__fixed_3mbfi_gg_{position:sticky;z-index:2}.___SCell_3mbfi_gg_.__borderLeft_3mbfi_gg_,.___SColumn_3mbfi_gg_.__borderLeft_3mbfi_gg_{border-left:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SCell_3mbfi_gg_.__borderRight_3mbfi_gg_,.___SColumn_3mbfi_gg_.__borderRight_3mbfi_gg_{border-right:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SSortIcon_3mbfi_gg_{fill:var(--intergalactic-icon-secondary-neutral-hover-active, #8a8e9b);position:absolute;top:-2px;right:0}.___SSortWrapper_3mbfi_gg_{display:none;flex-shrink:99999;position:relative;flex-basis:20px;height:0}.___SSortWrapper_3mbfi_gg_:before{content:\"\";position:absolute;top:-2px;right:0;width:20px;height:16px}.___SColumn_3mbfi_gg_._use_primary_3mbfi_gg_ .___SSortWrapper_3mbfi_gg_:before{background:linear-gradient(270deg,var(--intergalactic-table-th-primary-cell-hover, #e0e1e9) 67.5%,rgba(224,225,233,0) 105%)}.___SColumn_3mbfi_gg_._use_secondary_3mbfi_gg_ .___SSortWrapper_3mbfi_gg_:before{background:linear-gradient(270deg,var(--intergalactic-table-th-secondary-cell, #ffffff) 67.5%,rgba(255,255,255,0) 105%)}.___SBodyWrapper_3mbfi_gg_{position:relative}.___SBody_3mbfi_gg_{display:flex;flex-direction:column;position:relative;min-width:-moz-fit-content;min-width:fit-content}.___SRow_3mbfi_gg_{display:flex;flex-direction:row;position:relative}.___SRow_3mbfi_gg_.__active_3mbfi_gg_>.___SCell_3mbfi_gg_:not(.__theme_3mbfi_gg_),.___SRow_3mbfi_gg_._theme_muted_3mbfi_gg_.__active_3mbfi_gg_>.___SCell_3mbfi_gg_:not(.__theme_3mbfi_gg_){background-color:var(--intergalactic-table-td-cell-hover, #f0f0f4)}@media (hover:hover){.___SRow_3mbfi_gg_ .___SCell_3mbfi_gg_:hover+.___SGroupCell_3mbfi_gg_ .___SCell_3mbfi_gg_:not(.__theme_3mbfi_gg_),.___SRow_3mbfi_gg_:hover>.___SCell_3mbfi_gg_:not(.__theme_3mbfi_gg_){background-color:var(--intergalactic-table-td-cell-hover, #f0f0f4)}}.___SRow_3mbfi_gg_._theme_muted_3mbfi_gg_ .___SCell_3mbfi_gg_:not(.__theme_3mbfi_gg_){background-color:var(--intergalactic-table-td-cell-unread, #f4f5f9)}@media (hover:hover){.___SRow_3mbfi_gg_._theme_muted_3mbfi_gg_ .___SCell_3mbfi_gg_:hover+.___SGroupCell_3mbfi_gg_ .___SCell_3mbfi_gg_:not(.__theme_3mbfi_gg_),.___SRow_3mbfi_gg_._theme_muted_3mbfi_gg_:hover>.___SCell_3mbfi_gg_:not(.__theme_3mbfi_gg_),.___SRow_3mbfi_gg_:hover>.___SCell_3mbfi_gg_._theme_muted_3mbfi_gg_{background-color:var(--intergalactic-table-td-cell-hover, #f0f0f4)}}.___SRow_3mbfi_gg_._theme_info_3mbfi_gg_ .___SCell_3mbfi_gg_:not(.__theme_3mbfi_gg_){background-color:var(--intergalactic-table-td-cell-selected, #e9f7ff)}.___SRow_3mbfi_gg_._theme_info_3mbfi_gg_.__active_3mbfi_gg_>.___SCell_3mbfi_gg_:not(.__theme_3mbfi_gg_){background-color:var(--intergalactic-table-td-cell-selected-hover, #c4e5fe)}@media (hover:hover){.___SRow_3mbfi_gg_._theme_info_3mbfi_gg_ .___SCell_3mbfi_gg_:hover+.___SGroupCell_3mbfi_gg_ .___SCell_3mbfi_gg_:not(.__theme_3mbfi_gg_),.___SRow_3mbfi_gg_._theme_info_3mbfi_gg_:hover>.___SCell_3mbfi_gg_:not(.__theme_3mbfi_gg_),.___SRow_3mbfi_gg_:hover>.___SCell_3mbfi_gg_._theme_info_3mbfi_gg_{background-color:var(--intergalactic-table-td-cell-selected-hover, #c4e5fe)}}.___SRow_3mbfi_gg_._theme_success_3mbfi_gg_ .___SCell_3mbfi_gg_:not(.__theme_3mbfi_gg_){background-color:var(--intergalactic-table-td-cell-new, #dbfee8)}.___SRow_3mbfi_gg_._theme_success_3mbfi_gg_.__active_3mbfi_gg_>.___SCell_3mbfi_gg_:not(.__theme_3mbfi_gg_){background-color:var(--intergalactic-table-td-cell-new-hover, #9ef2c9)}@media (hover:hover){.___SRow_3mbfi_gg_._theme_success_3mbfi_gg_ .___SCell_3mbfi_gg_:hover+.___SGroupCell_3mbfi_gg_ .___SCell_3mbfi_gg_:not(.__theme_3mbfi_gg_),.___SRow_3mbfi_gg_._theme_success_3mbfi_gg_:hover>.___SCell_3mbfi_gg_:not(.__theme_3mbfi_gg_),.___SRow_3mbfi_gg_:hover>.___SCell_3mbfi_gg_._theme_success_3mbfi_gg_{background-color:var(--intergalactic-table-td-cell-new-hover, #9ef2c9)}}.___SRow_3mbfi_gg_._theme_warning_3mbfi_gg_ .___SCell_3mbfi_gg_:not(.__theme_3mbfi_gg_){background-color:var(--intergalactic-table-td-cell-warning, #fff3d9)}.___SRow_3mbfi_gg_._theme_warning_3mbfi_gg_.__active_3mbfi_gg_>.___SCell_3mbfi_gg_:not(.__theme_3mbfi_gg_){background-color:var(--intergalactic-table-td-cell-warning-hover, #ffdca2)}@media (hover:hover){.___SRow_3mbfi_gg_._theme_warning_3mbfi_gg_ .___SCell_3mbfi_gg_:hover+.___SGroupCell_3mbfi_gg_ .___SCell_3mbfi_gg_:not(.__theme_3mbfi_gg_),.___SRow_3mbfi_gg_._theme_warning_3mbfi_gg_:hover>.___SCell_3mbfi_gg_:not(.__theme_3mbfi_gg_),.___SRow_3mbfi_gg_:hover>.___SCell_3mbfi_gg_._theme_warning_3mbfi_gg_{background-color:var(--intergalactic-table-td-cell-warning-hover, #ffdca2)}}.___SRow_3mbfi_gg_._theme_danger_3mbfi_gg_ .___SCell_3mbfi_gg_:not(.__theme_3mbfi_gg_){background-color:var(--intergalactic-table-td-cell-critical, #fff0f7)}.___SRow_3mbfi_gg_._theme_danger_3mbfi_gg_.__active_3mbfi_gg_>.___SCell_3mbfi_gg_:not(.__theme_3mbfi_gg_){background-color:var(--intergalactic-table-td-cell-critical-hover, #ffd7df)}@media (hover:hover){.___SRow_3mbfi_gg_._theme_danger_3mbfi_gg_ .___SCell_3mbfi_gg_:hover+.___SGroupCell_3mbfi_gg_ .___SCell_3mbfi_gg_:not(.__theme_3mbfi_gg_),.___SRow_3mbfi_gg_._theme_danger_3mbfi_gg_:hover>.___SCell_3mbfi_gg_:not(.__theme_3mbfi_gg_),.___SRow_3mbfi_gg_:hover>.___SCell_3mbfi_gg_._theme_danger_3mbfi_gg_{background-color:var(--intergalactic-table-td-cell-critical-hover, #ffd7df)}}.___SRow_3mbfi_gg_.__positioned_3mbfi_gg_{position:absolute}.___SCell_3mbfi_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_3mbfi_gg_._use_primary_3mbfi_gg_{padding:var(--intergalactic-spacing-3x, 12px);min-height:45px;background-color:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SCell_3mbfi_gg_._use_secondary_3mbfi_gg_{padding:var(--intergalactic-spacing-2x, 8px);min-height:37px;background-color:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SCell_3mbfi_gg_.__fixed_3mbfi_gg_{position:sticky;z-index:1}.___SCell_3mbfi_gg_._theme_muted_3mbfi_gg_{background-color:var(--intergalactic-table-td-cell-unread, #f4f5f9)}.___SCell_3mbfi_gg_._theme_info_3mbfi_gg_{background-color:var(--intergalactic-table-td-cell-selected, #e9f7ff)}.___SCell_3mbfi_gg_._theme_success_3mbfi_gg_{background-color:var(--intergalactic-table-td-cell-new, #dbfee8)}.___SCell_3mbfi_gg_._theme_warning_3mbfi_gg_{background-color:var(--intergalactic-table-td-cell-warning, #fff3d9)}.___SCell_3mbfi_gg_._theme_danger_3mbfi_gg_{background-color:var(--intergalactic-table-td-cell-critical, #fff0f7)}.___SScrollAreaBar_3mbfi_gg_._orientation_horizontal_3mbfi_gg_{position:sticky;bottom:0;left:0;margin-top:calc(-1*var(--intergalactic-spacing-3x, 12px));z-index:2}.___SScrollAreaBar_3mbfi_gg_._orientation_vertical_3mbfi_gg_{width:12px}.___SScrollAreaBar_3mbfi_gg_._orientation_horizontal_3mbfi_gg_{margin-left:calc(var(--left_3mbfi) + var(--intergalactic-spacing-1x, 4px));margin-right:calc(var(--right_3mbfi) + var(--intergalactic-spacing-1x, 4px));width:calc(100% - var(--offsetSum_3mbfi) - 8px)}.___SHeightHold_3mbfi_gg_{position:absolute;top:0;width:100%;pointer-events:none;z-index:-1}"
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
,
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
"
|
|
37
|
-
"
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
"
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
"
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
"
|
|
54
|
-
"
|
|
55
|
-
"
|
|
56
|
-
"
|
|
57
|
-
"
|
|
58
|
-
"
|
|
59
|
-
"
|
|
60
|
-
"
|
|
61
|
-
"
|
|
62
|
-
"
|
|
63
|
-
"
|
|
64
|
-
"
|
|
65
|
-
"_theme_danger": "_theme_danger_3mbfi_gg_",
|
|
66
|
-
"_positioned": "__positioned_3mbfi_gg_",
|
|
67
|
-
"__SScrollAreaBar": "___SScrollAreaBar_3mbfi_gg_",
|
|
68
|
-
"_orientation_horizontal": "_orientation_horizontal_3mbfi_gg_",
|
|
69
|
-
"_orientation_vertical": "_orientation_vertical_3mbfi_gg_",
|
|
70
|
-
"--left": "--left_3mbfi",
|
|
71
|
-
"--right": "--right_3mbfi",
|
|
72
|
-
"--offsetSum": "--offsetSum_3mbfi",
|
|
73
|
-
"__SHeightHold": "___SHeightHold_3mbfi_gg_"
|
|
24
|
+
var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SDataTable_13obu_gg_,.___SHeadWrapper_13obu_gg_{position:relative}.___SDataTable_13obu_gg_.__compact_13obu_gg_ .___SCell_13obu_gg_,.___SDataTable_13obu_gg_.__compact_13obu_gg_ .___SColumn_13obu_gg_{padding:var(--intergalactic-spacing-3x, 12px) var(--intergalactic-spacing-2x, 8px)}.___SHeadWrapper_13obu_gg_.__sticky_13obu_gg_{position:sticky;top:0;z-index:2}.___SHead_13obu_gg_{display:flex;position:relative;flex-direction:row;min-width:-moz-fit-content;min-width:fit-content;z-index:0}.___SColumn_13obu_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_13obu_gg_.focus-visible{outline:0;box-shadow:inset var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.3))}.___SColumn_13obu_gg_:focus-visible{outline:0;box-shadow:inset var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.3))}.___SColumn_13obu_gg_.__hidden_13obu_gg_{height:0!important;padding:0!important;overflow:hidden!important;border:0!important}.___SColumn_13obu_gg_._use_primary_13obu_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_13obu_gg_._use_secondary_13obu_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_13obu_gg_.__group_13obu_gg_.__use_13obu_gg_{display:flex;flex-wrap:wrap;flex-direction:column;align-items:normal;border-bottom:none;padding:0}.___SColumn_13obu_gg_.__groupHead_13obu_gg_{justify-content:center;z-index:1;border-bottom:none}.___SColumn_13obu_gg_.__sortable_13obu_gg_{cursor:pointer}@media (hover:hover){.___SColumn_13obu_gg_.__sortable_13obu_gg_._use_primary_13obu_gg_:hover{background-color:var(--intergalactic-table-th-primary-cell-hover, #e0e1e9)}.___SColumn_13obu_gg_.__sortable_13obu_gg_:hover .___SSortWrapper_13obu_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}.___SColumn_13obu_gg_.__sortable_13obu_gg_:hover .___SSortIcon_13obu_gg_,.___SColumn_13obu_gg_.__sortable_13obu_gg_:hover .___SSortWrapper_13obu_gg_:before{display:block;opacity:1}}.___SColumn_13obu_gg_._use_primary_13obu_gg_.__active_13obu_gg_{background-color:var(--intergalactic-table-th-primary-cell-active, #e0e1e9);width:100%}.___SColumn_13obu_gg_.__active_13obu_gg_ .___SSortWrapper_13obu_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}.___SColumn_13obu_gg_.__active_13obu_gg_ .___SSortIcon_13obu_gg_{display:block;position:relative;opacity:1}.___SColumn_13obu_gg_.__resizable_13obu_gg_{border-right:1px solid transparent}@media (hover:hover){.___SColumn_13obu_gg_.__resizable_13obu_gg_:hover:after{border-right-color:var(--intergalactic-border-table-accent, #a9abb6)}}.___SColumn_13obu_gg_.__resizable_13obu_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_13obu_gg_.__fixed_13obu_gg_{position:sticky;z-index:2}.___SCell_13obu_gg_.__borderLeft_13obu_gg_,.___SColumn_13obu_gg_.__borderLeft_13obu_gg_{border-left:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SCell_13obu_gg_.__borderRight_13obu_gg_,.___SColumn_13obu_gg_.__borderRight_13obu_gg_{border-right:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SSortWrapper_13obu_gg_{flex-shrink:99999;position:relative;flex-basis:0;height:100%;min-height:16px;opacity:0;transition:all .3s ease}.___SSortIcon_13obu_gg_,.___SSortWrapper_13obu_gg_:before{display:none;position:absolute;right:0;opacity:0;transition:opacity .3s ease}.___SSortWrapper_13obu_gg_:before{content:\"\";top:0;width:20px;height:100%}.___SSortIcon_13obu_gg_{fill:var(--intergalactic-icon-secondary-neutral-hover-active, #8a8e9b);top:calc(1em*1.25 - 16px);margin-left:var(--intergalactic-spacing-1x, 4px)}.___SColumn_13obu_gg_._use_primary_13obu_gg_ .___SSortWrapper_13obu_gg_:before{background:linear-gradient(270deg,var(--intergalactic-table-th-primary-cell-hover, #e0e1e9) 67.5%,rgba(224,225,233,0) 105%)}.___SColumn_13obu_gg_._use_secondary_13obu_gg_ .___SSortWrapper_13obu_gg_:before{background:linear-gradient(270deg,var(--intergalactic-table-th-secondary-cell, #ffffff) 67.5%,rgba(255,255,255,0) 105%)}.___SBodyWrapper_13obu_gg_{position:relative}.___SBody_13obu_gg_{display:flex;flex-direction:column;position:relative;min-width:-moz-fit-content;min-width:fit-content}.___SRow_13obu_gg_{display:flex;flex-direction:row;position:relative}.___SRow_13obu_gg_.__active_13obu_gg_>.___SCell_13obu_gg_:not(.__theme_13obu_gg_),.___SRow_13obu_gg_._theme_muted_13obu_gg_.__active_13obu_gg_>.___SCell_13obu_gg_:not(.__theme_13obu_gg_){background-color:var(--intergalactic-table-td-cell-hover, #f0f0f4)}@media (hover:hover){.___SRow_13obu_gg_ .___SCell_13obu_gg_:hover+.___SGroupCell_13obu_gg_ .___SCell_13obu_gg_:not(.__theme_13obu_gg_),.___SRow_13obu_gg_:hover>.___SCell_13obu_gg_:not(.__theme_13obu_gg_){background-color:var(--intergalactic-table-td-cell-hover, #f0f0f4)}}.___SRow_13obu_gg_._theme_muted_13obu_gg_ .___SCell_13obu_gg_:not(.__theme_13obu_gg_){background-color:var(--intergalactic-table-td-cell-unread, #f4f5f9)}@media (hover:hover){.___SRow_13obu_gg_._theme_muted_13obu_gg_ .___SCell_13obu_gg_:hover+.___SGroupCell_13obu_gg_ .___SCell_13obu_gg_:not(.__theme_13obu_gg_),.___SRow_13obu_gg_._theme_muted_13obu_gg_:hover>.___SCell_13obu_gg_:not(.__theme_13obu_gg_),.___SRow_13obu_gg_:hover>.___SCell_13obu_gg_._theme_muted_13obu_gg_{background-color:var(--intergalactic-table-td-cell-hover, #f0f0f4)}}.___SRow_13obu_gg_._theme_info_13obu_gg_ .___SCell_13obu_gg_:not(.__theme_13obu_gg_){background-color:var(--intergalactic-table-td-cell-selected, #e9f7ff)}.___SRow_13obu_gg_._theme_info_13obu_gg_.__active_13obu_gg_>.___SCell_13obu_gg_:not(.__theme_13obu_gg_){background-color:var(--intergalactic-table-td-cell-selected-hover, #c4e5fe)}@media (hover:hover){.___SRow_13obu_gg_._theme_info_13obu_gg_ .___SCell_13obu_gg_:hover+.___SGroupCell_13obu_gg_ .___SCell_13obu_gg_:not(.__theme_13obu_gg_),.___SRow_13obu_gg_._theme_info_13obu_gg_:hover>.___SCell_13obu_gg_:not(.__theme_13obu_gg_),.___SRow_13obu_gg_:hover>.___SCell_13obu_gg_._theme_info_13obu_gg_{background-color:var(--intergalactic-table-td-cell-selected-hover, #c4e5fe)}}.___SRow_13obu_gg_._theme_success_13obu_gg_ .___SCell_13obu_gg_:not(.__theme_13obu_gg_){background-color:var(--intergalactic-table-td-cell-new, #dbfee8)}.___SRow_13obu_gg_._theme_success_13obu_gg_.__active_13obu_gg_>.___SCell_13obu_gg_:not(.__theme_13obu_gg_){background-color:var(--intergalactic-table-td-cell-new-hover, #9ef2c9)}@media (hover:hover){.___SRow_13obu_gg_._theme_success_13obu_gg_ .___SCell_13obu_gg_:hover+.___SGroupCell_13obu_gg_ .___SCell_13obu_gg_:not(.__theme_13obu_gg_),.___SRow_13obu_gg_._theme_success_13obu_gg_:hover>.___SCell_13obu_gg_:not(.__theme_13obu_gg_),.___SRow_13obu_gg_:hover>.___SCell_13obu_gg_._theme_success_13obu_gg_{background-color:var(--intergalactic-table-td-cell-new-hover, #9ef2c9)}}.___SRow_13obu_gg_._theme_warning_13obu_gg_ .___SCell_13obu_gg_:not(.__theme_13obu_gg_){background-color:var(--intergalactic-table-td-cell-warning, #fff3d9)}.___SRow_13obu_gg_._theme_warning_13obu_gg_.__active_13obu_gg_>.___SCell_13obu_gg_:not(.__theme_13obu_gg_){background-color:var(--intergalactic-table-td-cell-warning-hover, #ffdca2)}@media (hover:hover){.___SRow_13obu_gg_._theme_warning_13obu_gg_ .___SCell_13obu_gg_:hover+.___SGroupCell_13obu_gg_ .___SCell_13obu_gg_:not(.__theme_13obu_gg_),.___SRow_13obu_gg_._theme_warning_13obu_gg_:hover>.___SCell_13obu_gg_:not(.__theme_13obu_gg_),.___SRow_13obu_gg_:hover>.___SCell_13obu_gg_._theme_warning_13obu_gg_{background-color:var(--intergalactic-table-td-cell-warning-hover, #ffdca2)}}.___SRow_13obu_gg_._theme_danger_13obu_gg_ .___SCell_13obu_gg_:not(.__theme_13obu_gg_){background-color:var(--intergalactic-table-td-cell-critical, #fff0f7)}.___SRow_13obu_gg_._theme_danger_13obu_gg_.__active_13obu_gg_>.___SCell_13obu_gg_:not(.__theme_13obu_gg_){background-color:var(--intergalactic-table-td-cell-critical-hover, #ffd7df)}@media (hover:hover){.___SRow_13obu_gg_._theme_danger_13obu_gg_ .___SCell_13obu_gg_:hover+.___SGroupCell_13obu_gg_ .___SCell_13obu_gg_:not(.__theme_13obu_gg_),.___SRow_13obu_gg_._theme_danger_13obu_gg_:hover>.___SCell_13obu_gg_:not(.__theme_13obu_gg_),.___SRow_13obu_gg_:hover>.___SCell_13obu_gg_._theme_danger_13obu_gg_{background-color:var(--intergalactic-table-td-cell-critical-hover, #ffd7df)}}.___SRow_13obu_gg_.__positioned_13obu_gg_{position:absolute}.___SCell_13obu_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_13obu_gg_._use_primary_13obu_gg_{padding:var(--intergalactic-spacing-3x, 12px);min-height:45px;background-color:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SCell_13obu_gg_._use_secondary_13obu_gg_{padding:var(--intergalactic-spacing-2x, 8px);min-height:37px;background-color:var(--intergalactic-bg-primary-neutral, #ffffff)}.___SCell_13obu_gg_.__fixed_13obu_gg_{position:sticky;z-index:1}.___SCell_13obu_gg_._theme_muted_13obu_gg_{background-color:var(--intergalactic-table-td-cell-unread, #f4f5f9)}.___SCell_13obu_gg_._theme_info_13obu_gg_{background-color:var(--intergalactic-table-td-cell-selected, #e9f7ff)}.___SCell_13obu_gg_._theme_success_13obu_gg_{background-color:var(--intergalactic-table-td-cell-new, #dbfee8)}.___SCell_13obu_gg_._theme_warning_13obu_gg_{background-color:var(--intergalactic-table-td-cell-warning, #fff3d9)}.___SCell_13obu_gg_._theme_danger_13obu_gg_{background-color:var(--intergalactic-table-td-cell-critical, #fff0f7)}.___SScrollAreaBar_13obu_gg_._orientation_horizontal_13obu_gg_{position:sticky;bottom:0;left:0;margin-top:calc(-1*var(--intergalactic-spacing-3x, 12px));z-index:2}.___SScrollAreaBar_13obu_gg_._orientation_vertical_13obu_gg_{width:12px}.___SScrollAreaBar_13obu_gg_._orientation_horizontal_13obu_gg_{margin-left:calc(var(--left_13obu) + var(--intergalactic-spacing-1x, 4px));margin-right:calc(var(--right_13obu) + var(--intergalactic-spacing-1x, 4px));width:calc(100% - var(--offsetSum_13obu) - 8px)}.___SHeightHold_13obu_gg_{position:absolute;top:0;width:100%;pointer-events:none;z-index:-1}" /*__inner_css_end__*/, "13obu_gg_") /*__reshadow_css_end__*/, {
|
|
25
|
+
"__SDataTable": "___SDataTable_13obu_gg_",
|
|
26
|
+
"_compact": "__compact_13obu_gg_",
|
|
27
|
+
"__SColumn": "___SColumn_13obu_gg_",
|
|
28
|
+
"__SCell": "___SCell_13obu_gg_",
|
|
29
|
+
"__SHeadWrapper": "___SHeadWrapper_13obu_gg_",
|
|
30
|
+
"_sticky": "__sticky_13obu_gg_",
|
|
31
|
+
"__SHead": "___SHead_13obu_gg_",
|
|
32
|
+
"_hidden": "__hidden_13obu_gg_",
|
|
33
|
+
"_use_primary": "_use_primary_13obu_gg_",
|
|
34
|
+
"_use_secondary": "_use_secondary_13obu_gg_",
|
|
35
|
+
"_group": "__group_13obu_gg_",
|
|
36
|
+
"_use": "__use_13obu_gg_",
|
|
37
|
+
"_groupHead": "__groupHead_13obu_gg_",
|
|
38
|
+
"_sortable": "__sortable_13obu_gg_",
|
|
39
|
+
"__SSortWrapper": "___SSortWrapper_13obu_gg_",
|
|
40
|
+
"__SSortIcon": "___SSortIcon_13obu_gg_",
|
|
41
|
+
"_active": "__active_13obu_gg_",
|
|
42
|
+
"_resizable": "__resizable_13obu_gg_",
|
|
43
|
+
"_fixed": "__fixed_13obu_gg_",
|
|
44
|
+
"_borderLeft": "__borderLeft_13obu_gg_",
|
|
45
|
+
"_borderRight": "__borderRight_13obu_gg_",
|
|
46
|
+
"__SBodyWrapper": "___SBodyWrapper_13obu_gg_",
|
|
47
|
+
"__SBody": "___SBody_13obu_gg_",
|
|
48
|
+
"__SRow": "___SRow_13obu_gg_",
|
|
49
|
+
"_theme": "__theme_13obu_gg_",
|
|
50
|
+
"__SGroupCell": "___SGroupCell_13obu_gg_",
|
|
51
|
+
"_theme_muted": "_theme_muted_13obu_gg_",
|
|
52
|
+
"_theme_info": "_theme_info_13obu_gg_",
|
|
53
|
+
"_theme_success": "_theme_success_13obu_gg_",
|
|
54
|
+
"_theme_warning": "_theme_warning_13obu_gg_",
|
|
55
|
+
"_theme_danger": "_theme_danger_13obu_gg_",
|
|
56
|
+
"_positioned": "__positioned_13obu_gg_",
|
|
57
|
+
"__SScrollAreaBar": "___SScrollAreaBar_13obu_gg_",
|
|
58
|
+
"_orientation_horizontal": "_orientation_horizontal_13obu_gg_",
|
|
59
|
+
"_orientation_vertical": "_orientation_vertical_13obu_gg_",
|
|
60
|
+
"--left": "--left_13obu",
|
|
61
|
+
"--right": "--right_13obu",
|
|
62
|
+
"--offsetSum": "--offsetSum_13obu",
|
|
63
|
+
"__SHeightHold": "___SHeightHold_13obu_gg_"
|
|
74
64
|
});
|
|
75
65
|
var REVERSED_SORT_DIRECTION = {
|
|
76
66
|
desc: 'asc',
|
|
@@ -79,94 +69,69 @@ var REVERSED_SORT_DIRECTION = {
|
|
|
79
69
|
var DEFAULT_SORT_DIRECTION = 'desc';
|
|
80
70
|
var ROW_GROUP = Symbol('ROW_GROUP');
|
|
81
71
|
var cssVarReg = /[:;]/g;
|
|
82
|
-
|
|
83
72
|
var createCssVarForWidth = function createCssVarForWidth(name) {
|
|
84
73
|
return "--".concat(name.replace(cssVarReg, '_'), "_width");
|
|
85
74
|
};
|
|
86
|
-
|
|
87
75
|
function setBorderGroupColumns(columns, side) {
|
|
88
76
|
var firstColumn = columns[0];
|
|
89
77
|
var lastColumn = columns[columns.length - 1];
|
|
90
|
-
|
|
91
78
|
if (firstColumn && (!side || side === 'left')) {
|
|
92
79
|
firstColumn.borderLeft = true;
|
|
93
|
-
|
|
94
80
|
if (firstColumn.columns) {
|
|
95
81
|
setBorderGroupColumns(firstColumn.columns, 'left');
|
|
96
82
|
}
|
|
97
83
|
}
|
|
98
|
-
|
|
99
84
|
if (lastColumn && (!side || side === 'right')) {
|
|
100
85
|
lastColumn.borderRight = true;
|
|
101
|
-
|
|
102
86
|
if (lastColumn.columns) {
|
|
103
87
|
setBorderGroupColumns(lastColumn.columns, 'right');
|
|
104
88
|
}
|
|
105
89
|
}
|
|
106
90
|
}
|
|
107
|
-
|
|
108
91
|
var RootDefinitionTable = /*#__PURE__*/function (_Component) {
|
|
109
92
|
_inherits(RootDefinitionTable, _Component);
|
|
110
|
-
|
|
111
93
|
var _super = _createSuper(RootDefinitionTable);
|
|
112
|
-
|
|
113
94
|
function RootDefinitionTable(props) {
|
|
114
95
|
var _this;
|
|
115
|
-
|
|
116
96
|
_classCallCheck(this, RootDefinitionTable);
|
|
117
|
-
|
|
118
97
|
_this = _super.call(this, props);
|
|
119
|
-
|
|
120
98
|
_defineProperty(_assertThisInitialized(_this), "columns", []);
|
|
121
|
-
|
|
122
99
|
_defineProperty(_assertThisInitialized(_this), "tableRef", /*#__PURE__*/React.createRef());
|
|
123
|
-
|
|
124
100
|
_defineProperty(_assertThisInitialized(_this), "scrollBodyRef", null);
|
|
125
|
-
|
|
126
101
|
_defineProperty(_assertThisInitialized(_this), "scrollHeadRef", null);
|
|
127
|
-
|
|
128
102
|
_defineProperty(_assertThisInitialized(_this), "handlerSortClick", function (name, event) {
|
|
129
103
|
var column = _this.columns.find(function (column) {
|
|
130
104
|
return column.name === name;
|
|
131
105
|
});
|
|
132
|
-
|
|
133
106
|
return fire(_assertThisInitialized(_this), 'onSortChange', [column.name, column.active ? REVERSED_SORT_DIRECTION[column.sortDirection] : column.sortDirection], event);
|
|
134
107
|
});
|
|
135
|
-
|
|
136
108
|
_defineProperty(_assertThisInitialized(_this), "handlerResize", function () {
|
|
137
109
|
_this.forceUpdate();
|
|
138
110
|
});
|
|
139
|
-
|
|
140
111
|
_defineProperty(_assertThisInitialized(_this), "scrollToUp", function () {
|
|
141
112
|
var _this$tableRef, _this$tableRef$curren;
|
|
142
|
-
|
|
143
113
|
(_this$tableRef = _this.tableRef) === null || _this$tableRef === void 0 ? void 0 : (_this$tableRef$curren = _this$tableRef.current) === null || _this$tableRef$curren === void 0 ? void 0 : _this$tableRef$curren.scrollIntoView({
|
|
144
114
|
block: 'nearest',
|
|
145
115
|
inline: 'nearest',
|
|
146
116
|
behavior: 'smooth'
|
|
147
117
|
});
|
|
148
118
|
});
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
119
|
+
var createRef = syncScroll();
|
|
120
|
+
// first create body ref for master scroll
|
|
152
121
|
_this.scrollBodyRef = createRef('body');
|
|
153
122
|
_this.scrollHeadRef = createRef('head');
|
|
154
123
|
return _this;
|
|
155
124
|
}
|
|
156
|
-
|
|
157
125
|
_createClass(RootDefinitionTable, [{
|
|
158
126
|
key: "setVarStyle",
|
|
159
127
|
value: function setVarStyle(columns) {
|
|
160
128
|
var _iterator = _createForOfIteratorHelper(columns),
|
|
161
|
-
|
|
162
|
-
|
|
129
|
+
_step;
|
|
163
130
|
try {
|
|
164
131
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
165
132
|
var _column = _step.value;
|
|
166
|
-
|
|
167
133
|
if (_column.setVar) {
|
|
168
134
|
var _this$tableRef$curren2;
|
|
169
|
-
|
|
170
135
|
(_this$tableRef$curren2 = this.tableRef.current) === null || _this$tableRef$curren2 === void 0 ? void 0 : _this$tableRef$curren2.style.setProperty(_column.varWidth, "".concat(_column.width, "px"));
|
|
171
136
|
}
|
|
172
137
|
}
|
|
@@ -180,7 +145,6 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
|
|
|
180
145
|
key: "childrenToColumns",
|
|
181
146
|
value: function childrenToColumns(children) {
|
|
182
147
|
var _this2 = this;
|
|
183
|
-
|
|
184
148
|
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
|
|
185
149
|
fixed: undefined
|
|
186
150
|
};
|
|
@@ -188,26 +152,22 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
|
|
|
188
152
|
var columnsChildren = [];
|
|
189
153
|
React.Children.forEach(children, function (child) {
|
|
190
154
|
var _column$props;
|
|
191
|
-
|
|
192
155
|
if (! /*#__PURE__*/React.isValidElement(child)) return;
|
|
193
156
|
if (child.type !== DefinitionTable.Column) return;
|
|
194
|
-
|
|
195
157
|
var _ref3 = child.props,
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
158
|
+
children = _ref3.children,
|
|
159
|
+
name = _ref3.name,
|
|
160
|
+
_ref3$fixed = _ref3.fixed,
|
|
161
|
+
fixed = _ref3$fixed === void 0 ? options.fixed : _ref3$fixed,
|
|
162
|
+
resizable = _ref3.resizable,
|
|
163
|
+
sortable = _ref3.sortable,
|
|
164
|
+
flex = _ref3.flex,
|
|
165
|
+
vBorders = _ref3.vBorders,
|
|
166
|
+
active = _ref3.active,
|
|
167
|
+
props = _objectWithoutProperties(_ref3, _excluded);
|
|
207
168
|
var lastColumnChildren = columnsChildren[columnsChildren.length - 1];
|
|
208
169
|
var isGroup = !name;
|
|
209
170
|
var columns;
|
|
210
|
-
|
|
211
171
|
if (isGroup) {
|
|
212
172
|
columns = _this2.childrenToColumns(children, {
|
|
213
173
|
fixed: fixed
|
|
@@ -215,11 +175,9 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
|
|
|
215
175
|
active = typeof active === 'boolean' ? active : columns.some(function (c) {
|
|
216
176
|
return c.active;
|
|
217
177
|
});
|
|
218
|
-
|
|
219
178
|
if (vBorders) {
|
|
220
179
|
setBorderGroupColumns(columns);
|
|
221
180
|
}
|
|
222
|
-
|
|
223
181
|
name = flattenColumns(columns).map(function (_ref4) {
|
|
224
182
|
var name = _ref4.name;
|
|
225
183
|
return name;
|
|
@@ -229,19 +187,15 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
|
|
|
229
187
|
return !( /*#__PURE__*/React.isValidElement(child) && child.type === DefinitionTable.Column);
|
|
230
188
|
});
|
|
231
189
|
}
|
|
232
|
-
|
|
233
190
|
var column = _this2.columns.find(function (column) {
|
|
234
191
|
return column.name === name;
|
|
235
192
|
});
|
|
236
|
-
|
|
237
193
|
var columnChildren = {
|
|
238
194
|
get width() {
|
|
239
195
|
var _this$props$ref$curre;
|
|
240
|
-
|
|
241
196
|
// @ts-ignore
|
|
242
197
|
return ((_this$props$ref$curre = this.props.ref.current) === null || _this$props$ref$curre === void 0 ? void 0 : _this$props$ref$curre.getBoundingClientRect().width) || 0;
|
|
243
198
|
},
|
|
244
|
-
|
|
245
199
|
name: name,
|
|
246
200
|
varWidth: createCssVarForWidth(name),
|
|
247
201
|
setVar: flex !== 'inherit',
|
|
@@ -262,11 +216,9 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
|
|
|
262
216
|
ref: (column === null || column === void 0 ? void 0 : (_column$props = column.props) === null || _column$props === void 0 ? void 0 : _column$props.ref) || /*#__PURE__*/React.createRef()
|
|
263
217
|
})
|
|
264
218
|
};
|
|
265
|
-
|
|
266
219
|
if (columns) {
|
|
267
220
|
columnChildren.columns = columns;
|
|
268
221
|
}
|
|
269
|
-
|
|
270
222
|
columnsChildren.push(columnChildren);
|
|
271
223
|
});
|
|
272
224
|
return columnsChildren;
|
|
@@ -289,18 +241,17 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
|
|
|
289
241
|
key: "getBodyProps",
|
|
290
242
|
value: function getBodyProps(props) {
|
|
291
243
|
var _this$asProps = this.asProps,
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
244
|
+
data = _this$asProps.data,
|
|
245
|
+
use = _this$asProps.use,
|
|
246
|
+
uniqueKey = _this$asProps.uniqueKey;
|
|
295
247
|
var cellPropsLayers = {};
|
|
296
248
|
var rowPropsLayers = [];
|
|
297
249
|
React.Children.forEach(props.children, function (child) {
|
|
298
250
|
if ( /*#__PURE__*/React.isValidElement(child)) {
|
|
299
251
|
var _ref5 = child.props,
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
252
|
+
name = _ref5.name,
|
|
253
|
+
children = _ref5.children,
|
|
254
|
+
other = _objectWithoutProperties(_ref5, _excluded2);
|
|
304
255
|
if (child.type === DefinitionTable.Cell && name) {
|
|
305
256
|
name.split('/').forEach(function (name) {
|
|
306
257
|
cellPropsLayers[name] = cellPropsLayers[name] || [];
|
|
@@ -309,7 +260,6 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
|
|
|
309
260
|
}));
|
|
310
261
|
});
|
|
311
262
|
}
|
|
312
|
-
|
|
313
263
|
if (child.type === DefinitionTable.Row) {
|
|
314
264
|
rowPropsLayers.push(_objectSpread(_objectSpread({}, other), {}, {
|
|
315
265
|
childrenPropsGetter: children
|
|
@@ -330,19 +280,15 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
|
|
|
330
280
|
key: "dataToRows",
|
|
331
281
|
value: function dataToRows(data, cellPropsLayers) {
|
|
332
282
|
var _this3 = this;
|
|
333
|
-
|
|
334
283
|
var parseData = function parseData(data, exclude) {
|
|
335
284
|
return data.map(function (row) {
|
|
336
285
|
var groupByName = {};
|
|
337
286
|
var columnsWithoutRowGroup = {};
|
|
338
|
-
|
|
339
287
|
for (var rowKey in row) {
|
|
340
288
|
var columnNames = rowKey.split('/');
|
|
341
|
-
|
|
342
289
|
if (columnNames.length >= 2) {
|
|
343
290
|
var _iterator2 = _createForOfIteratorHelper(columnNames),
|
|
344
|
-
|
|
345
|
-
|
|
291
|
+
_step2;
|
|
346
292
|
try {
|
|
347
293
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
348
294
|
var _column2 = _step2.value;
|
|
@@ -361,7 +307,6 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
|
|
|
361
307
|
columnsWithoutRowGroup[rowKey] = true;
|
|
362
308
|
}
|
|
363
309
|
}
|
|
364
|
-
|
|
365
310
|
var rowsGroup = row[ROW_GROUP] || [];
|
|
366
311
|
var rowsGroupedNames = Object.fromEntries(rowsGroup.map(function (subRow) {
|
|
367
312
|
return Object.keys(subRow);
|
|
@@ -371,13 +316,11 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
|
|
|
371
316
|
return [key, true];
|
|
372
317
|
}));
|
|
373
318
|
var isGroup = false;
|
|
374
|
-
|
|
375
319
|
var cells = _this3.columns.map(function (column) {
|
|
376
320
|
if (groupByName[column.name]) {
|
|
377
321
|
var _groupByName$column$n = groupByName[column.name],
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
322
|
+
groupedColumns = _groupByName$column$n.groupedColumns,
|
|
323
|
+
groupData = _groupByName$column$n.groupData;
|
|
381
324
|
if (groupedColumns[0] === column.name) {
|
|
382
325
|
return {
|
|
383
326
|
name: groupedColumns.join('/'),
|
|
@@ -414,12 +357,10 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
|
|
|
414
357
|
}).map(function (column) {
|
|
415
358
|
return column;
|
|
416
359
|
});
|
|
417
|
-
|
|
418
360
|
cells.flatRowData = row;
|
|
419
361
|
return cells;
|
|
420
362
|
});
|
|
421
363
|
};
|
|
422
|
-
|
|
423
364
|
return parseData(data, {});
|
|
424
365
|
}
|
|
425
366
|
}, {
|
|
@@ -431,13 +372,12 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
|
|
|
431
372
|
key: "render",
|
|
432
373
|
value: function render() {
|
|
433
374
|
var _ref = this.asProps,
|
|
434
|
-
|
|
435
|
-
|
|
375
|
+
_ref2;
|
|
436
376
|
var SDataTable = Box;
|
|
437
377
|
var _this$asProps2 = this.asProps,
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
378
|
+
Children = _this$asProps2.Children,
|
|
379
|
+
styles = _this$asProps2.styles,
|
|
380
|
+
data = _this$asProps2.data;
|
|
441
381
|
return _ref2 = sstyled(styles), /*#__PURE__*/React.createElement(SDataTable, _ref2.cn("SDataTable", _objectSpread({}, _assignProps({
|
|
442
382
|
"__excludeProps": ['data'],
|
|
443
383
|
"ref": this.tableRef,
|
|
@@ -446,25 +386,19 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
|
|
|
446
386
|
}, _ref))), /*#__PURE__*/React.createElement(Children, _ref2.cn("Children", {})));
|
|
447
387
|
}
|
|
448
388
|
}]);
|
|
449
|
-
|
|
450
389
|
return RootDefinitionTable;
|
|
451
390
|
}(Component);
|
|
452
|
-
|
|
453
391
|
_defineProperty(RootDefinitionTable, "displayName", 'DefinitionTable');
|
|
454
|
-
|
|
455
392
|
_defineProperty(RootDefinitionTable, "style", style);
|
|
456
|
-
|
|
457
393
|
_defineProperty(RootDefinitionTable, "defaultProps", {
|
|
458
394
|
use: 'primary',
|
|
459
395
|
uniqueKey: 'id',
|
|
460
396
|
sort: [],
|
|
461
397
|
data: []
|
|
462
398
|
});
|
|
463
|
-
|
|
464
399
|
function ComponentDefinition() {
|
|
465
400
|
return null;
|
|
466
401
|
}
|
|
467
|
-
|
|
468
402
|
var DefinitionTable = createComponent(RootDefinitionTable, {
|
|
469
403
|
Head: Head,
|
|
470
404
|
Body: Body,
|
package/lib/es6/DataTable.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTable.js","names":["React","createComponent","Component","Root","sstyled","Box","syncScroll","callAllEventHandlers","fire","flattenColumns","Head","Body","REVERSED_SORT_DIRECTION","desc","asc","DEFAULT_SORT_DIRECTION","ROW_GROUP","Symbol","cssVarReg","createCssVarForWidth","name","replace","setBorderGroupColumns","columns","side","firstColumn","lastColumn","length","borderLeft","borderRight","RootDefinitionTable","props","createRef","event","column","find","active","sortDirection","forceUpdate","tableRef","current","scrollIntoView","block","inline","behavior","scrollBodyRef","scrollHeadRef","setVar","style","setProperty","varWidth","width","children","options","fixed","undefined","sort","asProps","columnsChildren","Children","forEach","child","isValidElement","type","DefinitionTable","Column","resizable","sortable","flex","vBorders","lastColumnChildren","isGroup","childrenToColumns","some","c","map","join","toArray","filter","columnChildren","ref","getBoundingClientRect","forwardRef","push","use","$onSortClick","handlerSortClick","scrollToUp","onResize","handlerResize","$scrollRef","data","uniqueKey","cellPropsLayers","rowPropsLayers","other","Cell","split","childrenPropsGetter","Row","rows","dataToRows","parseData","exclude","row","groupByName","columnsWithoutRowGroup","rowKey","columnNames","groupedColumns","groupData","rowsGroup","rowsGroupedNames","Object","fromEntries","subRow","keys","flat","key","cells","cssVar","flatRowData","setVarStyle","SDataTable","styles","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';\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};\n\ntype HeadAsProps = {\n children: React.ReactChild;\n};\ntype BodyAsProps = {\n children: React.ReactChild;\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\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 } as unknown as Column;\n\n if (columns) {\n columnChildren.columns = columns;\n }\n columnsChildren.push(columnChildren);\n });\n return columnsChildren;\n }\n\n getHeadProps(props: HeadAsProps) {\n const { use } = 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 };\n }\n\n getBodyProps(props: BodyAsProps) {\n const { data, use, uniqueKey } = 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 };\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","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","push","getHeadProps","use","$onSortClick","handlerSortClick","scrollToUp","onResize","handlerResize","$scrollRef","getBodyProps","_this$asProps","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$asProps2","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';\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};\n\ntype HeadAsProps = {\n children: React.ReactChild;\n};\ntype BodyAsProps = {\n children: React.ReactChild;\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\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 } as unknown as Column;\n\n if (columns) {\n columnChildren.columns = columns;\n }\n columnsChildren.push(columnChildren);\n });\n return columnsChildren;\n }\n\n getHeadProps(props: HeadAsProps) {\n const { use } = 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 };\n }\n\n getBodyProps(props: BodyAsProps) {\n const { data, use, uniqueKey } = 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 };\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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"}
|