@semcore/data-table 3.7.10 → 3.7.11

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,7 +2,11 @@
2
2
 
3
3
  CHANGELOG.md standards are inspired by [keepachangelog.com](https://keepachangelog.com/en/1.0.0/).
4
4
 
5
- ## [3.7.10] - 2023-01-27
5
+ ## [3.7.11] - 2023-01-27
6
+
7
+ ### Fixed
8
+
9
+ - Fixed view of cells when using cell grouping and columns at the same time.
6
10
 
7
11
  ## [3.7.9] - 2023-01-20
8
12
 
package/lib/cjs/Body.js CHANGED
@@ -71,16 +71,16 @@ var scrollStyles = (
71
71
  /*__reshadow_css_start__*/
72
72
  _core.sstyled.insert(
73
73
  /*__inner_css_start__*/
74
- ".___SShadowHorizontal_vp6dq_gg_:before{left:var(--left_vp6dq)!important}.___SShadowHorizontal_vp6dq_gg_:after{right:var(--right_vp6dq)!important}.___SContainer_vp6dq_gg_.__disabledScroll_vp6dq_gg_{overflow:visible}"
74
+ ".___SShadowHorizontal_1qzx1_gg_:before{left:var(--left_1qzx1)!important}.___SShadowHorizontal_1qzx1_gg_:after{right:var(--right_1qzx1)!important}.___SContainer_1qzx1_gg_.__disabledScroll_1qzx1_gg_{overflow:visible}"
75
75
  /*__inner_css_end__*/
76
- , "vp6dq_gg_")
76
+ , "1qzx1_gg_")
77
77
  /*__reshadow_css_end__*/
78
78
  , {
79
- "__SShadowHorizontal": "___SShadowHorizontal_vp6dq_gg_",
80
- "--left": "--left_vp6dq",
81
- "--right": "--right_vp6dq",
82
- "__SContainer": "___SContainer_vp6dq_gg_",
83
- "_disabledScroll": "__disabledScroll_vp6dq_gg_"
79
+ "__SShadowHorizontal": "___SShadowHorizontal_1qzx1_gg_",
80
+ "--left": "--left_1qzx1",
81
+ "--right": "--right_1qzx1",
82
+ "__SContainer": "___SContainer_1qzx1_gg_",
83
+ "_disabledScroll": "__disabledScroll_1qzx1_gg_"
84
84
  });
85
85
  var testEnv = process.env.NODE_ENV === 'test';
86
86
 
