@semcore/data-table 16.3.3-prerelease.0 → 16.4.0-prerelease.3
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 +7 -0
- package/lib/cjs/components/Body/Body.js +58 -53
- package/lib/cjs/components/Body/Body.js.map +1 -1
- package/lib/cjs/components/Body/Body.types.js.map +1 -1
- package/lib/cjs/components/Body/Cell.js +62 -107
- package/lib/cjs/components/Body/Cell.js.map +1 -1
- package/lib/cjs/components/Body/LimitOverlay.js +190 -0
- package/lib/cjs/components/Body/LimitOverlay.js.map +1 -0
- package/lib/cjs/components/Body/Row.js +138 -89
- package/lib/cjs/components/Body/Row.js.map +1 -1
- package/lib/cjs/components/Body/Row.types.js.map +1 -1
- package/lib/cjs/components/Body/style.shadow.css +63 -36
- package/lib/cjs/components/DataTable/DataTable.js +61 -41
- package/lib/cjs/components/DataTable/DataTable.js.map +1 -1
- package/lib/cjs/components/DataTable/DataTable.types.js.map +1 -1
- package/lib/cjs/components/DataTable/dataTable.shadow.css +1 -0
- package/lib/cjs/components/Head/Column.js +45 -92
- package/lib/cjs/components/Head/Column.js.map +1 -1
- package/lib/cjs/components/Head/Group.js +38 -41
- package/lib/cjs/components/Head/Group.js.map +1 -1
- package/lib/cjs/components/Head/Head.js +38 -41
- package/lib/cjs/components/Head/Head.js.map +1 -1
- package/lib/cjs/enhancers/focusableCell.js +63 -0
- package/lib/cjs/enhancers/focusableCell.js.map +1 -0
- package/lib/es6/components/Body/Body.js +57 -52
- package/lib/es6/components/Body/Body.js.map +1 -1
- package/lib/es6/components/Body/Body.types.js.map +1 -1
- package/lib/es6/components/Body/Cell.js +61 -106
- package/lib/es6/components/Body/Cell.js.map +1 -1
- package/lib/es6/components/Body/LimitOverlay.js +183 -0
- package/lib/es6/components/Body/LimitOverlay.js.map +1 -0
- package/lib/es6/components/Body/Row.js +137 -88
- package/lib/es6/components/Body/Row.js.map +1 -1
- package/lib/es6/components/Body/Row.types.js.map +1 -1
- package/lib/es6/components/Body/style.shadow.css +63 -36
- package/lib/es6/components/DataTable/DataTable.js +60 -40
- package/lib/es6/components/DataTable/DataTable.js.map +1 -1
- package/lib/es6/components/DataTable/DataTable.types.js.map +1 -1
- package/lib/es6/components/DataTable/dataTable.shadow.css +1 -0
- package/lib/es6/components/Head/Column.js +44 -91
- package/lib/es6/components/Head/Column.js.map +1 -1
- package/lib/es6/components/Head/Group.js +37 -40
- package/lib/es6/components/Head/Group.js.map +1 -1
- package/lib/es6/components/Head/Head.js +37 -40
- package/lib/es6/components/Head/Head.js.map +1 -1
- package/lib/es6/enhancers/focusableCell.js +56 -0
- package/lib/es6/enhancers/focusableCell.js.map +1 -0
- package/lib/esm/components/Body/Body.mjs +58 -56
- package/lib/esm/components/Body/Cell.mjs +62 -109
- package/lib/esm/components/Body/LimitOverlay.mjs +178 -0
- package/lib/esm/components/Body/Row.mjs +106 -67
- package/lib/esm/components/Body/style.shadow.css +63 -36
- package/lib/esm/components/DataTable/DataTable.mjs +59 -42
- package/lib/esm/components/DataTable/dataTable.shadow.css +1 -0
- package/lib/esm/components/Head/Column.mjs +45 -94
- package/lib/esm/components/Head/Group.mjs +38 -43
- package/lib/esm/components/Head/Head.mjs +38 -43
- package/lib/esm/enhancers/focusableCell.mjs +59 -0
- package/lib/types/components/Body/Body.types.d.ts +2 -1
- package/lib/types/components/Body/LimitOverlay.d.ts +17 -0
- package/lib/types/components/Body/Row.d.ts +1 -0
- package/lib/types/components/Body/Row.types.d.ts +3 -0
- package/lib/types/components/DataTable/DataTable.types.d.ts +15 -0
- package/lib/types/components/Head/Column.d.ts +5 -4
- package/lib/types/enhancers/focusableCell.d.ts +9 -0
- package/package.json +22 -22
|
@@ -3,9 +3,7 @@ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
|
3
3
|
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
4
4
|
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
|
|
5
5
|
import _createClass from "@babel/runtime/helpers/esm/createClass";
|
|
6
|
-
import
|
|
7
|
-
import _isNativeReflectConstruct from "@babel/runtime/helpers/esm/isNativeReflectConstruct";
|
|
8
|
-
import _getPrototypeOf from "@babel/runtime/helpers/esm/getPrototypeOf";
|
|
6
|
+
import _callSuper from "@babel/runtime/helpers/esm/callSuper";
|
|
9
7
|
import _inherits from "@babel/runtime/helpers/esm/inherits";
|
|
10
8
|
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
11
9
|
import { createComponent, sstyled, assignProps, Component } from "@semcore/core";
|
|
@@ -15,54 +13,51 @@ import React__default from "react";
|
|
|
15
13
|
import { Column } from "./Column.mjs";
|
|
16
14
|
import { Group } from "./Group.mjs";
|
|
17
15
|
import { UNIQ_ROW_KEY, SELECT_ALL, DataTable } from "../DataTable/DataTable.mjs";
|
|
18
|
-
function _callSuper(t, o, e) {
|
|
19
|
-
return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));
|
|
20
|
-
}
|
|
21
16
|
/*!__reshadow-styles__:"./style.shadow.css"*/
|
|
22
17
|
var style = (
|
|
23
18
|
/*__reshadow_css_start__*/
|
|
24
19
|
(sstyled.insert(
|
|
25
20
|
/*__inner_css_start__*/
|
|
26
|
-
'.
|
|
21
|
+
'.___SGroupContainer_85a0v_gg_,.___SHead_85a0v_gg_{display:contents}.___SHead_85a0v_gg_.__isDataEmpty_85a0v_gg_.__gridTemplateColumns_85a0v_gg_{display:grid;grid-template-columns:var(--gridTemplateColumns_85a0v);overflow:auto;scrollbar-width:thin}.___SHead_85a0v_gg_.__animationDuration_85a0v_gg_>.___SColumn_85a0v_gg_{transition:top var(--animationDuration_85a0v) ease-out}.___SHead_85a0v_gg_.__sticky_85a0v_gg_ .___SColumn_85a0v_gg_,.___SHead_85a0v_gg_.__sticky_85a0v_gg_ .___SGroup_85a0v_gg_{position:sticky;top:0;z-index:18}.___SHead_85a0v_gg_.__sticky_85a0v_gg_ .___SGroupContainer_85a0v_gg_>.___SColumn_85a0v_gg_{position:sticky;z-index:18}.___SHead_85a0v_gg_.__compact_85a0v_gg_ .___SColumn_85a0v_gg_{padding:var(--intergalactic-spacing-3x, 12px) var(--intergalactic-spacing-2x, 8px)}.___SColumn_85a0v_gg_,.___SGroup_85a0v_gg_{display:flex;align-items:flex-start;font-size:var(--intergalactic-fs-100, 12px);color:var(--intergalactic-text-primary, #191b23);box-sizing:border-box;height:100%;position:relative;transition:width calc(var(--intergalactic-duration-extra-fast, 100)*1ms) ease-in-out,min-width calc(var(--intergalactic-duration-extra-fast, 100)*1ms) ease-in-out,max-width calc(var(--intergalactic-duration-extra-fast, 100)*1ms) ease-in-out;overflow:hidden;line-height:var(--intergalactic-lh-100, 133%)}.___SGroup_85a0v_gg_{justify-content:center;text-align:center;background-color:var(--intergalactic-table-th-primary-cell, #f4f5f9)}.___SGroup_85a0v_gg_._use_primary_85a0v_gg_{padding:var(--intergalactic-spacing-3x, 12px)}.___SGroup_85a0v_gg_._use_primary_85a0v_gg_:has(~.___SColumn_85a0v_gg_.__visibleSort_85a0v_gg_){background-color:var(--intergalactic-table-th-primary-cell-hover, #e0e1e9)}.___SGroup_85a0v_gg_._use_secondary_85a0v_gg_{padding:var(--intergalactic-spacing-2x, 8px)}.___SColumn_85a0v_gg_._borders_both_85a0v_gg_,.___SColumn_85a0v_gg_._borders_left_85a0v_gg_,.___SGroup_85a0v_gg_._borders_both_85a0v_gg_,.___SGroup_85a0v_gg_._borders_left_85a0v_gg_{border-left:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SColumn_85a0v_gg_._borders_both_85a0v_gg_,.___SColumn_85a0v_gg_._borders_right_85a0v_gg_,.___SGroup_85a0v_gg_._borders_both_85a0v_gg_,.___SGroup_85a0v_gg_._borders_right_85a0v_gg_{border-right:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SColumn_85a0v_gg_._use_primary_85a0v_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_85a0v_gg_._use_primary_85a0v_gg_ .___SSortWrapper_85a0v_gg_::before{background:linear-gradient(270deg,var(--intergalactic-table-th-primary-cell-hover, #e0e1e9) 67.5%,rgba(224,225,233,0) 105%)}.___SColumn_85a0v_gg_._use_primary_85a0v_gg_.__visibleSort_85a0v_gg_{background-color:var(--intergalactic-table-th-primary-cell-hover, #e0e1e9)}.___SColumn_85a0v_gg_._use_primary_85a0v_gg_.__visibleSort_85a0v_gg_ .___SSortWrapper_85a0v_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}.___SColumn_85a0v_gg_._use_primary_85a0v_gg_.__visibleSort_85a0v_gg_ .___SSortButton_85a0v_gg_,.___SColumn_85a0v_gg_._use_primary_85a0v_gg_.__visibleSort_85a0v_gg_ .___SSortWrapper_85a0v_gg_::before,.___SColumn_85a0v_gg_._use_secondary_85a0v_gg_.__visibleSort_85a0v_gg_ .___SSortWrapper_85a0v_gg_::before{display:flex;opacity:1}.___SColumn_85a0v_gg_._use_primary_85a0v_gg_._justifyContent_right_85a0v_gg_ .___SSortWrapper_85a0v_gg_{position:absolute}.___SColumn_85a0v_gg_._use_primary_85a0v_gg_._justifyContent_right_85a0v_gg_.__changeSortSize_85a0v_gg_.__isSorted_85a0v_gg_ .___SSortWrapper_85a0v_gg_,.___SColumn_85a0v_gg_._use_secondary_85a0v_gg_._justifyContent_right_85a0v_gg_.__changeSortSize_85a0v_gg_.__isSorted_85a0v_gg_ .___SSortWrapper_85a0v_gg_{position:relative}.___SColumn_85a0v_gg_._use_secondary_85a0v_gg_{padding:var(--intergalactic-spacing-2x, 8px);border-bottom:1px solid var(--intergalactic-border-table-accent, #a9abb6);background-color:var(--intergalactic-table-th-secondary-cell, #ffffff)}.___SColumn_85a0v_gg_._use_secondary_85a0v_gg_ .___SSortWrapper_85a0v_gg_::before{background:linear-gradient(270deg,var(--intergalactic-table-th-secondary-cell, #ffffff) 67.5%,rgba(255,255,255,0) 105%)}.___SColumn_85a0v_gg_._use_secondary_85a0v_gg_.__visibleSort_85a0v_gg_ .___SSortWrapper_85a0v_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}.___SColumn_85a0v_gg_._use_secondary_85a0v_gg_.__visibleSort_85a0v_gg_ .___SSortButton_85a0v_gg_{display:flex;opacity:1}.___SColumn_85a0v_gg_._use_secondary_85a0v_gg_._justifyContent_right_85a0v_gg_ .___SSortWrapper_85a0v_gg_{position:absolute}.___SColumn_85a0v_gg_.__gridArea_85a0v_gg_,.___SGroupTitle_85a0v_gg_.__gridArea_85a0v_gg_,.___SGroup_85a0v_gg_.__gridArea_85a0v_gg_{grid-area:var(--gridArea_85a0v)}.___SHead_85a0v_gg_ .___SColumn_85a0v_gg_.__fixed_85a0v_gg_,.___SHead_85a0v_gg_ .___SGroup_85a0v_gg_.__fixed_85a0v_gg_,.___SHead_85a0v_gg_.__sticky_85a0v_gg_ .___SColumn_85a0v_gg_.__fixed_85a0v_gg_{position:sticky;z-index:19}@media (hover:hover){.___SColumn_85a0v_gg_.__sortable_85a0v_gg_:hover{cursor:pointer}}.___SSortWrapper_85a0v_gg_{align-items:center;display:flex;flex-shrink:1;position:relative;flex-basis:0;min-height:16px;opacity:0;transition:all calc(var(--intergalactic-duration-extra-fast, 100)*1ms) ease-in-out}.___SSortButton_85a0v_gg_,.___SSortWrapper_85a0v_gg_:before{display:none;position:absolute;right:0;opacity:0;transition:opacity .3s ease}.___SSortWrapper_85a0v_gg_:before{content:"";top:0;width:20px;height:100%}.___SSortButton_85a0v_gg_{fill:var(--intergalactic-icon-secondary-neutral-hover-active, #878992);top:calc(-1*(1em*1.25 - 16px));margin-left:var(--intergalactic-spacing-1x, 4px)}.___SHead_85a0v_gg_._sideIndents_wide_85a0v_gg_ .___SColumn_85a0v_gg_:first-child{padding-left:var(--intergalactic-spacing-5x, 20px)}.___SHead_85a0v_gg_._sideIndents_wide_85a0v_gg_ .___SColumn_85a0v_gg_:last-child{padding-right:var(--intergalactic-spacing-5x, 20px)}.___SHeadCheckboxCol_85a0v_gg_{cursor:pointer}.___SColumn_85a0v_gg_.__fixed_85a0v_gg_.__shadowVertical_85a0v_gg_:after,.___SGroup_85a0v_gg_.__fixed_85a0v_gg_.__shadowVertical_85a0v_gg_:after{content:"";position:absolute;pointer-events:none;display:none;top:0;width:5px;height:100%;z-index:5}.___SColumn_85a0v_gg_._fixed_left_85a0v_gg_._shadowVertical_median_85a0v_gg_,.___SColumn_85a0v_gg_._fixed_left_85a0v_gg_._shadowVertical_start_85a0v_gg_,.___SGroup_85a0v_gg_._fixed_left_85a0v_gg_._shadowVertical_median_85a0v_gg_,.___SGroup_85a0v_gg_._fixed_left_85a0v_gg_._shadowVertical_start_85a0v_gg_{margin-right:-5px;border-right-color:transparent}.___SColumn_85a0v_gg_._fixed_left_85a0v_gg_._shadowVertical_median_85a0v_gg_._use_primary_85a0v_gg_,.___SColumn_85a0v_gg_._fixed_left_85a0v_gg_._shadowVertical_start_85a0v_gg_._use_primary_85a0v_gg_,.___SGroup_85a0v_gg_._fixed_left_85a0v_gg_._shadowVertical_median_85a0v_gg_._use_primary_85a0v_gg_,.___SGroup_85a0v_gg_._fixed_left_85a0v_gg_._shadowVertical_start_85a0v_gg_._use_primary_85a0v_gg_{padding-right:calc(var(--intergalactic-spacing-3x, 12px) + 5px)}.___SColumn_85a0v_gg_._fixed_left_85a0v_gg_._shadowVertical_median_85a0v_gg_._use_secondary_85a0v_gg_,.___SColumn_85a0v_gg_._fixed_left_85a0v_gg_._shadowVertical_start_85a0v_gg_._use_secondary_85a0v_gg_,.___SGroup_85a0v_gg_._fixed_left_85a0v_gg_._shadowVertical_median_85a0v_gg_._use_secondary_85a0v_gg_,.___SGroup_85a0v_gg_._fixed_left_85a0v_gg_._shadowVertical_start_85a0v_gg_._use_secondary_85a0v_gg_{padding-right:calc(var(--intergalactic-spacing-2x, 8px) + 5px)}.___SColumn_85a0v_gg_._fixed_left_85a0v_gg_._shadowVertical_median_85a0v_gg_:after,.___SColumn_85a0v_gg_._fixed_left_85a0v_gg_._shadowVertical_start_85a0v_gg_:after,.___SGroup_85a0v_gg_._fixed_left_85a0v_gg_._shadowVertical_median_85a0v_gg_:after,.___SGroup_85a0v_gg_._fixed_left_85a0v_gg_._shadowVertical_start_85a0v_gg_:after{display:block;right:0;background:var(--intergalactic-scroll-area-shadow-left,\n linear-gradient(to right, rgba(25, 27, 35, 0.1) 20.55%, rgba(255, 255, 255, 0.0001) 100%))}.___SColumn_85a0v_gg_._fixed_right_85a0v_gg_._shadowVertical_end_85a0v_gg_,.___SColumn_85a0v_gg_._fixed_right_85a0v_gg_._shadowVertical_median_85a0v_gg_,.___SGroup_85a0v_gg_._fixed_right_85a0v_gg_._shadowVertical_end_85a0v_gg_,.___SGroup_85a0v_gg_._fixed_right_85a0v_gg_._shadowVertical_median_85a0v_gg_{margin-left:-5px;border-left-color:transparent}.___SColumn_85a0v_gg_._fixed_right_85a0v_gg_._shadowVertical_end_85a0v_gg_._use_primary_85a0v_gg_,.___SColumn_85a0v_gg_._fixed_right_85a0v_gg_._shadowVertical_median_85a0v_gg_._use_primary_85a0v_gg_,.___SGroup_85a0v_gg_._fixed_right_85a0v_gg_._shadowVertical_end_85a0v_gg_._use_primary_85a0v_gg_,.___SGroup_85a0v_gg_._fixed_right_85a0v_gg_._shadowVertical_median_85a0v_gg_._use_primary_85a0v_gg_{padding-left:calc(var(--intergalactic-spacing-3x, 12px) + 5px)}.___SColumn_85a0v_gg_._fixed_right_85a0v_gg_._shadowVertical_end_85a0v_gg_._use_secondary_85a0v_gg_,.___SColumn_85a0v_gg_._fixed_right_85a0v_gg_._shadowVertical_median_85a0v_gg_._use_secondary_85a0v_gg_,.___SGroup_85a0v_gg_._fixed_right_85a0v_gg_._shadowVertical_end_85a0v_gg_._use_secondary_85a0v_gg_,.___SGroup_85a0v_gg_._fixed_right_85a0v_gg_._shadowVertical_median_85a0v_gg_._use_secondary_85a0v_gg_{padding-left:calc(var(--intergalactic-spacing-2x, 8px) + 5px)}.___SColumn_85a0v_gg_._fixed_right_85a0v_gg_._shadowVertical_end_85a0v_gg_:after,.___SColumn_85a0v_gg_._fixed_right_85a0v_gg_._shadowVertical_median_85a0v_gg_:after,.___SGroup_85a0v_gg_._fixed_right_85a0v_gg_._shadowVertical_end_85a0v_gg_:after,.___SGroup_85a0v_gg_._fixed_right_85a0v_gg_._shadowVertical_median_85a0v_gg_:after{display:block;left:0;background:var(--intergalactic-scroll-area-shadow-right,\n linear-gradient(to left, rgba(25, 27, 35, 0.1) 20.55%, rgba(255, 255, 255, 0.0001) 100%))}',
|
|
27
22
|
/*__inner_css_end__*/
|
|
28
|
-
"
|
|
23
|
+
"85a0v_gg_"
|
|
29
24
|
), /*__reshadow_css_end__*/
|
|
30
25
|
{
|
|
31
|
-
"__SHead": "
|
|
32
|
-
"__SGroupContainer": "
|
|
33
|
-
"_isDataEmpty": "
|
|
34
|
-
"_gridTemplateColumns": "
|
|
35
|
-
"--gridTemplateColumns": "--
|
|
36
|
-
"_animationDuration": "
|
|
37
|
-
"__SColumn": "
|
|
38
|
-
"--animationDuration": "--
|
|
39
|
-
"_sticky": "
|
|
40
|
-
"__SGroup": "
|
|
41
|
-
"_compact": "
|
|
42
|
-
"_use_secondary": "
|
|
43
|
-
"_borders_both": "
|
|
44
|
-
"_borders_left": "
|
|
45
|
-
"_borders_right": "
|
|
46
|
-
"_gridArea": "
|
|
47
|
-
"__SGroupTitle": "
|
|
48
|
-
"--gridArea": "--
|
|
49
|
-
"_fixed": "
|
|
50
|
-
"_sortable": "
|
|
51
|
-
"__SSortWrapper": "
|
|
52
|
-
"__SSortButton": "
|
|
53
|
-
"__SHeadCheckboxCol": "
|
|
54
|
-
"_use_primary": "
|
|
55
|
-
"_visibleSort": "
|
|
56
|
-
"_justifyContent_right": "
|
|
57
|
-
"_changeSortSize": "
|
|
58
|
-
"_isSorted": "
|
|
59
|
-
"_sideIndents_wide": "
|
|
60
|
-
"_shadowVertical": "
|
|
61
|
-
"_fixed_left": "
|
|
62
|
-
"_shadowVertical_median": "
|
|
63
|
-
"_shadowVertical_start": "
|
|
64
|
-
"_fixed_right": "
|
|
65
|
-
"_shadowVertical_end": "
|
|
26
|
+
"__SHead": "___SHead_85a0v_gg_",
|
|
27
|
+
"__SGroupContainer": "___SGroupContainer_85a0v_gg_",
|
|
28
|
+
"_isDataEmpty": "__isDataEmpty_85a0v_gg_",
|
|
29
|
+
"_gridTemplateColumns": "__gridTemplateColumns_85a0v_gg_",
|
|
30
|
+
"--gridTemplateColumns": "--gridTemplateColumns_85a0v",
|
|
31
|
+
"_animationDuration": "__animationDuration_85a0v_gg_",
|
|
32
|
+
"__SColumn": "___SColumn_85a0v_gg_",
|
|
33
|
+
"--animationDuration": "--animationDuration_85a0v",
|
|
34
|
+
"_sticky": "__sticky_85a0v_gg_",
|
|
35
|
+
"__SGroup": "___SGroup_85a0v_gg_",
|
|
36
|
+
"_compact": "__compact_85a0v_gg_",
|
|
37
|
+
"_use_secondary": "_use_secondary_85a0v_gg_",
|
|
38
|
+
"_borders_both": "_borders_both_85a0v_gg_",
|
|
39
|
+
"_borders_left": "_borders_left_85a0v_gg_",
|
|
40
|
+
"_borders_right": "_borders_right_85a0v_gg_",
|
|
41
|
+
"_gridArea": "__gridArea_85a0v_gg_",
|
|
42
|
+
"__SGroupTitle": "___SGroupTitle_85a0v_gg_",
|
|
43
|
+
"--gridArea": "--gridArea_85a0v",
|
|
44
|
+
"_fixed": "__fixed_85a0v_gg_",
|
|
45
|
+
"_sortable": "__sortable_85a0v_gg_",
|
|
46
|
+
"__SSortWrapper": "___SSortWrapper_85a0v_gg_",
|
|
47
|
+
"__SSortButton": "___SSortButton_85a0v_gg_",
|
|
48
|
+
"__SHeadCheckboxCol": "___SHeadCheckboxCol_85a0v_gg_",
|
|
49
|
+
"_use_primary": "_use_primary_85a0v_gg_",
|
|
50
|
+
"_visibleSort": "__visibleSort_85a0v_gg_",
|
|
51
|
+
"_justifyContent_right": "_justifyContent_right_85a0v_gg_",
|
|
52
|
+
"_changeSortSize": "__changeSortSize_85a0v_gg_",
|
|
53
|
+
"_isSorted": "__isSorted_85a0v_gg_",
|
|
54
|
+
"_sideIndents_wide": "_sideIndents_wide_85a0v_gg_",
|
|
55
|
+
"_shadowVertical": "__shadowVertical_85a0v_gg_",
|
|
56
|
+
"_fixed_left": "_fixed_left_85a0v_gg_",
|
|
57
|
+
"_shadowVertical_median": "_shadowVertical_median_85a0v_gg_",
|
|
58
|
+
"_shadowVertical_start": "_shadowVertical_start_85a0v_gg_",
|
|
59
|
+
"_fixed_right": "_fixed_right_85a0v_gg_",
|
|
60
|
+
"_shadowVertical_end": "_shadowVertical_end_85a0v_gg_"
|
|
66
61
|
})
|
|
67
62
|
);
|
|
68
63
|
var HeadRoot = /* @__PURE__ */ function(_Component) {
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { getFocusableIn } from "@semcore/core/lib/utils/focus-lock/getFocusableIn";
|
|
2
|
+
function handleFocusCell(lockedCell, target, currentTarget) {
|
|
3
|
+
if (target instanceof HTMLElement && currentTarget instanceof HTMLElement && target === currentTarget && target.matches(":focus-visible")) {
|
|
4
|
+
target.scrollIntoView({
|
|
5
|
+
behavior: "smooth",
|
|
6
|
+
block: "center",
|
|
7
|
+
inline: "center"
|
|
8
|
+
});
|
|
9
|
+
var focusableChildren = Array.from(currentTarget.children).flatMap(function(node) {
|
|
10
|
+
return getFocusableIn(node);
|
|
11
|
+
});
|
|
12
|
+
if (focusableChildren.length === 1) {
|
|
13
|
+
focusableChildren[0].focus();
|
|
14
|
+
} else if (focusableChildren.length > 1) {
|
|
15
|
+
lockedCell[0] = currentTarget;
|
|
16
|
+
lockedCell[1] = false;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
function handleKeydownFocusCell(lockedCell, e) {
|
|
21
|
+
if (e.currentTarget === lockedCell[0]) {
|
|
22
|
+
var focusableChildren = Array.from(lockedCell[0].children).flatMap(function(node) {
|
|
23
|
+
return getFocusableIn(node);
|
|
24
|
+
});
|
|
25
|
+
if (lockedCell[1]) {
|
|
26
|
+
if (e.key === "Escape") {
|
|
27
|
+
var _lockedCell$;
|
|
28
|
+
(_lockedCell$ = lockedCell[0]) === null || _lockedCell$ === void 0 || _lockedCell$.focus();
|
|
29
|
+
lockedCell[1] = false;
|
|
30
|
+
}
|
|
31
|
+
if (e.key.startsWith("Arrow")) {
|
|
32
|
+
e.stopPropagation();
|
|
33
|
+
e.preventDefault();
|
|
34
|
+
}
|
|
35
|
+
if (e.key === "Tab") {
|
|
36
|
+
if (e.target === focusableChildren[0] && e.shiftKey) {
|
|
37
|
+
var _focusableChildren;
|
|
38
|
+
(_focusableChildren = focusableChildren[focusableChildren.length - 1]) === null || _focusableChildren === void 0 || _focusableChildren.focus();
|
|
39
|
+
e.preventDefault();
|
|
40
|
+
} else if (e.target === focusableChildren[focusableChildren.length - 1] && !e.shiftKey) {
|
|
41
|
+
var _focusableChildren$;
|
|
42
|
+
(_focusableChildren$ = focusableChildren[0]) === null || _focusableChildren$ === void 0 || _focusableChildren$.focus();
|
|
43
|
+
e.preventDefault();
|
|
44
|
+
}
|
|
45
|
+
e.stopPropagation();
|
|
46
|
+
}
|
|
47
|
+
} else if (e.key === "Enter") {
|
|
48
|
+
var _focusableChildren$2;
|
|
49
|
+
e.preventDefault();
|
|
50
|
+
e.stopPropagation();
|
|
51
|
+
lockedCell[1] = true;
|
|
52
|
+
(_focusableChildren$2 = focusableChildren[0]) === null || _focusableChildren$2 === void 0 || _focusableChildren$2.focus();
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
export {
|
|
57
|
+
handleFocusCell,
|
|
58
|
+
handleKeydownFocusCell
|
|
59
|
+
};
|
|
@@ -78,7 +78,8 @@ export type BodyPropsInner<Data extends DataTableData, UniqKeyType> = DataTableB
|
|
|
78
78
|
accordionMode?: DataTableProps<any, any, any>['accordionMode'];
|
|
79
79
|
shadowVertical?: '' | 'end' | 'start' | 'median';
|
|
80
80
|
renderCellOverlay?: () => React.ReactNode;
|
|
81
|
-
|
|
81
|
+
limit?: DataTableProps<any, any, any>['limit'];
|
|
82
82
|
variant?: DataTableProps<any, any, any>['variant'];
|
|
83
|
+
totalRows?: number;
|
|
83
84
|
};
|
|
84
85
|
export type DataTableBodyType = (<Data extends DataTableData, UniqKeyType, Tag extends Intergalactic.Tag = 'div'>(props: Intergalactic.InternalTypings.ComponentProps<Tag, 'div', DataTableBodyProps<Data, UniqKeyType>>) => Intergalactic.InternalTypings.ComponentRenderingResults) & Intergalactic.InternalTypings.ComponentAdditive<'div', 'div', DataTableBodyProps<any, any>>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type Intergalactic } from '@semcore/core';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import type { DTRow, DTRows } from './Row.types';
|
|
4
|
+
import type { DataTableProps } from '../DataTable/DataTable.types';
|
|
5
|
+
import type { DTColumn } from '../Head/Column.types';
|
|
6
|
+
type LimitOverlayProps<UniqKeyType> = {
|
|
7
|
+
columns: DTColumn[];
|
|
8
|
+
rows: DTRows<UniqKeyType>;
|
|
9
|
+
limit: Exclude<DataTableProps<any, any, any>['limit'], undefined>;
|
|
10
|
+
flatRows: DTRow<UniqKeyType>[];
|
|
11
|
+
hasGroups: boolean;
|
|
12
|
+
tableRef: React.RefObject<HTMLDivElement>;
|
|
13
|
+
scrollAreaRef: React.RefObject<HTMLDivElement>;
|
|
14
|
+
};
|
|
15
|
+
type LimitOverlayType = (<UniqKeyType, Tag extends Intergalactic.Tag = 'div'>(props: Intergalactic.InternalTypings.ComponentProps<Tag, 'div', LimitOverlayProps<UniqKeyType>>) => Intergalactic.InternalTypings.ComponentRenderingResults) & Intergalactic.InternalTypings.ComponentAdditive<'div', 'div', LimitOverlayProps<any>>;
|
|
16
|
+
export declare const LimitOverlay: LimitOverlayType;
|
|
17
|
+
export {};
|
|
@@ -37,6 +37,7 @@ export declare class RowRoot<Data extends DataTableData, UniqKeyType> extends Co
|
|
|
37
37
|
rowIndex: number;
|
|
38
38
|
}) => void;
|
|
39
39
|
getCellProps(props: DataTableCellProps<UniqKeyType>): Record<string, any>;
|
|
40
|
+
get isRowHidden(): true | undefined;
|
|
40
41
|
render(): React.ReactNode;
|
|
41
42
|
private isReactNode;
|
|
42
43
|
private calculateRowHeight;
|
|
@@ -65,5 +65,8 @@ export type RowPropsInner<Data extends DataTableData, UniqKeyType> = JSX.Intrins
|
|
|
65
65
|
componentsMap: Map<UniqKeyType, RowRoot<Data, UniqKeyType>>;
|
|
66
66
|
calculateAriaRowIndex: () => void;
|
|
67
67
|
variant?: DataTableProps<any, any, any>['variant'];
|
|
68
|
+
limit?: DataTableProps<any, any, any>['limit'];
|
|
69
|
+
totalRows?: number;
|
|
70
|
+
hasGroups: boolean;
|
|
68
71
|
};
|
|
69
72
|
export type DataTableRowType = (<Data extends DataTableData, UniqKeyType, Tag extends Intergalactic.Tag = 'div'>(props: Intergalactic.InternalTypings.ComponentProps<Tag, 'div', DataTableRowProps<Data, UniqKeyType>>) => Intergalactic.InternalTypings.ComponentRenderingResults) & Intergalactic.InternalTypings.ComponentAdditive<'div', 'div', DataTableRowProps<any, any>>;
|
|
@@ -117,6 +117,21 @@ export type DataTableProps<Data extends DataTableData, UniqKey extends keyof Dat
|
|
|
117
117
|
* Work only with table-in-table accordions. In accordions with custom components use mount/unmount hooks in components.
|
|
118
118
|
*/
|
|
119
119
|
onAccordionToggle?: (type: 'open' | 'close', uniqRowKey: UniqKeyType, rowIndex: number) => void;
|
|
120
|
+
/** Defines a limit configuration */
|
|
121
|
+
limit?: {
|
|
122
|
+
/**
|
|
123
|
+
* Start limit from this row
|
|
124
|
+
* @default 0
|
|
125
|
+
*/
|
|
126
|
+
fromRow?: number;
|
|
127
|
+
/**
|
|
128
|
+
* Start limit from this column
|
|
129
|
+
* @default 0
|
|
130
|
+
*/
|
|
131
|
+
fromColumn?: number;
|
|
132
|
+
/** Limit overlay */
|
|
133
|
+
renderOverlay: () => React.ReactNode;
|
|
134
|
+
};
|
|
120
135
|
/**
|
|
121
136
|
* Visual variant that adapts the table styling to different usage contexts
|
|
122
137
|
* @default 'default'
|
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
import { Component } from '@semcore/core';
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import type { ColumnPropsInner, DataTableColumnProps } from './Column.types';
|
|
4
|
+
import type { IFocusableCell, LockedCell } from '../../enhancers/focusableCell';
|
|
4
5
|
import type { DataTableData, SortDirection } from '../DataTable/DataTable.types';
|
|
5
6
|
type State = {
|
|
6
7
|
sortVisible: boolean;
|
|
7
8
|
};
|
|
8
9
|
export declare class Column<Data extends DataTableData, UniqKey extends keyof Data[number], UniqKeyType extends Data[number][UniqKey]> extends Component<DataTableColumnProps, {}, {}, [
|
|
9
|
-
], ColumnPropsInner<Data, UniqKey, UniqKeyType>> {
|
|
10
|
+
], ColumnPropsInner<Data, UniqKey, UniqKeyType>> implements IFocusableCell {
|
|
11
|
+
lockedCell: LockedCell;
|
|
10
12
|
static displayName: string;
|
|
11
13
|
static style: {
|
|
12
14
|
[key: string]: string;
|
|
13
15
|
};
|
|
14
|
-
lockedCell: [HTMLElement | null, boolean];
|
|
15
16
|
columnRef: React.RefObject<HTMLDivElement>;
|
|
16
17
|
sortWrapperRef: React.RefObject<HTMLDivElement>;
|
|
17
18
|
state: State;
|
|
@@ -24,8 +25,8 @@ export declare class Column<Data extends DataTableData, UniqKey extends keyof Da
|
|
|
24
25
|
handleMouseLeave: () => void;
|
|
25
26
|
handleBlur: (e: React.FocusEvent<HTMLElement>) => void;
|
|
26
27
|
handleSortClick: (e: React.SyntheticEvent<HTMLElement>) => void;
|
|
27
|
-
|
|
28
|
-
|
|
28
|
+
handleFocusableCellKeyDown: (e: React.KeyboardEvent) => void;
|
|
29
|
+
handleFocusableCellFocus: (e: React.FocusEvent<HTMLElement, HTMLElement>) => void;
|
|
29
30
|
handleClick: (e: React.SyntheticEvent<HTMLElement>) => void;
|
|
30
31
|
render(): React.ReactNode;
|
|
31
32
|
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type * as React from 'react';
|
|
2
|
+
export type LockedCell = [HTMLElement | null, boolean];
|
|
3
|
+
export declare function handleFocusCell(lockedCell: LockedCell, target: Element, currentTarget: Element): void;
|
|
4
|
+
export declare function handleKeydownFocusCell(lockedCell: LockedCell, e: React.KeyboardEvent): void;
|
|
5
|
+
export interface IFocusableCell {
|
|
6
|
+
lockedCell: LockedCell;
|
|
7
|
+
handleFocusableCellKeyDown: (e: React.KeyboardEvent) => void;
|
|
8
|
+
handleFocusableCellFocus: (e: React.FocusEvent<HTMLElement, HTMLElement>) => void;
|
|
9
|
+
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@semcore/data-table",
|
|
3
3
|
"description": "Semrush DataTable Component",
|
|
4
|
-
"version": "16.
|
|
4
|
+
"version": "16.4.0-prerelease.3",
|
|
5
5
|
"main": "lib/cjs/index.js",
|
|
6
6
|
"module": "lib/es6/index.js",
|
|
7
7
|
"typings": "lib/types/index.d.ts",
|
|
@@ -14,34 +14,34 @@
|
|
|
14
14
|
"types": "./lib/types/index.d.ts"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@semcore/icon": "16.
|
|
18
|
-
"@semcore/button": "16.0.10-prerelease.
|
|
19
|
-
"@semcore/checkbox": "16.
|
|
20
|
-
"@semcore/flex-box": "16.0.10-prerelease.
|
|
21
|
-
"@semcore/scroll-area": "16.0.10-prerelease.
|
|
22
|
-
"@semcore/spin": "16.0.10-prerelease.
|
|
23
|
-
"@semcore/tooltip": "16.0.10-prerelease.
|
|
24
|
-
"@semcore/widget-empty": "16.0.10-prerelease.
|
|
17
|
+
"@semcore/icon": "16.5.1-prerelease.3",
|
|
18
|
+
"@semcore/button": "16.0.10-prerelease.3",
|
|
19
|
+
"@semcore/checkbox": "16.2.0-prerelease.3",
|
|
20
|
+
"@semcore/flex-box": "16.0.10-prerelease.3",
|
|
21
|
+
"@semcore/scroll-area": "16.0.10-prerelease.3",
|
|
22
|
+
"@semcore/spin": "16.0.10-prerelease.3",
|
|
23
|
+
"@semcore/tooltip": "16.0.10-prerelease.3",
|
|
24
|
+
"@semcore/widget-empty": "16.0.10-prerelease.3"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
27
|
"@types/node": "18.16.15",
|
|
28
28
|
"csstype": "3.1.3",
|
|
29
29
|
"@semcore/testing-utils": "1.0.0",
|
|
30
|
-
"@semcore/base-trigger": "16.4.2-prerelease.
|
|
31
|
-
"@semcore/
|
|
32
|
-
"@semcore/
|
|
33
|
-
"@semcore/accordion": "16.
|
|
34
|
-
"@semcore/
|
|
35
|
-
"@semcore/
|
|
36
|
-
"@semcore/progress-bar": "16.0.10-prerelease.
|
|
37
|
-
"@semcore/
|
|
38
|
-
"@semcore/
|
|
39
|
-
"@semcore/
|
|
40
|
-
"@semcore/
|
|
41
|
-
"@semcore/
|
|
30
|
+
"@semcore/base-trigger": "16.4.2-prerelease.3",
|
|
31
|
+
"@semcore/dropdown-menu": "16.1.11-prerelease.3",
|
|
32
|
+
"@semcore/typography": "16.3.0-prerelease.3",
|
|
33
|
+
"@semcore/accordion": "16.7.0-prerelease.3",
|
|
34
|
+
"@semcore/divider": "16.0.10-prerelease.3",
|
|
35
|
+
"@semcore/portal": "16.0.10-prerelease.3",
|
|
36
|
+
"@semcore/progress-bar": "16.0.10-prerelease.3",
|
|
37
|
+
"@semcore/spin": "16.0.10-prerelease.3",
|
|
38
|
+
"@semcore/skeleton": "16.0.10-prerelease.3",
|
|
39
|
+
"@semcore/spin-container": "16.0.10-prerelease.3",
|
|
40
|
+
"@semcore/tooltip": "16.0.10-prerelease.3",
|
|
41
|
+
"@semcore/base-components": "16.4.0-prerelease.3"
|
|
42
42
|
},
|
|
43
43
|
"peerDependencies": {
|
|
44
|
-
"@semcore/base-components": "^16.
|
|
44
|
+
"@semcore/base-components": "^16.4.0-prerelease.3"
|
|
45
45
|
},
|
|
46
46
|
"repository": {
|
|
47
47
|
"type": "git",
|