@@ -69,51 +69,51 @@ var style = (
69
69
  /*__reshadow_css_start__*/
70
70
  _core.sstyled.insert(
71
71
  /*__inner_css_start__*/
72
- ".___SDataTable_zlg4l_gg_{position:relative}.___SDataTable_zlg4l_gg_.__compact_zlg4l_gg_ .___SCell_zlg4l_gg_,.___SDataTable_zlg4l_gg_.__compact_zlg4l_gg_ .___SColumn_zlg4l_gg_{padding:var(--intergalactic-spacing-3x,12px) var(--intergalactic-spacing-2x,8px)}.___SHeadWrapper_zlg4l_gg_{position:relative}.___SHeadWrapper_zlg4l_gg_.__sticky_zlg4l_gg_{position:sticky;top:0;z-index:2}.___SHead_zlg4l_gg_{display:flex;position:relative;flex-direction:row;min-width:-moz-fit-content;min-width:fit-content;z-index:0}.___SColumn_zlg4l_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_zlg4l_gg_.focus-visible{outline:none;box-shadow:inset var(--intergalactic-keyboard-focus,0 0 0 3px rgba(0,143,248,.3))}.___SColumn_zlg4l_gg_:focus-visible{outline:none;box-shadow:inset var(--intergalactic-keyboard-focus,0 0 0 3px rgba(0,143,248,.3))}.___SColumn_zlg4l_gg_.__hidden_zlg4l_gg_{height:0!important;padding:0!important;overflow:hidden!important;border:none!important}.___SColumn_zlg4l_gg_._use_primary_zlg4l_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_zlg4l_gg_._use_secondary_zlg4l_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,#fff)}.___SColumn_zlg4l_gg_.__group_zlg4l_gg_.__use_zlg4l_gg_{display:flex;flex-wrap:wrap;flex-direction:column;align-items:normal;border-bottom:none;padding:0}.___SColumn_zlg4l_gg_.__groupHead_zlg4l_gg_{justify-content:center;z-index:1;border-bottom:none}.___SColumn_zlg4l_gg_.__sortable_zlg4l_gg_{cursor:pointer}@media (hover: hover){.___SColumn_zlg4l_gg_.__sortable_zlg4l_gg_._use_primary_zlg4l_gg_:hover{background-color:var(--intergalactic-table-th-primary-cell-hover,#e0e1e9)}}@media (hover: hover){.___SColumn_zlg4l_gg_.__sortable_zlg4l_gg_:hover .___SSortWrapper_zlg4l_gg_{display:block}}.___SColumn_zlg4l_gg_._use_primary_zlg4l_gg_.__active_zlg4l_gg_{background-color:var(--intergalactic-table-th-primary-cell-active,#e0e1e9);width:100%}.___SColumn_zlg4l_gg_.__active_zlg4l_gg_ .___SSortIcon_zlg4l_gg_{position:relative}.___SColumn_zlg4l_gg_.__sortIconFloat_zlg4l_gg_ .___SSortWrapper_zlg4l_gg_{width:0;flex-basis:0}.___SColumn_zlg4l_gg_.__active_zlg4l_gg_ .___SSortWrapper_zlg4l_gg_{display:block;width:16px;flex-basis:20px;margin-left:var(--intergalactic-spacing-1x,4px)}.___SColumn_zlg4l_gg_.__resizable_zlg4l_gg_{border-right:1px solid transparent}@media (hover: hover){.___SColumn_zlg4l_gg_.__resizable_zlg4l_gg_:hover:after{border-right-color:var(--intergalactic-border-table-accent,#a9abb6)}}.___SColumn_zlg4l_gg_.__resizable_zlg4l_gg_:after{content:\"\";position:absolute;bottom:0;right:-1px;height:100%;width:5px;background:transparent;cursor:col-resize;border-right:1px solid transparent}.___SColumn_zlg4l_gg_.__fixed_zlg4l_gg_{position:sticky;z-index:2}.___SCell_zlg4l_gg_.__borderLeft_zlg4l_gg_,.___SColumn_zlg4l_gg_.__borderLeft_zlg4l_gg_{border-left:1px solid var(--intergalactic-border-secondary,#e0e1e9)}.___SCell_zlg4l_gg_.__borderRight_zlg4l_gg_,.___SColumn_zlg4l_gg_.__borderRight_zlg4l_gg_{border-right:1px solid var(--intergalactic-border-secondary,#e0e1e9)}.___SSortIcon_zlg4l_gg_{fill:var(--intergalactic-icon-secondary-neutral-hover-active,#8a8e9b);position:absolute;top:-2px;right:0}.___SSortWrapper_zlg4l_gg_{display:none;flex-shrink:99999;position:relative;flex-basis:20px;height:0}.___SSortWrapper_zlg4l_gg_:before{content:\"\";position:absolute;top:-2px;right:0;width:20px;height:16px}.___SColumn_zlg4l_gg_._use_primary_zlg4l_gg_ .___SSortWrapper_zlg4l_gg_:before{background:linear-gradient(270deg,var(--intergalactic-table-th-primary-cell-hover,#e0e1e9) 67.5%,rgba(224,225,233,0) 105%)}.___SColumn_zlg4l_gg_._use_secondary_zlg4l_gg_ .___SSortWrapper_zlg4l_gg_:before{background:linear-gradient(270deg,var(--intergalactic-table-th-secondary-cell,#fff) 67.5%,hsla(0,0%,100%,0) 105%)}.___SBodyWrapper_zlg4l_gg_{position:relative}.___SBody_zlg4l_gg_{display:flex;flex-direction:column;position:relative;min-width:-moz-fit-content;min-width:fit-content}.___SRow_zlg4l_gg_{display:flex;flex-direction:row;position:relative}.___SRow_zlg4l_gg_.__active_zlg4l_gg_>.___SCell_zlg4l_gg_:not(.__theme_zlg4l_gg_){background-color:var(--intergalactic-table-td-cell-hover,#f0f0f4)}@media (hover: hover){.___SRow_zlg4l_gg_:hover>.___SCell_zlg4l_gg_:not(.__theme_zlg4l_gg_),.___SRow_zlg4l_gg_ .___SCell_zlg4l_gg_:hover+.___SGroupCell_zlg4l_gg_ .___SCell_zlg4l_gg_:not(.__theme_zlg4l_gg_){background-color:var(--intergalactic-table-td-cell-hover,#f0f0f4)}}.___SRow_zlg4l_gg_._theme_muted_zlg4l_gg_ .___SCell_zlg4l_gg_:not(.__theme_zlg4l_gg_){background-color:var(--intergalactic-table-td-cell-unread,#f4f5f9)}.___SRow_zlg4l_gg_._theme_muted_zlg4l_gg_.__active_zlg4l_gg_>.___SCell_zlg4l_gg_:not(.__theme_zlg4l_gg_){background-color:var(--intergalactic-table-td-cell-hover,#f0f0f4)}@media (hover: hover){.___SRow_zlg4l_gg_:hover>.___SCell_zlg4l_gg_._theme_muted_zlg4l_gg_,.___SRow_zlg4l_gg_._theme_muted_zlg4l_gg_:hover>.___SCell_zlg4l_gg_:not(.__theme_zlg4l_gg_),.___SRow_zlg4l_gg_._theme_muted_zlg4l_gg_ .___SCell_zlg4l_gg_:hover+.___SGroupCell_zlg4l_gg_ .___SCell_zlg4l_gg_:not(.__theme_zlg4l_gg_){background-color:var(--intergalactic-table-td-cell-hover,#f0f0f4)}}.___SRow_zlg4l_gg_._theme_info_zlg4l_gg_ .___SCell_zlg4l_gg_:not(.__theme_zlg4l_gg_){background-color:var(--intergalactic-table-td-cell-selected,#e9f7ff)}.___SRow_zlg4l_gg_._theme_info_zlg4l_gg_.__active_zlg4l_gg_>.___SCell_zlg4l_gg_:not(.__theme_zlg4l_gg_){background-color:var(--intergalactic-table-td-cell-selected-hover,#c4e5fe)}@media (hover: hover){.___SRow_zlg4l_gg_:hover>.___SCell_zlg4l_gg_._theme_info_zlg4l_gg_,.___SRow_zlg4l_gg_._theme_info_zlg4l_gg_:hover>.___SCell_zlg4l_gg_:not(.__theme_zlg4l_gg_),.___SRow_zlg4l_gg_._theme_info_zlg4l_gg_ .___SCell_zlg4l_gg_:hover+.___SGroupCell_zlg4l_gg_ .___SCell_zlg4l_gg_:not(.__theme_zlg4l_gg_){background-color:var(--intergalactic-table-td-cell-selected-hover,#c4e5fe)}}.___SRow_zlg4l_gg_._theme_success_zlg4l_gg_ .___SCell_zlg4l_gg_:not(.__theme_zlg4l_gg_){background-color:var(--intergalactic-table-td-cell-new,#dbfee8)}.___SRow_zlg4l_gg_._theme_success_zlg4l_gg_.__active_zlg4l_gg_>.___SCell_zlg4l_gg_:not(.__theme_zlg4l_gg_){background-color:var(--intergalactic-table-td-cell-new-hover,#9ef2c9)}@media (hover: hover){.___SRow_zlg4l_gg_:hover>.___SCell_zlg4l_gg_._theme_success_zlg4l_gg_,.___SRow_zlg4l_gg_._theme_success_zlg4l_gg_:hover>.___SCell_zlg4l_gg_:not(.__theme_zlg4l_gg_),.___SRow_zlg4l_gg_._theme_success_zlg4l_gg_ .___SCell_zlg4l_gg_:hover+.___SGroupCell_zlg4l_gg_ .___SCell_zlg4l_gg_:not(.__theme_zlg4l_gg_){background-color:var(--intergalactic-table-td-cell-new-hover,#9ef2c9)}}.___SRow_zlg4l_gg_._theme_warning_zlg4l_gg_ .___SCell_zlg4l_gg_:not(.__theme_zlg4l_gg_){background-color:var(--intergalactic-table-td-cell-warning,#fff3d9)}.___SRow_zlg4l_gg_._theme_warning_zlg4l_gg_.__active_zlg4l_gg_>.___SCell_zlg4l_gg_:not(.__theme_zlg4l_gg_){background-color:var(--intergalactic-table-td-cell-warning-hover,#ffdca2)}@media (hover: hover){.___SRow_zlg4l_gg_:hover>.___SCell_zlg4l_gg_._theme_warning_zlg4l_gg_,.___SRow_zlg4l_gg_._theme_warning_zlg4l_gg_:hover>.___SCell_zlg4l_gg_:not(.__theme_zlg4l_gg_),.___SRow_zlg4l_gg_._theme_warning_zlg4l_gg_ .___SCell_zlg4l_gg_:hover+.___SGroupCell_zlg4l_gg_ .___SCell_zlg4l_gg_:not(.__theme_zlg4l_gg_){background-color:var(--intergalactic-table-td-cell-warning-hover,#ffdca2)}}.___SRow_zlg4l_gg_._theme_danger_zlg4l_gg_ .___SCell_zlg4l_gg_:not(.__theme_zlg4l_gg_){background-color:var(--intergalactic-table-td-cell-critical,#fff0f7)}.___SRow_zlg4l_gg_._theme_danger_zlg4l_gg_.__active_zlg4l_gg_>.___SCell_zlg4l_gg_:not(.__theme_zlg4l_gg_){background-color:var(--intergalactic-table-td-cell-critical-hover,#ffd7df)}@media (hover: hover){.___SRow_zlg4l_gg_:hover>.___SCell_zlg4l_gg_._theme_danger_zlg4l_gg_,.___SRow_zlg4l_gg_._theme_danger_zlg4l_gg_:hover>.___SCell_zlg4l_gg_:not(.__theme_zlg4l_gg_),.___SRow_zlg4l_gg_._theme_danger_zlg4l_gg_ .___SCell_zlg4l_gg_:hover+.___SGroupCell_zlg4l_gg_ .___SCell_zlg4l_gg_:not(.__theme_zlg4l_gg_){background-color:var(--intergalactic-table-td-cell-critical-hover,#ffd7df)}}.___SRow_zlg4l_gg_.__positioned_zlg4l_gg_{position:absolute}.___SCell_zlg4l_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_zlg4l_gg_._use_primary_zlg4l_gg_{padding:var(--intergalactic-spacing-3x,12px);min-height:45px;background-color:var(--intergalactic-bg-primary-neutral,#fff)}.___SCell_zlg4l_gg_._use_secondary_zlg4l_gg_{padding:var(--intergalactic-spacing-2x,8px);min-height:37px;background-color:var(--intergalactic-bg-primary-neutral,#fff)}.___SCell_zlg4l_gg_.__fixed_zlg4l_gg_{position:sticky;z-index:1}.___SCell_zlg4l_gg_._theme_muted_zlg4l_gg_{background-color:var(--intergalactic-table-td-cell-unread,#f4f5f9)}.___SCell_zlg4l_gg_._theme_info_zlg4l_gg_{background-color:var(--intergalactic-table-td-cell-selected,#e9f7ff)}.___SCell_zlg4l_gg_._theme_success_zlg4l_gg_{background-color:var(--intergalactic-table-td-cell-new,#dbfee8)}.___SCell_zlg4l_gg_._theme_warning_zlg4l_gg_{background-color:var(--intergalactic-table-td-cell-warning,#fff3d9)}.___SCell_zlg4l_gg_._theme_danger_zlg4l_gg_{background-color:var(--intergalactic-table-td-cell-critical,#fff0f7)}.___SScrollAreaBar_zlg4l_gg_._orientation_horizontal_zlg4l_gg_{position:sticky;bottom:0;left:0;margin-top:calc(var(--intergalactic-spacing-3x, 12px)*-1);z-index:2;margin-left:calc(var(--left_zlg4l) + var(--intergalactic-spacing-1x, 4px));margin-right:calc(var(--right_zlg4l) + var(--intergalactic-spacing-1x, 4px));width:calc(100% - var(--offsetSum_zlg4l) - 8px)}.___SScrollAreaBar_zlg4l_gg_._orientation_vertical_zlg4l_gg_{width:12px}.___SHeightHold_zlg4l_gg_{position:absolute;top:0;width:100%;pointer-events:none;z-index:-1}"
72
+ ".___SDataTable_szft0_gg_{position:relative}.___SDataTable_szft0_gg_.__compact_szft0_gg_ .___SCell_szft0_gg_,.___SDataTable_szft0_gg_.__compact_szft0_gg_ .___SColumn_szft0_gg_{padding:var(--intergalactic-spacing-3x,12px) var(--intergalactic-spacing-2x,8px)}.___SHeadWrapper_szft0_gg_{position:relative}.___SHeadWrapper_szft0_gg_.__sticky_szft0_gg_{position:sticky;top:0;z-index:2}.___SHead_szft0_gg_{display:flex;position:relative;flex-direction:row;min-width:-moz-fit-content;min-width:fit-content;z-index:0}.___SColumn_szft0_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_szft0_gg_.focus-visible{outline:none;box-shadow:inset var(--intergalactic-keyboard-focus,0 0 0 3px rgba(0,143,248,.3))}.___SColumn_szft0_gg_:focus-visible{outline:none;box-shadow:inset var(--intergalactic-keyboard-focus,0 0 0 3px rgba(0,143,248,.3))}.___SColumn_szft0_gg_.__hidden_szft0_gg_{height:0!important;padding:0!important;overflow:hidden!important;border:none!important}.___SColumn_szft0_gg_._use_primary_szft0_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_szft0_gg_._use_secondary_szft0_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,#fff)}.___SColumn_szft0_gg_.__group_szft0_gg_.__use_szft0_gg_{display:flex;flex-wrap:wrap;flex-direction:column;align-items:normal;border-bottom:none;padding:0}.___SColumn_szft0_gg_.__groupHead_szft0_gg_{justify-content:center;z-index:1;border-bottom:none}.___SColumn_szft0_gg_.__sortable_szft0_gg_{cursor:pointer}@media (hover: hover){.___SColumn_szft0_gg_.__sortable_szft0_gg_._use_primary_szft0_gg_:hover{background-color:var(--intergalactic-table-th-primary-cell-hover,#e0e1e9)}}@media (hover: hover){.___SColumn_szft0_gg_.__sortable_szft0_gg_:hover .___SSortWrapper_szft0_gg_{display:block}}.___SColumn_szft0_gg_._use_primary_szft0_gg_.__active_szft0_gg_{background-color:var(--intergalactic-table-th-primary-cell-active,#e0e1e9);width:100%}.___SColumn_szft0_gg_.__active_szft0_gg_ .___SSortIcon_szft0_gg_{position:relative}.___SColumn_szft0_gg_.__sortIconFloat_szft0_gg_ .___SSortWrapper_szft0_gg_{width:0;flex-basis:0}.___SColumn_szft0_gg_.__active_szft0_gg_ .___SSortWrapper_szft0_gg_{display:block;width:16px;flex-basis:20px;margin-left:var(--intergalactic-spacing-1x,4px)}.___SColumn_szft0_gg_.__resizable_szft0_gg_{border-right:1px solid transparent}@media (hover: hover){.___SColumn_szft0_gg_.__resizable_szft0_gg_:hover:after{border-right-color:var(--intergalactic-border-table-accent,#a9abb6)}}.___SColumn_szft0_gg_.__resizable_szft0_gg_:after{content:\"\";position:absolute;bottom:0;right:-1px;height:100%;width:5px;background:transparent;cursor:col-resize;border-right:1px solid transparent}.___SColumn_szft0_gg_.__fixed_szft0_gg_{position:sticky;z-index:2}.___SCell_szft0_gg_.__borderLeft_szft0_gg_,.___SColumn_szft0_gg_.__borderLeft_szft0_gg_{border-left:1px solid var(--intergalactic-border-secondary,#e0e1e9)}.___SCell_szft0_gg_.__borderRight_szft0_gg_,.___SColumn_szft0_gg_.__borderRight_szft0_gg_{border-right:1px solid var(--intergalactic-border-secondary,#e0e1e9)}.___SSortIcon_szft0_gg_{fill:var(--intergalactic-icon-secondary-neutral-hover-active,#8a8e9b);position:absolute;top:-2px;right:0}.___SSortWrapper_szft0_gg_{display:none;flex-shrink:99999;position:relative;flex-basis:20px;height:0}.___SSortWrapper_szft0_gg_:before{content:\"\";position:absolute;top:-2px;right:0;width:20px;height:16px}.___SColumn_szft0_gg_._use_primary_szft0_gg_ .___SSortWrapper_szft0_gg_:before{background:linear-gradient(270deg,var(--intergalactic-table-th-primary-cell-hover,#e0e1e9) 67.5%,rgba(224,225,233,0) 105%)}.___SColumn_szft0_gg_._use_secondary_szft0_gg_ .___SSortWrapper_szft0_gg_:before{background:linear-gradient(270deg,var(--intergalactic-table-th-secondary-cell,#fff) 67.5%,hsla(0,0%,100%,0) 105%)}.___SBodyWrapper_szft0_gg_{position:relative}.___SBody_szft0_gg_{display:flex;flex-direction:column;position:relative;min-width:-moz-fit-content;min-width:fit-content}.___SRow_szft0_gg_{display:flex;flex-direction:row;position:relative}.___SRow_szft0_gg_.__active_szft0_gg_>.___SCell_szft0_gg_:not(.__theme_szft0_gg_){background-color:var(--intergalactic-table-td-cell-hover,#f0f0f4)}@media (hover: hover){.___SRow_szft0_gg_:hover>.___SCell_szft0_gg_:not(.__theme_szft0_gg_),.___SRow_szft0_gg_ .___SCell_szft0_gg_:hover+.___SGroupCell_szft0_gg_ .___SCell_szft0_gg_:not(.__theme_szft0_gg_){background-color:var(--intergalactic-table-td-cell-hover,#f0f0f4)}}.___SRow_szft0_gg_._theme_muted_szft0_gg_ .___SCell_szft0_gg_:not(.__theme_szft0_gg_){background-color:var(--intergalactic-table-td-cell-unread,#f4f5f9)}.___SRow_szft0_gg_._theme_muted_szft0_gg_.__active_szft0_gg_>.___SCell_szft0_gg_:not(.__theme_szft0_gg_){background-color:var(--intergalactic-table-td-cell-hover,#f0f0f4)}@media (hover: hover){.___SRow_szft0_gg_:hover>.___SCell_szft0_gg_._theme_muted_szft0_gg_,.___SRow_szft0_gg_._theme_muted_szft0_gg_:hover>.___SCell_szft0_gg_:not(.__theme_szft0_gg_),.___SRow_szft0_gg_._theme_muted_szft0_gg_ .___SCell_szft0_gg_:hover+.___SGroupCell_szft0_gg_ .___SCell_szft0_gg_:not(.__theme_szft0_gg_){background-color:var(--intergalactic-table-td-cell-hover,#f0f0f4)}}.___SRow_szft0_gg_._theme_info_szft0_gg_ .___SCell_szft0_gg_:not(.__theme_szft0_gg_){background-color:var(--intergalactic-table-td-cell-selected,#e9f7ff)}.___SRow_szft0_gg_._theme_info_szft0_gg_.__active_szft0_gg_>.___SCell_szft0_gg_:not(.__theme_szft0_gg_){background-color:var(--intergalactic-table-td-cell-selected-hover,#c4e5fe)}@media (hover: hover){.___SRow_szft0_gg_:hover>.___SCell_szft0_gg_._theme_info_szft0_gg_,.___SRow_szft0_gg_._theme_info_szft0_gg_:hover>.___SCell_szft0_gg_:not(.__theme_szft0_gg_),.___SRow_szft0_gg_._theme_info_szft0_gg_ .___SCell_szft0_gg_:hover+.___SGroupCell_szft0_gg_ .___SCell_szft0_gg_:not(.__theme_szft0_gg_){background-color:var(--intergalactic-table-td-cell-selected-hover,#c4e5fe)}}.___SRow_szft0_gg_._theme_success_szft0_gg_ .___SCell_szft0_gg_:not(.__theme_szft0_gg_){background-color:var(--intergalactic-table-td-cell-new,#dbfee8)}.___SRow_szft0_gg_._theme_success_szft0_gg_.__active_szft0_gg_>.___SCell_szft0_gg_:not(.__theme_szft0_gg_){background-color:var(--intergalactic-table-td-cell-new-hover,#9ef2c9)}@media (hover: hover){.___SRow_szft0_gg_:hover>.___SCell_szft0_gg_._theme_success_szft0_gg_,.___SRow_szft0_gg_._theme_success_szft0_gg_:hover>.___SCell_szft0_gg_:not(.__theme_szft0_gg_),.___SRow_szft0_gg_._theme_success_szft0_gg_ .___SCell_szft0_gg_:hover+.___SGroupCell_szft0_gg_ .___SCell_szft0_gg_:not(.__theme_szft0_gg_){background-color:var(--intergalactic-table-td-cell-new-hover,#9ef2c9)}}.___SRow_szft0_gg_._theme_warning_szft0_gg_ .___SCell_szft0_gg_:not(.__theme_szft0_gg_){background-color:var(--intergalactic-table-td-cell-warning,#fff3d9)}.___SRow_szft0_gg_._theme_warning_szft0_gg_.__active_szft0_gg_>.___SCell_szft0_gg_:not(.__theme_szft0_gg_){background-color:var(--intergalactic-table-td-cell-warning-hover,#ffdca2)}@media (hover: hover){.___SRow_szft0_gg_:hover>.___SCell_szft0_gg_._theme_warning_szft0_gg_,.___SRow_szft0_gg_._theme_warning_szft0_gg_:hover>.___SCell_szft0_gg_:not(.__theme_szft0_gg_),.___SRow_szft0_gg_._theme_warning_szft0_gg_ .___SCell_szft0_gg_:hover+.___SGroupCell_szft0_gg_ .___SCell_szft0_gg_:not(.__theme_szft0_gg_){background-color:var(--intergalactic-table-td-cell-warning-hover,#ffdca2)}}.___SRow_szft0_gg_._theme_danger_szft0_gg_ .___SCell_szft0_gg_:not(.__theme_szft0_gg_){background-color:var(--intergalactic-table-td-cell-critical,#fff0f7)}.___SRow_szft0_gg_._theme_danger_szft0_gg_.__active_szft0_gg_>.___SCell_szft0_gg_:not(.__theme_szft0_gg_){background-color:var(--intergalactic-table-td-cell-critical-hover,#ffd7df)}@media (hover: hover){.___SRow_szft0_gg_:hover>.___SCell_szft0_gg_._theme_danger_szft0_gg_,.___SRow_szft0_gg_._theme_danger_szft0_gg_:hover>.___SCell_szft0_gg_:not(.__theme_szft0_gg_),.___SRow_szft0_gg_._theme_danger_szft0_gg_ .___SCell_szft0_gg_:hover+.___SGroupCell_szft0_gg_ .___SCell_szft0_gg_:not(.__theme_szft0_gg_){background-color:var(--intergalactic-table-td-cell-critical-hover,#ffd7df)}}.___SRow_szft0_gg_.__positioned_szft0_gg_{position:absolute}.___SCell_szft0_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_szft0_gg_._use_primary_szft0_gg_{padding:var(--intergalactic-spacing-3x,12px);min-height:45px;background-color:var(--intergalactic-bg-primary-neutral,#fff)}.___SCell_szft0_gg_._use_secondary_szft0_gg_{padding:var(--intergalactic-spacing-2x,8px);min-height:37px;background-color:var(--intergalactic-bg-primary-neutral,#fff)}.___SCell_szft0_gg_.__fixed_szft0_gg_{position:sticky;z-index:1}.___SCell_szft0_gg_._theme_muted_szft0_gg_{background-color:var(--intergalactic-table-td-cell-unread,#f4f5f9)}.___SCell_szft0_gg_._theme_info_szft0_gg_{background-color:var(--intergalactic-table-td-cell-selected,#e9f7ff)}.___SCell_szft0_gg_._theme_success_szft0_gg_{background-color:var(--intergalactic-table-td-cell-new,#dbfee8)}.___SCell_szft0_gg_._theme_warning_szft0_gg_{background-color:var(--intergalactic-table-td-cell-warning,#fff3d9)}.___SCell_szft0_gg_._theme_danger_szft0_gg_{background-color:var(--intergalactic-table-td-cell-critical,#fff0f7)}.___SScrollAreaBar_szft0_gg_._orientation_horizontal_szft0_gg_{position:sticky;bottom:0;left:0;margin-top:calc(var(--intergalactic-spacing-3x, 12px)*-1);z-index:2;margin-left:calc(var(--left_szft0) + var(--intergalactic-spacing-1x, 4px));margin-right:calc(var(--right_szft0) + var(--intergalactic-spacing-1x, 4px));width:calc(100% - var(--offsetSum_szft0) - 8px)}.___SScrollAreaBar_szft0_gg_._orientation_vertical_szft0_gg_{width:12px}.___SHeightHold_szft0_gg_{position:absolute;top:0;width:100%;pointer-events:none;z-index:-1}"
73
73
  /*__inner_css_end__*/
74
- , "zlg4l_gg_")
74
+ , "szft0_gg_")
75
75
  /*__reshadow_css_end__*/
76
76
  , {
77
- "__SDataTable": "___SDataTable_zlg4l_gg_",
78
- "_compact": "__compact_zlg4l_gg_",
79
- "__SCell": "___SCell_zlg4l_gg_",
80
- "__SColumn": "___SColumn_zlg4l_gg_",
81
- "__SHeadWrapper": "___SHeadWrapper_zlg4l_gg_",
82
- "_sticky": "__sticky_zlg4l_gg_",
83
- "__SHead": "___SHead_zlg4l_gg_",
84
- "_hidden": "__hidden_zlg4l_gg_",
85
- "_use_primary": "_use_primary_zlg4l_gg_",
86
- "_use_secondary": "_use_secondary_zlg4l_gg_",
87
- "_group": "__group_zlg4l_gg_",
88
- "_use": "__use_zlg4l_gg_",
89
- "_groupHead": "__groupHead_zlg4l_gg_",
90
- "_sortable": "__sortable_zlg4l_gg_",
91
- "__SSortWrapper": "___SSortWrapper_zlg4l_gg_",
92
- "_active": "__active_zlg4l_gg_",
93
- "__SSortIcon": "___SSortIcon_zlg4l_gg_",
94
- "_sortIconFloat": "__sortIconFloat_zlg4l_gg_",
95
- "_resizable": "__resizable_zlg4l_gg_",
96
- "_fixed": "__fixed_zlg4l_gg_",
97
- "_borderLeft": "__borderLeft_zlg4l_gg_",
98
- "_borderRight": "__borderRight_zlg4l_gg_",
99
- "__SBodyWrapper": "___SBodyWrapper_zlg4l_gg_",
100
- "__SBody": "___SBody_zlg4l_gg_",
101
- "__SRow": "___SRow_zlg4l_gg_",
102
- "_theme": "__theme_zlg4l_gg_",
103
- "__SGroupCell": "___SGroupCell_zlg4l_gg_",
104
- "_theme_muted": "_theme_muted_zlg4l_gg_",
105
- "_theme_info": "_theme_info_zlg4l_gg_",
106
- "_theme_success": "_theme_success_zlg4l_gg_",
107
- "_theme_warning": "_theme_warning_zlg4l_gg_",
108
- "_theme_danger": "_theme_danger_zlg4l_gg_",
109
- "_positioned": "__positioned_zlg4l_gg_",
110
- "__SScrollAreaBar": "___SScrollAreaBar_zlg4l_gg_",
111
- "_orientation_horizontal": "_orientation_horizontal_zlg4l_gg_",
112
- "_orientation_vertical": "_orientation_vertical_zlg4l_gg_",
113
- "__SHeightHold": "___SHeightHold_zlg4l_gg_",
114
- "--left": "--left_zlg4l",
115
- "--right": "--right_zlg4l",
116
- "--offsetSum": "--offsetSum_zlg4l"
77
+ "__SDataTable": "___SDataTable_szft0_gg_",
78
+ "_compact": "__compact_szft0_gg_",
79
+ "__SCell": "___SCell_szft0_gg_",
80
+ "__SColumn": "___SColumn_szft0_gg_",
81
+ "__SHeadWrapper": "___SHeadWrapper_szft0_gg_",
82
+ "_sticky": "__sticky_szft0_gg_",
83
+ "__SHead": "___SHead_szft0_gg_",
84
+ "_hidden": "__hidden_szft0_gg_",
85
+ "_use_primary": "_use_primary_szft0_gg_",
86
+ "_use_secondary": "_use_secondary_szft0_gg_",
87
+ "_group": "__group_szft0_gg_",
88
+ "_use": "__use_szft0_gg_",
89
+ "_groupHead": "__groupHead_szft0_gg_",
90
+ "_sortable": "__sortable_szft0_gg_",
91
+ "__SSortWrapper": "___SSortWrapper_szft0_gg_",
92
+ "_active": "__active_szft0_gg_",
93
+ "__SSortIcon": "___SSortIcon_szft0_gg_",
94
+ "_sortIconFloat": "__sortIconFloat_szft0_gg_",
95
+ "_resizable": "__resizable_szft0_gg_",
96
+ "_fixed": "__fixed_szft0_gg_",
97
+ "_borderLeft": "__borderLeft_szft0_gg_",
98
+ "_borderRight": "__borderRight_szft0_gg_",
99
+ "__SBodyWrapper": "___SBodyWrapper_szft0_gg_",
100
+ "__SBody": "___SBody_szft0_gg_",
101
+ "__SRow": "___SRow_szft0_gg_",
102
+ "_theme": "__theme_szft0_gg_",
103
+ "__SGroupCell": "___SGroupCell_szft0_gg_",
104
+ "_theme_muted": "_theme_muted_szft0_gg_",
105
+ "_theme_info": "_theme_info_szft0_gg_",
106
+ "_theme_success": "_theme_success_szft0_gg_",
107
+ "_theme_warning": "_theme_warning_szft0_gg_",
108
+ "_theme_danger": "_theme_danger_szft0_gg_",
109
+ "_positioned": "__positioned_szft0_gg_",
110
+ "__SScrollAreaBar": "___SScrollAreaBar_szft0_gg_",
111
+ "_orientation_horizontal": "_orientation_horizontal_szft0_gg_",
112
+ "_orientation_vertical": "_orientation_vertical_szft0_gg_",
113
+ "__SHeightHold": "___SHeightHold_szft0_gg_",
114
+ "--left": "--left_szft0",
115
+ "--right": "--right_szft0",
116
+ "--offsetSum": "--offsetSum_szft0"
117
117
  });
118
118
  var REVERSED_SORT_DIRECTION = {
119
119
  desc: 'asc',
@@ -371,8 +371,7 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
371
371
  var parseData = function parseData(data, exclude) {
372
372
  return data.map(function (row) {
373
373
  var groupByName = {};
374
- var groupedColumns = {};
375
- var ungroupedColumns = {};
374
+ var columnsWithoutRowGroup = {};
376
375
 
377
376
  for (var rowKey in row) {
378
377
  var columnNames = rowKey.split('/');
@@ -388,7 +387,7 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
388
387
  groupedColumns: columnNames,
389
388
  groupData: row[rowKey]
390
389
  };
391
- groupedColumns[rowKey] = true;
390
+ columnsWithoutRowGroup[_column2] = true;
392
391
  }
393
392
  } catch (err) {
394
393
  _iterator2.e(err);
@@ -396,13 +395,15 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
396
395
  _iterator2.f();
397
396
  }
398
397
  } else {
399
- ungroupedColumns[rowKey] = true;
398
+ columnsWithoutRowGroup[rowKey] = true;
400
399
  }
401
400
  }
402
401
 
403
402
  var rowsGroup = row[ROW_GROUP] || [];
404
403
  var rowsGroupedNames = Object.fromEntries(rowsGroup.map(function (subRow) {
405
404
  return Object.keys(subRow);
405
+ }).flat().map(function (key) {
406
+ return key.split('/');
406
407
  }).flat().map(function (key) {
407
408
  return [key, true];
408
409
  }));
@@ -411,13 +412,13 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
411
412
  var cells = _this3.columns.map(function (column) {
412
413
  if (groupByName[column.name]) {
413
414
  var _groupByName$column$n = groupByName[column.name],
414
- _groupedColumns = _groupByName$column$n.groupedColumns,
415
+ groupedColumns = _groupByName$column$n.groupedColumns,
415
416
  groupData = _groupByName$column$n.groupData;
416
417
 
417
- if (_groupedColumns[0] === column.name) {
418
+ if (groupedColumns[0] === column.name) {
418
419
  return {
419
- name: _groupedColumns.join('/'),
420
- cssVar: _groupedColumns.map(createCssVarForWidth),
420
+ name: groupedColumns.join('/'),
421
+ cssVar: groupedColumns.map(createCssVarForWidth),
421
422
  fixed: column.fixed,
422
423
  data: groupData,
423
424
  cellPropsLayers: cellPropsLayers[column.name] || []
@@ -434,8 +435,9 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
434
435
  } else if (!isGroup && rowsGroupedNames[column.name]) {
435
436
  // TODO: make it work not only with first group
436
437
  isGroup = true;
437
- return parseData(rowsGroup, _objectSpread(_objectSpread({}, ungroupedColumns), groupedColumns));
438
+ return parseData(rowsGroup, _objectSpread(_objectSpread({}, exclude), columnsWithoutRowGroup));
438
439
  } else if (!exclude[column.name] && !rowsGroupedNames[column.name]) {
440
+ // add empty cell if it is not present in data
439
441
  return {
440
442
  name: column.name,
441
443
  cssVar: column.varWidth,
@@ -445,7 +447,7 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
445
447
  };
446
448
  }
447
449
  }).filter(function (column) {
448
- return column !== undefined;
450
+ return column;
449
451
  }).map(function (column) {
450
452
  return column;
451
453
  });
@@ -476,7 +478,7 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
476
478
  return _ref2 = (0, _core.sstyled)(styles), /*#__PURE__*/_react["default"].createElement(SDataTable, _ref2.cn("SDataTable", _objectSpread({}, (0, _core.assignProps)({
477
479
  "__excludeProps": ['data'],
478
480
  "ref": this.tableRef,
479
- "role": "table",
481
+ "role": 'table',
480
482
  "aria-rowcount": (data !== null && data !== void 0 ? data : []).length
481
483
  }, _ref))), /*#__PURE__*/_react["default"].createElement(Children, _ref2.cn("Children", {})));
482
484
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DataTable.js","names":["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","React","createRef","event","column","find","fire","active","sortDirection","forceUpdate","tableRef","current","scrollIntoView","block","inline","behavior","syncScroll","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","flattenColumns","map","join","toArray","filter","columnChildren","ref","getBoundingClientRect","forwardRef","push","use","$onSortClick","callAllEventHandlers","handlerSortClick","scrollToUp","onResize","handlerResize","$scrollRef","data","uniqueKey","cellPropsLayers","rowPropsLayers","other","Cell","split","childrenPropsGetter","Row","rows","dataToRows","parseData","exclude","row","groupByName","groupedColumns","ungroupedColumns","rowKey","columnNames","groupData","rowsGroup","rowsGroupedNames","Object","fromEntries","subRow","keys","flat","key","cells","cssVar","flatRowData","setVarStyle","SDataTable","Box","styles","sstyled","Component","ComponentDefinition","createComponent","Head","Body"],"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 groupedColumns: { [columnname: string]: true } = {};\n const ungroupedColumns: { [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 groupedColumns[rowKey] = true;\n }\n } else {\n ungroupedColumns[rowKey] = true;\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, 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 ...ungroupedColumns,\n ...groupedColumns,\n });\n } else if (!exclude[column.name] && !rowsGroupedNames[column.name]) {\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 !== undefined)\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":["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","React","createRef","event","column","find","fire","active","sortDirection","forceUpdate","tableRef","current","scrollIntoView","block","inline","behavior","syncScroll","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","flattenColumns","map","join","toArray","filter","columnChildren","ref","getBoundingClientRect","forwardRef","push","use","$onSortClick","callAllEventHandlers","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","Box","styles","sstyled","Component","ComponentDefinition","createComponent","Head","Body"],"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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"}
package/lib/cjs/Head.js CHANGED
@@ -58,16 +58,16 @@ var scrollStyles = (
58
58
  /*__reshadow_css_start__*/
59
59
  _core.sstyled.insert(
60
60
  /*__inner_css_start__*/
61
- ".___SShadowHorizontal_vp6dq_gg_:before{left:var(--left_vp6dq)!important}.___SShadowHorizontal_vp6dq_gg_:after{right:var(--right_vp6dq)!important}.___SContainer_vp6dq_gg_.__disabledScroll_vp6dq_gg_{overflow:visible}"
61
+ ".___SShadowHorizontal_1qzx1_gg_:before{left:var(--left_1qzx1)!important}.___SShadowHorizontal_1qzx1_gg_:after{right:var(--right_1qzx1)!important}.___SContainer_1qzx1_gg_.__disabledScroll_1qzx1_gg_{overflow:visible}"
62
62
  /*__inner_css_end__*/
63
- , "vp6dq_gg_")
63
+ , "1qzx1_gg_")
64
64
  /*__reshadow_css_end__*/
65
65
  , {
66
- "__SShadowHorizontal": "___SShadowHorizontal_vp6dq_gg_",
67
- "--left": "--left_vp6dq",
68
- "--right": "--right_vp6dq",
69
- "__SContainer": "___SContainer_vp6dq_gg_",
70
- "_disabledScroll": "__disabledScroll_vp6dq_gg_"
66
+ "__SShadowHorizontal": "___SShadowHorizontal_1qzx1_gg_",
67
+ "--left": "--left_1qzx1",
68
+ "--right": "--right_1qzx1",
69
+ "__SContainer": "___SContainer_1qzx1_gg_",
70
+ "_disabledScroll": "__disabledScroll_1qzx1_gg_"
71
71
  });
72
72
  var SORTING_ICON = {
73
73
  desc: _m["default"],
package/lib/es6/Body.js CHANGED
@@ -40,16 +40,16 @@ var scrollStyles = (
40
40
  /*__reshadow_css_start__*/
41
41
  _sstyled.insert(
42
42
  /*__inner_css_start__*/
43
- ".___SShadowHorizontal_vp6dq_gg_:before{left:var(--left_vp6dq)!important}.___SShadowHorizontal_vp6dq_gg_:after{right:var(--right_vp6dq)!important}.___SContainer_vp6dq_gg_.__disabledScroll_vp6dq_gg_{overflow:visible}"
43
+ ".___SShadowHorizontal_1qzx1_gg_:before{left:var(--left_1qzx1)!important}.___SShadowHorizontal_1qzx1_gg_:after{right:var(--right_1qzx1)!important}.___SContainer_1qzx1_gg_.__disabledScroll_1qzx1_gg_{overflow:visible}"
44
44
  /*__inner_css_end__*/
45
- , "vp6dq_gg_")
45
+ , "1qzx1_gg_")
46
46
  /*__reshadow_css_end__*/
47
47
  , {
48
- "__SShadowHorizontal": "___SShadowHorizontal_vp6dq_gg_",
49
- "--left": "--left_vp6dq",
50
- "--right": "--right_vp6dq",
51
- "__SContainer": "___SContainer_vp6dq_gg_",
52
- "_disabledScroll": "__disabledScroll_vp6dq_gg_"
48
+ "__SShadowHorizontal": "___SShadowHorizontal_1qzx1_gg_",
49
+ "--left": "--left_1qzx1",
50
+ "--right": "--right_1qzx1",
51
+ "__SContainer": "___SContainer_1qzx1_gg_",
52
+ "_disabledScroll": "__disabledScroll_1qzx1_gg_"
53
53
  });
54
54
  import trottle from '@semcore/utils/lib/rafTrottle';
55
55
  var testEnv = process.env.NODE_ENV === 'test';
@@ -40,51 +40,51 @@ var style = (
40
40
  /*__reshadow_css_start__*/
41
41
  _sstyled.insert(
42
42
  /*__inner_css_start__*/
43
- ".___SDataTable_zlg4l_gg_{position:relative}.___SDataTable_zlg4l_gg_.__compact_zlg4l_gg_ .___SCell_zlg4l_gg_,.___SDataTable_zlg4l_gg_.__compact_zlg4l_gg_ .___SColumn_zlg4l_gg_{padding:var(--intergalactic-spacing-3x,12px) var(--intergalactic-spacing-2x,8px)}.___SHeadWrapper_zlg4l_gg_{position:relative}.___SHeadWrapper_zlg4l_gg_.__sticky_zlg4l_gg_{position:sticky;top:0;z-index:2}.___SHead_zlg4l_gg_{display:flex;position:relative;flex-direction:row;min-width:-moz-fit-content;min-width:fit-content;z-index:0}.___SColumn_zlg4l_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_zlg4l_gg_.focus-visible{outline:none;box-shadow:inset var(--intergalactic-keyboard-focus,0 0 0 3px rgba(0,143,248,.3))}.___SColumn_zlg4l_gg_:focus-visible{outline:none;box-shadow:inset var(--intergalactic-keyboard-focus,0 0 0 3px rgba(0,143,248,.3))}.___SColumn_zlg4l_gg_.__hidden_zlg4l_gg_{height:0!important;padding:0!important;overflow:hidden!important;border:none!important}.___SColumn_zlg4l_gg_._use_primary_zlg4l_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_zlg4l_gg_._use_secondary_zlg4l_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,#fff)}.___SColumn_zlg4l_gg_.__group_zlg4l_gg_.__use_zlg4l_gg_{display:flex;flex-wrap:wrap;flex-direction:column;align-items:normal;border-bottom:none;padding:0}.___SColumn_zlg4l_gg_.__groupHead_zlg4l_gg_{justify-content:center;z-index:1;border-bottom:none}.___SColumn_zlg4l_gg_.__sortable_zlg4l_gg_{cursor:pointer}@media (hover: hover){.___SColumn_zlg4l_gg_.__sortable_zlg4l_gg_._use_primary_zlg4l_gg_:hover{background-color:var(--intergalactic-table-th-primary-cell-hover,#e0e1e9)}}@media (hover: hover){.___SColumn_zlg4l_gg_.__sortable_zlg4l_gg_:hover .___SSortWrapper_zlg4l_gg_{display:block}}.___SColumn_zlg4l_gg_._use_primary_zlg4l_gg_.__active_zlg4l_gg_{background-color:var(--intergalactic-table-th-primary-cell-active,#e0e1e9);width:100%}.___SColumn_zlg4l_gg_.__active_zlg4l_gg_ .___SSortIcon_zlg4l_gg_{position:relative}.___SColumn_zlg4l_gg_.__sortIconFloat_zlg4l_gg_ .___SSortWrapper_zlg4l_gg_{width:0;flex-basis:0}.___SColumn_zlg4l_gg_.__active_zlg4l_gg_ .___SSortWrapper_zlg4l_gg_{display:block;width:16px;flex-basis:20px;margin-left:var(--intergalactic-spacing-1x,4px)}.___SColumn_zlg4l_gg_.__resizable_zlg4l_gg_{border-right:1px solid transparent}@media (hover: hover){.___SColumn_zlg4l_gg_.__resizable_zlg4l_gg_:hover:after{border-right-color:var(--intergalactic-border-table-accent,#a9abb6)}}.___SColumn_zlg4l_gg_.__resizable_zlg4l_gg_:after{content:\"\";position:absolute;bottom:0;right:-1px;height:100%;width:5px;background:transparent;cursor:col-resize;border-right:1px solid transparent}.___SColumn_zlg4l_gg_.__fixed_zlg4l_gg_{position:sticky;z-index:2}.___SCell_zlg4l_gg_.__borderLeft_zlg4l_gg_,.___SColumn_zlg4l_gg_.__borderLeft_zlg4l_gg_{border-left:1px solid var(--intergalactic-border-secondary,#e0e1e9)}.___SCell_zlg4l_gg_.__borderRight_zlg4l_gg_,.___SColumn_zlg4l_gg_.__borderRight_zlg4l_gg_{border-right:1px solid var(--intergalactic-border-secondary,#e0e1e9)}.___SSortIcon_zlg4l_gg_{fill:var(--intergalactic-icon-secondary-neutral-hover-active,#8a8e9b);position:absolute;top:-2px;right:0}.___SSortWrapper_zlg4l_gg_{display:none;flex-shrink:99999;position:relative;flex-basis:20px;height:0}.___SSortWrapper_zlg4l_gg_:before{content:\"\";position:absolute;top:-2px;right:0;width:20px;height:16px}.___SColumn_zlg4l_gg_._use_primary_zlg4l_gg_ .___SSortWrapper_zlg4l_gg_:before{background:linear-gradient(270deg,var(--intergalactic-table-th-primary-cell-hover,#e0e1e9) 67.5%,rgba(224,225,233,0) 105%)}.___SColumn_zlg4l_gg_._use_secondary_zlg4l_gg_ .___SSortWrapper_zlg4l_gg_:before{background:linear-gradient(270deg,var(--intergalactic-table-th-secondary-cell,#fff) 67.5%,hsla(0,0%,100%,0) 105%)}.___SBodyWrapper_zlg4l_gg_{position:relative}.___SBody_zlg4l_gg_{display:flex;flex-direction:column;position:relative;min-width:-moz-fit-content;min-width:fit-content}.___SRow_zlg4l_gg_{display:flex;flex-direction:row;position:relative}.___SRow_zlg4l_gg_.__active_zlg4l_gg_>.___SCell_zlg4l_gg_:not(.__theme_zlg4l_gg_){background-color:var(--intergalactic-table-td-cell-hover,#f0f0f4)}@media (hover: hover){.___SRow_zlg4l_gg_:hover>.___SCell_zlg4l_gg_:not(.__theme_zlg4l_gg_),.___SRow_zlg4l_gg_ .___SCell_zlg4l_gg_:hover+.___SGroupCell_zlg4l_gg_ .___SCell_zlg4l_gg_:not(.__theme_zlg4l_gg_){background-color:var(--intergalactic-table-td-cell-hover,#f0f0f4)}}.___SRow_zlg4l_gg_._theme_muted_zlg4l_gg_ .___SCell_zlg4l_gg_:not(.__theme_zlg4l_gg_){background-color:var(--intergalactic-table-td-cell-unread,#f4f5f9)}.___SRow_zlg4l_gg_._theme_muted_zlg4l_gg_.__active_zlg4l_gg_>.___SCell_zlg4l_gg_:not(.__theme_zlg4l_gg_){background-color:var(--intergalactic-table-td-cell-hover,#f0f0f4)}@media (hover: hover){.___SRow_zlg4l_gg_:hover>.___SCell_zlg4l_gg_._theme_muted_zlg4l_gg_,.___SRow_zlg4l_gg_._theme_muted_zlg4l_gg_:hover>.___SCell_zlg4l_gg_:not(.__theme_zlg4l_gg_),.___SRow_zlg4l_gg_._theme_muted_zlg4l_gg_ .___SCell_zlg4l_gg_:hover+.___SGroupCell_zlg4l_gg_ .___SCell_zlg4l_gg_:not(.__theme_zlg4l_gg_){background-color:var(--intergalactic-table-td-cell-hover,#f0f0f4)}}.___SRow_zlg4l_gg_._theme_info_zlg4l_gg_ .___SCell_zlg4l_gg_:not(.__theme_zlg4l_gg_){background-color:var(--intergalactic-table-td-cell-selected,#e9f7ff)}.___SRow_zlg4l_gg_._theme_info_zlg4l_gg_.__active_zlg4l_gg_>.___SCell_zlg4l_gg_:not(.__theme_zlg4l_gg_){background-color:var(--intergalactic-table-td-cell-selected-hover,#c4e5fe)}@media (hover: hover){.___SRow_zlg4l_gg_:hover>.___SCell_zlg4l_gg_._theme_info_zlg4l_gg_,.___SRow_zlg4l_gg_._theme_info_zlg4l_gg_:hover>.___SCell_zlg4l_gg_:not(.__theme_zlg4l_gg_),.___SRow_zlg4l_gg_._theme_info_zlg4l_gg_ .___SCell_zlg4l_gg_:hover+.___SGroupCell_zlg4l_gg_ .___SCell_zlg4l_gg_:not(.__theme_zlg4l_gg_){background-color:var(--intergalactic-table-td-cell-selected-hover,#c4e5fe)}}.___SRow_zlg4l_gg_._theme_success_zlg4l_gg_ .___SCell_zlg4l_gg_:not(.__theme_zlg4l_gg_){background-color:var(--intergalactic-table-td-cell-new,#dbfee8)}.___SRow_zlg4l_gg_._theme_success_zlg4l_gg_.__active_zlg4l_gg_>.___SCell_zlg4l_gg_:not(.__theme_zlg4l_gg_){background-color:var(--intergalactic-table-td-cell-new-hover,#9ef2c9)}@media (hover: hover){.___SRow_zlg4l_gg_:hover>.___SCell_zlg4l_gg_._theme_success_zlg4l_gg_,.___SRow_zlg4l_gg_._theme_success_zlg4l_gg_:hover>.___SCell_zlg4l_gg_:not(.__theme_zlg4l_gg_),.___SRow_zlg4l_gg_._theme_success_zlg4l_gg_ .___SCell_zlg4l_gg_:hover+.___SGroupCell_zlg4l_gg_ .___SCell_zlg4l_gg_:not(.__theme_zlg4l_gg_){background-color:var(--intergalactic-table-td-cell-new-hover,#9ef2c9)}}.___SRow_zlg4l_gg_._theme_warning_zlg4l_gg_ .___SCell_zlg4l_gg_:not(.__theme_zlg4l_gg_){background-color:var(--intergalactic-table-td-cell-warning,#fff3d9)}.___SRow_zlg4l_gg_._theme_warning_zlg4l_gg_.__active_zlg4l_gg_>.___SCell_zlg4l_gg_:not(.__theme_zlg4l_gg_){background-color:var(--intergalactic-table-td-cell-warning-hover,#ffdca2)}@media (hover: hover){.___SRow_zlg4l_gg_:hover>.___SCell_zlg4l_gg_._theme_warning_zlg4l_gg_,.___SRow_zlg4l_gg_._theme_warning_zlg4l_gg_:hover>.___SCell_zlg4l_gg_:not(.__theme_zlg4l_gg_),.___SRow_zlg4l_gg_._theme_warning_zlg4l_gg_ .___SCell_zlg4l_gg_:hover+.___SGroupCell_zlg4l_gg_ .___SCell_zlg4l_gg_:not(.__theme_zlg4l_gg_){background-color:var(--intergalactic-table-td-cell-warning-hover,#ffdca2)}}.___SRow_zlg4l_gg_._theme_danger_zlg4l_gg_ .___SCell_zlg4l_gg_:not(.__theme_zlg4l_gg_){background-color:var(--intergalactic-table-td-cell-critical,#fff0f7)}.___SRow_zlg4l_gg_._theme_danger_zlg4l_gg_.__active_zlg4l_gg_>.___SCell_zlg4l_gg_:not(.__theme_zlg4l_gg_){background-color:var(--intergalactic-table-td-cell-critical-hover,#ffd7df)}@media (hover: hover){.___SRow_zlg4l_gg_:hover>.___SCell_zlg4l_gg_._theme_danger_zlg4l_gg_,.___SRow_zlg4l_gg_._theme_danger_zlg4l_gg_:hover>.___SCell_zlg4l_gg_:not(.__theme_zlg4l_gg_),.___SRow_zlg4l_gg_._theme_danger_zlg4l_gg_ .___SCell_zlg4l_gg_:hover+.___SGroupCell_zlg4l_gg_ .___SCell_zlg4l_gg_:not(.__theme_zlg4l_gg_){background-color:var(--intergalactic-table-td-cell-critical-hover,#ffd7df)}}.___SRow_zlg4l_gg_.__positioned_zlg4l_gg_{position:absolute}.___SCell_zlg4l_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_zlg4l_gg_._use_primary_zlg4l_gg_{padding:var(--intergalactic-spacing-3x,12px);min-height:45px;background-color:var(--intergalactic-bg-primary-neutral,#fff)}.___SCell_zlg4l_gg_._use_secondary_zlg4l_gg_{padding:var(--intergalactic-spacing-2x,8px);min-height:37px;background-color:var(--intergalactic-bg-primary-neutral,#fff)}.___SCell_zlg4l_gg_.__fixed_zlg4l_gg_{position:sticky;z-index:1}.___SCell_zlg4l_gg_._theme_muted_zlg4l_gg_{background-color:var(--intergalactic-table-td-cell-unread,#f4f5f9)}.___SCell_zlg4l_gg_._theme_info_zlg4l_gg_{background-color:var(--intergalactic-table-td-cell-selected,#e9f7ff)}.___SCell_zlg4l_gg_._theme_success_zlg4l_gg_{background-color:var(--intergalactic-table-td-cell-new,#dbfee8)}.___SCell_zlg4l_gg_._theme_warning_zlg4l_gg_{background-color:var(--intergalactic-table-td-cell-warning,#fff3d9)}.___SCell_zlg4l_gg_._theme_danger_zlg4l_gg_{background-color:var(--intergalactic-table-td-cell-critical,#fff0f7)}.___SScrollAreaBar_zlg4l_gg_._orientation_horizontal_zlg4l_gg_{position:sticky;bottom:0;left:0;margin-top:calc(var(--intergalactic-spacing-3x, 12px)*-1);z-index:2;margin-left:calc(var(--left_zlg4l) + var(--intergalactic-spacing-1x, 4px));margin-right:calc(var(--right_zlg4l) + var(--intergalactic-spacing-1x, 4px));width:calc(100% - var(--offsetSum_zlg4l) - 8px)}.___SScrollAreaBar_zlg4l_gg_._orientation_vertical_zlg4l_gg_{width:12px}.___SHeightHold_zlg4l_gg_{position:absolute;top:0;width:100%;pointer-events:none;z-index:-1}"
43
+ ".___SDataTable_szft0_gg_{position:relative}.___SDataTable_szft0_gg_.__compact_szft0_gg_ .___SCell_szft0_gg_,.___SDataTable_szft0_gg_.__compact_szft0_gg_ .___SColumn_szft0_gg_{padding:var(--intergalactic-spacing-3x,12px) var(--intergalactic-spacing-2x,8px)}.___SHeadWrapper_szft0_gg_{position:relative}.___SHeadWrapper_szft0_gg_.__sticky_szft0_gg_{position:sticky;top:0;z-index:2}.___SHead_szft0_gg_{display:flex;position:relative;flex-direction:row;min-width:-moz-fit-content;min-width:fit-content;z-index:0}.___SColumn_szft0_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_szft0_gg_.focus-visible{outline:none;box-shadow:inset var(--intergalactic-keyboard-focus,0 0 0 3px rgba(0,143,248,.3))}.___SColumn_szft0_gg_:focus-visible{outline:none;box-shadow:inset var(--intergalactic-keyboard-focus,0 0 0 3px rgba(0,143,248,.3))}.___SColumn_szft0_gg_.__hidden_szft0_gg_{height:0!important;padding:0!important;overflow:hidden!important;border:none!important}.___SColumn_szft0_gg_._use_primary_szft0_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_szft0_gg_._use_secondary_szft0_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,#fff)}.___SColumn_szft0_gg_.__group_szft0_gg_.__use_szft0_gg_{display:flex;flex-wrap:wrap;flex-direction:column;align-items:normal;border-bottom:none;padding:0}.___SColumn_szft0_gg_.__groupHead_szft0_gg_{justify-content:center;z-index:1;border-bottom:none}.___SColumn_szft0_gg_.__sortable_szft0_gg_{cursor:pointer}@media (hover: hover){.___SColumn_szft0_gg_.__sortable_szft0_gg_._use_primary_szft0_gg_:hover{background-color:var(--intergalactic-table-th-primary-cell-hover,#e0e1e9)}}@media (hover: hover){.___SColumn_szft0_gg_.__sortable_szft0_gg_:hover .___SSortWrapper_szft0_gg_{display:block}}.___SColumn_szft0_gg_._use_primary_szft0_gg_.__active_szft0_gg_{background-color:var(--intergalactic-table-th-primary-cell-active,#e0e1e9);width:100%}.___SColumn_szft0_gg_.__active_szft0_gg_ .___SSortIcon_szft0_gg_{position:relative}.___SColumn_szft0_gg_.__sortIconFloat_szft0_gg_ .___SSortWrapper_szft0_gg_{width:0;flex-basis:0}.___SColumn_szft0_gg_.__active_szft0_gg_ .___SSortWrapper_szft0_gg_{display:block;width:16px;flex-basis:20px;margin-left:var(--intergalactic-spacing-1x,4px)}.___SColumn_szft0_gg_.__resizable_szft0_gg_{border-right:1px solid transparent}@media (hover: hover){.___SColumn_szft0_gg_.__resizable_szft0_gg_:hover:after{border-right-color:var(--intergalactic-border-table-accent,#a9abb6)}}.___SColumn_szft0_gg_.__resizable_szft0_gg_:after{content:\"\";position:absolute;bottom:0;right:-1px;height:100%;width:5px;background:transparent;cursor:col-resize;border-right:1px solid transparent}.___SColumn_szft0_gg_.__fixed_szft0_gg_{position:sticky;z-index:2}.___SCell_szft0_gg_.__borderLeft_szft0_gg_,.___SColumn_szft0_gg_.__borderLeft_szft0_gg_{border-left:1px solid var(--intergalactic-border-secondary,#e0e1e9)}.___SCell_szft0_gg_.__borderRight_szft0_gg_,.___SColumn_szft0_gg_.__borderRight_szft0_gg_{border-right:1px solid var(--intergalactic-border-secondary,#e0e1e9)}.___SSortIcon_szft0_gg_{fill:var(--intergalactic-icon-secondary-neutral-hover-active,#8a8e9b);position:absolute;top:-2px;right:0}.___SSortWrapper_szft0_gg_{display:none;flex-shrink:99999;position:relative;flex-basis:20px;height:0}.___SSortWrapper_szft0_gg_:before{content:\"\";position:absolute;top:-2px;right:0;width:20px;height:16px}.___SColumn_szft0_gg_._use_primary_szft0_gg_ .___SSortWrapper_szft0_gg_:before{background:linear-gradient(270deg,var(--intergalactic-table-th-primary-cell-hover,#e0e1e9) 67.5%,rgba(224,225,233,0) 105%)}.___SColumn_szft0_gg_._use_secondary_szft0_gg_ .___SSortWrapper_szft0_gg_:before{background:linear-gradient(270deg,var(--intergalactic-table-th-secondary-cell,#fff) 67.5%,hsla(0,0%,100%,0) 105%)}.___SBodyWrapper_szft0_gg_{position:relative}.___SBody_szft0_gg_{display:flex;flex-direction:column;position:relative;min-width:-moz-fit-content;min-width:fit-content}.___SRow_szft0_gg_{display:flex;flex-direction:row;position:relative}.___SRow_szft0_gg_.__active_szft0_gg_>.___SCell_szft0_gg_:not(.__theme_szft0_gg_){background-color:var(--intergalactic-table-td-cell-hover,#f0f0f4)}@media (hover: hover){.___SRow_szft0_gg_:hover>.___SCell_szft0_gg_:not(.__theme_szft0_gg_),.___SRow_szft0_gg_ .___SCell_szft0_gg_:hover+.___SGroupCell_szft0_gg_ .___SCell_szft0_gg_:not(.__theme_szft0_gg_){background-color:var(--intergalactic-table-td-cell-hover,#f0f0f4)}}.___SRow_szft0_gg_._theme_muted_szft0_gg_ .___SCell_szft0_gg_:not(.__theme_szft0_gg_){background-color:var(--intergalactic-table-td-cell-unread,#f4f5f9)}.___SRow_szft0_gg_._theme_muted_szft0_gg_.__active_szft0_gg_>.___SCell_szft0_gg_:not(.__theme_szft0_gg_){background-color:var(--intergalactic-table-td-cell-hover,#f0f0f4)}@media (hover: hover){.___SRow_szft0_gg_:hover>.___SCell_szft0_gg_._theme_muted_szft0_gg_,.___SRow_szft0_gg_._theme_muted_szft0_gg_:hover>.___SCell_szft0_gg_:not(.__theme_szft0_gg_),.___SRow_szft0_gg_._theme_muted_szft0_gg_ .___SCell_szft0_gg_:hover+.___SGroupCell_szft0_gg_ .___SCell_szft0_gg_:not(.__theme_szft0_gg_){background-color:var(--intergalactic-table-td-cell-hover,#f0f0f4)}}.___SRow_szft0_gg_._theme_info_szft0_gg_ .___SCell_szft0_gg_:not(.__theme_szft0_gg_){background-color:var(--intergalactic-table-td-cell-selected,#e9f7ff)}.___SRow_szft0_gg_._theme_info_szft0_gg_.__active_szft0_gg_>.___SCell_szft0_gg_:not(.__theme_szft0_gg_){background-color:var(--intergalactic-table-td-cell-selected-hover,#c4e5fe)}@media (hover: hover){.___SRow_szft0_gg_:hover>.___SCell_szft0_gg_._theme_info_szft0_gg_,.___SRow_szft0_gg_._theme_info_szft0_gg_:hover>.___SCell_szft0_gg_:not(.__theme_szft0_gg_),.___SRow_szft0_gg_._theme_info_szft0_gg_ .___SCell_szft0_gg_:hover+.___SGroupCell_szft0_gg_ .___SCell_szft0_gg_:not(.__theme_szft0_gg_){background-color:var(--intergalactic-table-td-cell-selected-hover,#c4e5fe)}}.___SRow_szft0_gg_._theme_success_szft0_gg_ .___SCell_szft0_gg_:not(.__theme_szft0_gg_){background-color:var(--intergalactic-table-td-cell-new,#dbfee8)}.___SRow_szft0_gg_._theme_success_szft0_gg_.__active_szft0_gg_>.___SCell_szft0_gg_:not(.__theme_szft0_gg_){background-color:var(--intergalactic-table-td-cell-new-hover,#9ef2c9)}@media (hover: hover){.___SRow_szft0_gg_:hover>.___SCell_szft0_gg_._theme_success_szft0_gg_,.___SRow_szft0_gg_._theme_success_szft0_gg_:hover>.___SCell_szft0_gg_:not(.__theme_szft0_gg_),.___SRow_szft0_gg_._theme_success_szft0_gg_ .___SCell_szft0_gg_:hover+.___SGroupCell_szft0_gg_ .___SCell_szft0_gg_:not(.__theme_szft0_gg_){background-color:var(--intergalactic-table-td-cell-new-hover,#9ef2c9)}}.___SRow_szft0_gg_._theme_warning_szft0_gg_ .___SCell_szft0_gg_:not(.__theme_szft0_gg_){background-color:var(--intergalactic-table-td-cell-warning,#fff3d9)}.___SRow_szft0_gg_._theme_warning_szft0_gg_.__active_szft0_gg_>.___SCell_szft0_gg_:not(.__theme_szft0_gg_){background-color:var(--intergalactic-table-td-cell-warning-hover,#ffdca2)}@media (hover: hover){.___SRow_szft0_gg_:hover>.___SCell_szft0_gg_._theme_warning_szft0_gg_,.___SRow_szft0_gg_._theme_warning_szft0_gg_:hover>.___SCell_szft0_gg_:not(.__theme_szft0_gg_),.___SRow_szft0_gg_._theme_warning_szft0_gg_ .___SCell_szft0_gg_:hover+.___SGroupCell_szft0_gg_ .___SCell_szft0_gg_:not(.__theme_szft0_gg_){background-color:var(--intergalactic-table-td-cell-warning-hover,#ffdca2)}}.___SRow_szft0_gg_._theme_danger_szft0_gg_ .___SCell_szft0_gg_:not(.__theme_szft0_gg_){background-color:var(--intergalactic-table-td-cell-critical,#fff0f7)}.___SRow_szft0_gg_._theme_danger_szft0_gg_.__active_szft0_gg_>.___SCell_szft0_gg_:not(.__theme_szft0_gg_){background-color:var(--intergalactic-table-td-cell-critical-hover,#ffd7df)}@media (hover: hover){.___SRow_szft0_gg_:hover>.___SCell_szft0_gg_._theme_danger_szft0_gg_,.___SRow_szft0_gg_._theme_danger_szft0_gg_:hover>.___SCell_szft0_gg_:not(.__theme_szft0_gg_),.___SRow_szft0_gg_._theme_danger_szft0_gg_ .___SCell_szft0_gg_:hover+.___SGroupCell_szft0_gg_ .___SCell_szft0_gg_:not(.__theme_szft0_gg_){background-color:var(--intergalactic-table-td-cell-critical-hover,#ffd7df)}}.___SRow_szft0_gg_.__positioned_szft0_gg_{position:absolute}.___SCell_szft0_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_szft0_gg_._use_primary_szft0_gg_{padding:var(--intergalactic-spacing-3x,12px);min-height:45px;background-color:var(--intergalactic-bg-primary-neutral,#fff)}.___SCell_szft0_gg_._use_secondary_szft0_gg_{padding:var(--intergalactic-spacing-2x,8px);min-height:37px;background-color:var(--intergalactic-bg-primary-neutral,#fff)}.___SCell_szft0_gg_.__fixed_szft0_gg_{position:sticky;z-index:1}.___SCell_szft0_gg_._theme_muted_szft0_gg_{background-color:var(--intergalactic-table-td-cell-unread,#f4f5f9)}.___SCell_szft0_gg_._theme_info_szft0_gg_{background-color:var(--intergalactic-table-td-cell-selected,#e9f7ff)}.___SCell_szft0_gg_._theme_success_szft0_gg_{background-color:var(--intergalactic-table-td-cell-new,#dbfee8)}.___SCell_szft0_gg_._theme_warning_szft0_gg_{background-color:var(--intergalactic-table-td-cell-warning,#fff3d9)}.___SCell_szft0_gg_._theme_danger_szft0_gg_{background-color:var(--intergalactic-table-td-cell-critical,#fff0f7)}.___SScrollAreaBar_szft0_gg_._orientation_horizontal_szft0_gg_{position:sticky;bottom:0;left:0;margin-top:calc(var(--intergalactic-spacing-3x, 12px)*-1);z-index:2;margin-left:calc(var(--left_szft0) + var(--intergalactic-spacing-1x, 4px));margin-right:calc(var(--right_szft0) + var(--intergalactic-spacing-1x, 4px));width:calc(100% - var(--offsetSum_szft0) - 8px)}.___SScrollAreaBar_szft0_gg_._orientation_vertical_szft0_gg_{width:12px}.___SHeightHold_szft0_gg_{position:absolute;top:0;width:100%;pointer-events:none;z-index:-1}"
44
44
  /*__inner_css_end__*/
45
- , "zlg4l_gg_")
45
+ , "szft0_gg_")
46
46
  /*__reshadow_css_end__*/
47
47
  , {
48
- "__SDataTable": "___SDataTable_zlg4l_gg_",
49
- "_compact": "__compact_zlg4l_gg_",
50
- "__SCell": "___SCell_zlg4l_gg_",
51
- "__SColumn": "___SColumn_zlg4l_gg_",
52
- "__SHeadWrapper": "___SHeadWrapper_zlg4l_gg_",
53
- "_sticky": "__sticky_zlg4l_gg_",
54
- "__SHead": "___SHead_zlg4l_gg_",
55
- "_hidden": "__hidden_zlg4l_gg_",
56
- "_use_primary": "_use_primary_zlg4l_gg_",
57
- "_use_secondary": "_use_secondary_zlg4l_gg_",
58
- "_group": "__group_zlg4l_gg_",
59
- "_use": "__use_zlg4l_gg_",
60
- "_groupHead": "__groupHead_zlg4l_gg_",
61
- "_sortable": "__sortable_zlg4l_gg_",
62
- "__SSortWrapper": "___SSortWrapper_zlg4l_gg_",
63
- "_active": "__active_zlg4l_gg_",
64
- "__SSortIcon": "___SSortIcon_zlg4l_gg_",
65
- "_sortIconFloat": "__sortIconFloat_zlg4l_gg_",
66
- "_resizable": "__resizable_zlg4l_gg_",
67
- "_fixed": "__fixed_zlg4l_gg_",
68
- "_borderLeft": "__borderLeft_zlg4l_gg_",
69
- "_borderRight": "__borderRight_zlg4l_gg_",
70
- "__SBodyWrapper": "___SBodyWrapper_zlg4l_gg_",
71
- "__SBody": "___SBody_zlg4l_gg_",
72
- "__SRow": "___SRow_zlg4l_gg_",
73
- "_theme": "__theme_zlg4l_gg_",
74
- "__SGroupCell": "___SGroupCell_zlg4l_gg_",
75
- "_theme_muted": "_theme_muted_zlg4l_gg_",
76
- "_theme_info": "_theme_info_zlg4l_gg_",
77
- "_theme_success": "_theme_success_zlg4l_gg_",
78
- "_theme_warning": "_theme_warning_zlg4l_gg_",
79
- "_theme_danger": "_theme_danger_zlg4l_gg_",
80
- "_positioned": "__positioned_zlg4l_gg_",
81
- "__SScrollAreaBar": "___SScrollAreaBar_zlg4l_gg_",
82
- "_orientation_horizontal": "_orientation_horizontal_zlg4l_gg_",
83
- "_orientation_vertical": "_orientation_vertical_zlg4l_gg_",
84
- "__SHeightHold": "___SHeightHold_zlg4l_gg_",
85
- "--left": "--left_zlg4l",
86
- "--right": "--right_zlg4l",
87
- "--offsetSum": "--offsetSum_zlg4l"
48
+ "__SDataTable": "___SDataTable_szft0_gg_",
49
+ "_compact": "__compact_szft0_gg_",
50
+ "__SCell": "___SCell_szft0_gg_",
51
+ "__SColumn": "___SColumn_szft0_gg_",
52
+ "__SHeadWrapper": "___SHeadWrapper_szft0_gg_",
53
+ "_sticky": "__sticky_szft0_gg_",
54
+ "__SHead": "___SHead_szft0_gg_",
55
+ "_hidden": "__hidden_szft0_gg_",
56
+ "_use_primary": "_use_primary_szft0_gg_",
57
+ "_use_secondary": "_use_secondary_szft0_gg_",
58
+ "_group": "__group_szft0_gg_",
59
+ "_use": "__use_szft0_gg_",
60
+ "_groupHead": "__groupHead_szft0_gg_",
61
+ "_sortable": "__sortable_szft0_gg_",
62
+ "__SSortWrapper": "___SSortWrapper_szft0_gg_",
63
+ "_active": "__active_szft0_gg_",
64
+ "__SSortIcon": "___SSortIcon_szft0_gg_",
65
+ "_sortIconFloat": "__sortIconFloat_szft0_gg_",
66
+ "_resizable": "__resizable_szft0_gg_",
67
+ "_fixed": "__fixed_szft0_gg_",
68
+ "_borderLeft": "__borderLeft_szft0_gg_",
69
+ "_borderRight": "__borderRight_szft0_gg_",
70
+ "__SBodyWrapper": "___SBodyWrapper_szft0_gg_",
71
+ "__SBody": "___SBody_szft0_gg_",
72
+ "__SRow": "___SRow_szft0_gg_",
73
+ "_theme": "__theme_szft0_gg_",
74
+ "__SGroupCell": "___SGroupCell_szft0_gg_",
75
+ "_theme_muted": "_theme_muted_szft0_gg_",
76
+ "_theme_info": "_theme_info_szft0_gg_",
77
+ "_theme_success": "_theme_success_szft0_gg_",
78
+ "_theme_warning": "_theme_warning_szft0_gg_",
79
+ "_theme_danger": "_theme_danger_szft0_gg_",
80
+ "_positioned": "__positioned_szft0_gg_",
81
+ "__SScrollAreaBar": "___SScrollAreaBar_szft0_gg_",
82
+ "_orientation_horizontal": "_orientation_horizontal_szft0_gg_",
83
+ "_orientation_vertical": "_orientation_vertical_szft0_gg_",
84
+ "__SHeightHold": "___SHeightHold_szft0_gg_",
85
+ "--left": "--left_szft0",
86
+ "--right": "--right_szft0",
87
+ "--offsetSum": "--offsetSum_szft0"
88
88
  });
89
89
  var REVERSED_SORT_DIRECTION = {
90
90
  desc: 'asc',
@@ -348,8 +348,7 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
348
348
  var parseData = function parseData(data, exclude) {
349
349
  return data.map(function (row) {
350
350
  var groupByName = {};
351
- var groupedColumns = {};
352
- var ungroupedColumns = {};
351
+ var columnsWithoutRowGroup = {};
353
352
 
354
353
  for (var rowKey in row) {
355
354
  var columnNames = rowKey.split('/');
@@ -365,7 +364,7 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
365
364
  groupedColumns: columnNames,
366
365
  groupData: row[rowKey]
367
366
  };
368
- groupedColumns[rowKey] = true;
367
+ columnsWithoutRowGroup[_column2] = true;
369
368
  }
370
369
  } catch (err) {
371
370
  _iterator2.e(err);
@@ -373,13 +372,15 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
373
372
  _iterator2.f();
374
373
  }
375
374
  } else {
376
- ungroupedColumns[rowKey] = true;
375
+ columnsWithoutRowGroup[rowKey] = true;
377
376
  }
378
377
  }
379
378
 
380
379
  var rowsGroup = row[ROW_GROUP] || [];
381
380
  var rowsGroupedNames = Object.fromEntries(rowsGroup.map(function (subRow) {
382
381
  return Object.keys(subRow);
382
+ }).flat().map(function (key) {
383
+ return key.split('/');
383
384
  }).flat().map(function (key) {
384
385
  return [key, true];
385
386
  }));
@@ -388,13 +389,13 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
388
389
  var cells = _this3.columns.map(function (column) {
389
390
  if (groupByName[column.name]) {
390
391
  var _groupByName$column$n = groupByName[column.name],
391
- _groupedColumns = _groupByName$column$n.groupedColumns,
392
+ groupedColumns = _groupByName$column$n.groupedColumns,
392
393
  groupData = _groupByName$column$n.groupData;
393
394
 
394
- if (_groupedColumns[0] === column.name) {
395
+ if (groupedColumns[0] === column.name) {
395
396
  return {
396
- name: _groupedColumns.join('/'),
397
- cssVar: _groupedColumns.map(createCssVarForWidth),
397
+ name: groupedColumns.join('/'),
398
+ cssVar: groupedColumns.map(createCssVarForWidth),
398
399
  fixed: column.fixed,
399
400
  data: groupData,
400
401
  cellPropsLayers: cellPropsLayers[column.name] || []
@@ -411,8 +412,9 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
411
412
  } else if (!isGroup && rowsGroupedNames[column.name]) {
412
413
  // TODO: make it work not only with first group
413
414
  isGroup = true;
414
- return parseData(rowsGroup, _objectSpread(_objectSpread({}, ungroupedColumns), groupedColumns));
415
+ return parseData(rowsGroup, _objectSpread(_objectSpread({}, exclude), columnsWithoutRowGroup));
415
416
  } else if (!exclude[column.name] && !rowsGroupedNames[column.name]) {
417
+ // add empty cell if it is not present in data
416
418
  return {
417
419
  name: column.name,
418
420
  cssVar: column.varWidth,
@@ -422,7 +424,7 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
422
424
  };
423
425
  }
424
426
  }).filter(function (column) {
425
- return column !== undefined;
427
+ return column;
426
428
  }).map(function (column) {
427
429
  return column;
428
430
  });
@@ -453,7 +455,7 @@ var RootDefinitionTable = /*#__PURE__*/function (_Component) {
453
455
  return _ref2 = sstyled(styles), /*#__PURE__*/React.createElement(SDataTable, _ref2.cn("SDataTable", _objectSpread({}, _assignProps({
454
456
  "__excludeProps": ['data'],
455
457
  "ref": this.tableRef,
456
- "role": "table",
458
+ "role": 'table',
457
459
  "aria-rowcount": (data !== null && data !== void 0 ? data : []).length
458
460
  }, _ref))), /*#__PURE__*/React.createElement(Children, _ref2.cn("Children", {})));
459
461
  }
@@ -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","groupedColumns","ungroupedColumns","rowKey","columnNames","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 groupedColumns: { [columnname: string]: true } = {};\n const ungroupedColumns: { [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 groupedColumns[rowKey] = true;\n }\n } else {\n ungroupedColumns[rowKey] = true;\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, 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 ...ungroupedColumns,\n ...groupedColumns,\n });\n } else if (!exclude[column.name] && !rowsGroupedNames[column.name]) {\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 !== undefined)\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","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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"}
package/lib/es6/Head.js CHANGED
@@ -34,16 +34,16 @@ var scrollStyles = (
34
34
  /*__reshadow_css_start__*/
35
35
  _sstyled.insert(
36
36
  /*__inner_css_start__*/
37
- ".___SShadowHorizontal_vp6dq_gg_:before{left:var(--left_vp6dq)!important}.___SShadowHorizontal_vp6dq_gg_:after{right:var(--right_vp6dq)!important}.___SContainer_vp6dq_gg_.__disabledScroll_vp6dq_gg_{overflow:visible}"
37
+ ".___SShadowHorizontal_1qzx1_gg_:before{left:var(--left_1qzx1)!important}.___SShadowHorizontal_1qzx1_gg_:after{right:var(--right_1qzx1)!important}.___SContainer_1qzx1_gg_.__disabledScroll_1qzx1_gg_{overflow:visible}"
38
38
  /*__inner_css_end__*/
39
- , "vp6dq_gg_")
39
+ , "1qzx1_gg_")
40
40
  /*__reshadow_css_end__*/
41
41
  , {
42
- "__SShadowHorizontal": "___SShadowHorizontal_vp6dq_gg_",
43
- "--left": "--left_vp6dq",
44
- "--right": "--right_vp6dq",
45
- "__SContainer": "___SContainer_vp6dq_gg_",
46
- "_disabledScroll": "__disabledScroll_vp6dq_gg_"
42
+ "__SShadowHorizontal": "___SShadowHorizontal_1qzx1_gg_",
43
+ "--left": "--left_1qzx1",
44
+ "--right": "--right_1qzx1",
45
+ "__SContainer": "___SContainer_1qzx1_gg_",
46
+ "_disabledScroll": "__disabledScroll_1qzx1_gg_"
47
47
  });
48
48
  var SORTING_ICON = {
49
49
  desc: SortDesc,
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.7.10",
4
+ "version": "3.7.11",
5
5
  "main": "lib/cjs/index.js",
6
6
  "module": "lib/es6/index.js",
7
7
  "typings": "lib/types/index.d.ts",