@semcore/data-table 16.0.0-prerelease.2 → 16.0.0-prerelease.21

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.
Files changed (152) hide show
  1. package/CHANGELOG.md +25 -1
  2. package/lib/cjs/components/Body/Body.js +439 -0
  3. package/lib/cjs/components/Body/Body.js.map +1 -0
  4. package/lib/cjs/components/Body/Body.types.js +2 -0
  5. package/lib/cjs/components/Body/Body.types.js.map +1 -0
  6. package/lib/cjs/components/Body/Cell.js +195 -0
  7. package/lib/cjs/components/Body/Cell.js.map +1 -0
  8. package/lib/cjs/components/Body/Cell.types.js +2 -0
  9. package/lib/cjs/components/Body/Cell.types.js.map +1 -0
  10. package/lib/cjs/components/Body/MergedCells.js +29 -0
  11. package/lib/cjs/components/Body/MergedCells.js.map +1 -0
  12. package/lib/cjs/components/Body/Row.js +252 -0
  13. package/lib/cjs/components/Body/Row.js.map +1 -0
  14. package/lib/cjs/components/Body/Row.types.js +4 -0
  15. package/lib/cjs/components/Body/Row.types.js.map +1 -0
  16. package/lib/cjs/components/Body/style.shadow.css +263 -0
  17. package/lib/cjs/components/DataTable/DataTable.js +1025 -0
  18. package/lib/cjs/components/DataTable/DataTable.js.map +1 -0
  19. package/lib/cjs/{types.js → components/DataTable/DataTable.types.js} +1 -1
  20. package/lib/cjs/components/DataTable/DataTable.types.js.map +1 -0
  21. package/lib/cjs/components/DataTable/dataTable.shadow.css +17 -0
  22. package/lib/cjs/components/Head/Column.js +311 -0
  23. package/lib/cjs/components/Head/Column.js.map +1 -0
  24. package/lib/cjs/components/Head/Column.types.js +2 -0
  25. package/lib/cjs/components/Head/Column.types.js.map +1 -0
  26. package/lib/cjs/components/Head/Group.js +116 -0
  27. package/lib/cjs/components/Head/Group.js.map +1 -0
  28. package/lib/cjs/components/Head/Group.type.js +2 -0
  29. package/lib/cjs/components/Head/Group.type.js.map +1 -0
  30. package/lib/cjs/components/Head/Head.js +207 -0
  31. package/lib/cjs/components/Head/Head.js.map +1 -0
  32. package/lib/cjs/components/Head/Head.types.js +2 -0
  33. package/lib/cjs/components/Head/Head.types.js.map +1 -0
  34. package/lib/cjs/components/Head/style.shadow.css +180 -0
  35. package/lib/cjs/index.js +25 -15
  36. package/lib/cjs/index.js.map +1 -1
  37. package/lib/cjs/style/scroll-shadows.shadow.css +45 -5
  38. package/lib/cjs/translations/en.json +6 -1
  39. package/lib/es6/components/Body/Body.js +432 -0
  40. package/lib/es6/components/Body/Body.js.map +1 -0
  41. package/lib/es6/components/Body/Body.types.js +2 -0
  42. package/lib/es6/components/Body/Body.types.js.map +1 -0
  43. package/lib/es6/components/Body/Cell.js +188 -0
  44. package/lib/es6/components/Body/Cell.js.map +1 -0
  45. package/lib/es6/components/Body/Cell.types.js +2 -0
  46. package/lib/es6/components/Body/Cell.types.js.map +1 -0
  47. package/lib/es6/components/Body/MergedCells.js +20 -0
  48. package/lib/es6/components/Body/MergedCells.js.map +1 -0
  49. package/lib/es6/components/Body/Row.js +245 -0
  50. package/lib/es6/components/Body/Row.js.map +1 -0
  51. package/lib/es6/components/Body/Row.types.js +2 -0
  52. package/lib/es6/components/Body/Row.types.js.map +1 -0
  53. package/lib/es6/components/Body/style.shadow.css +263 -0
  54. package/lib/es6/components/DataTable/DataTable.js +1013 -0
  55. package/lib/es6/components/DataTable/DataTable.js.map +1 -0
  56. package/lib/es6/components/DataTable/DataTable.types.js +2 -0
  57. package/lib/es6/components/DataTable/DataTable.types.js.map +1 -0
  58. package/lib/es6/components/DataTable/dataTable.shadow.css +17 -0
  59. package/lib/es6/components/Head/Column.js +304 -0
  60. package/lib/es6/components/Head/Column.js.map +1 -0
  61. package/lib/es6/components/Head/Column.types.js +2 -0
  62. package/lib/es6/components/Head/Column.types.js.map +1 -0
  63. package/lib/es6/components/Head/Group.js +109 -0
  64. package/lib/es6/components/Head/Group.js.map +1 -0
  65. package/lib/es6/components/Head/Group.type.js +2 -0
  66. package/lib/es6/components/Head/Group.type.js.map +1 -0
  67. package/lib/es6/components/Head/Head.js +201 -0
  68. package/lib/es6/components/Head/Head.js.map +1 -0
  69. package/lib/es6/components/Head/Head.types.js +2 -0
  70. package/lib/es6/components/Head/Head.types.js.map +1 -0
  71. package/lib/es6/components/Head/style.shadow.css +180 -0
  72. package/lib/es6/index.js +5 -2
  73. package/lib/es6/index.js.map +1 -1
  74. package/lib/es6/style/scroll-shadows.shadow.css +45 -5
  75. package/lib/es6/translations/en.json +6 -1
  76. package/lib/esm/components/Body/Body.mjs +394 -0
  77. package/lib/esm/components/Body/Cell.mjs +186 -0
  78. package/lib/esm/components/Body/MergedCells.mjs +23 -0
  79. package/lib/esm/components/Body/Row.mjs +224 -0
  80. package/lib/esm/components/Body/style.shadow.css +263 -0
  81. package/lib/esm/components/DataTable/DataTable.mjs +944 -0
  82. package/lib/esm/components/DataTable/dataTable.shadow.css +17 -0
  83. package/lib/esm/components/Head/Column.mjs +296 -0
  84. package/lib/esm/components/Head/Group.mjs +103 -0
  85. package/lib/esm/components/Head/Head.mjs +181 -0
  86. package/lib/esm/components/Head/style.shadow.css +180 -0
  87. package/lib/esm/index.mjs +9 -6
  88. package/lib/esm/style/scroll-shadows.shadow.css +47 -0
  89. package/lib/esm/translations/__intergalactic-dynamic-locales.mjs +30 -30
  90. package/lib/esm/translations/de.json.mjs +5 -4
  91. package/lib/esm/translations/en.json.mjs +10 -4
  92. package/lib/esm/translations/es.json.mjs +5 -4
  93. package/lib/esm/translations/fr.json.mjs +5 -4
  94. package/lib/esm/translations/it.json.mjs +5 -4
  95. package/lib/esm/translations/ja.json.mjs +5 -4
  96. package/lib/esm/translations/ko.json.mjs +5 -4
  97. package/lib/esm/translations/nl.json.mjs +5 -4
  98. package/lib/esm/translations/pl.json.mjs +5 -4
  99. package/lib/esm/translations/pt.json.mjs +5 -4
  100. package/lib/esm/translations/sv.json.mjs +5 -4
  101. package/lib/esm/translations/tr.json.mjs +5 -4
  102. package/lib/esm/translations/vi.json.mjs +5 -4
  103. package/lib/esm/translations/zh.json.mjs +5 -4
  104. package/lib/types/components/Body/Body.d.ts +8 -0
  105. package/lib/types/components/Body/Body.types.d.ts +57 -0
  106. package/lib/types/components/Body/Cell.d.ts +3 -0
  107. package/lib/types/components/Body/Cell.types.d.ts +20 -0
  108. package/lib/types/components/Body/MergedCells.d.ts +14 -0
  109. package/lib/types/components/Body/Row.d.ts +3 -0
  110. package/lib/types/components/Body/Row.types.d.ts +43 -0
  111. package/lib/types/components/DataTable/DataTable.d.ts +13 -0
  112. package/lib/types/components/DataTable/DataTable.types.d.ts +125 -0
  113. package/lib/types/components/Head/Column.d.ts +30 -0
  114. package/lib/types/components/Head/Column.types.d.ts +71 -0
  115. package/lib/types/components/Head/Group.d.ts +15 -0
  116. package/lib/types/components/Head/Group.type.d.ts +16 -0
  117. package/lib/types/components/Head/Head.d.ts +98 -0
  118. package/lib/types/components/Head/Head.types.d.ts +40 -0
  119. package/lib/types/index.d.ts +10 -2
  120. package/lib/types/translations/__intergalactic-dynamic-locales.d.ts +5 -0
  121. package/package.json +11 -6
  122. package/vite.config.ts +0 -3
  123. package/lib/cjs/Body.js +0 -475
  124. package/lib/cjs/Body.js.map +0 -1
  125. package/lib/cjs/DataTable.js +0 -622
  126. package/lib/cjs/DataTable.js.map +0 -1
  127. package/lib/cjs/Head.js +0 -399
  128. package/lib/cjs/Head.js.map +0 -1
  129. package/lib/cjs/style/data-table.shadow.css +0 -394
  130. package/lib/cjs/types.js.map +0 -1
  131. package/lib/cjs/utils.js +0 -57
  132. package/lib/cjs/utils.js.map +0 -1
  133. package/lib/es6/Body.js +0 -468
  134. package/lib/es6/Body.js.map +0 -1
  135. package/lib/es6/DataTable.js +0 -614
  136. package/lib/es6/DataTable.js.map +0 -1
  137. package/lib/es6/Head.js +0 -391
  138. package/lib/es6/Head.js.map +0 -1
  139. package/lib/es6/style/data-table.shadow.css +0 -394
  140. package/lib/es6/types.js +0 -2
  141. package/lib/es6/types.js.map +0 -1
  142. package/lib/es6/utils.js +0 -48
  143. package/lib/es6/utils.js.map +0 -1
  144. package/lib/esm/Body.mjs +0 -320
  145. package/lib/esm/DataTable.mjs +0 -439
  146. package/lib/esm/Head.mjs +0 -258
  147. package/lib/esm/utils.mjs +0 -37
  148. package/lib/types/Body.d.ts +0 -61
  149. package/lib/types/DataTable.d.ts +0 -205
  150. package/lib/types/Head.d.ts +0 -45
  151. package/lib/types/types.d.ts +0 -73
  152. package/lib/types/utils.d.ts +0 -4
@@ -0,0 +1,109 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import _objectSpread from "@babel/runtime/helpers/objectSpread2";
3
+ import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
4
+ import _createClass from "@babel/runtime/helpers/createClass";
5
+ import _inherits from "@babel/runtime/helpers/inherits";
6
+ import _createSuper from "@babel/runtime/helpers/createSuper";
7
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
8
+ import { sstyled as _sstyled } from "@semcore/core";
9
+ import { assignProps as _assignProps } from "@semcore/core";
10
+ import * as React from 'react';
11
+ import { Component, Root, sstyled } from '@semcore/core';
12
+ import { Box } from '@semcore/base-components';
13
+ /*!__reshadow-styles__:"./style.shadow.css"*/
14
+ var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SGroupContainer_ah4hc_gg_,.___SHead_ah4hc_gg_{display:contents}.___SHead_ah4hc_gg_.__sticky_ah4hc_gg_ .___SColumn_ah4hc_gg_{position:sticky;top:0;z-index:2}.___SHead_ah4hc_gg_.__sticky_ah4hc_gg_ .___SGroup_ah4hc_gg_{top:0}.___SHead_ah4hc_gg_.__sticky_ah4hc_gg_ .___SGroupContainer_ah4hc_gg_>.___SColumn_ah4hc_gg_{position:sticky;z-index:2}.___SHead_ah4hc_gg_.__compact_ah4hc_gg_ .___SColumn_ah4hc_gg_{padding:var(--intergalactic-spacing-3x, 12px) var(--intergalactic-spacing-2x, 8px)}.___SColumn_ah4hc_gg_,.___SGroup_ah4hc_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}.___SGroup_ah4hc_gg_{justify-content:center;text-align:center;background-color:var(--intergalactic-table-th-primary-cell, #f4f5f9)}.___SGroup_ah4hc_gg_._use_primary_ah4hc_gg_{padding:var(--intergalactic-spacing-3x, 12px)}.___SGroup_ah4hc_gg_._use_primary_ah4hc_gg_:has(~.___SColumn_ah4hc_gg_.__visibleSort_ah4hc_gg_){background-color:var(--intergalactic-table-th-primary-cell-hover, #e0e1e9)}.___SGroup_ah4hc_gg_._use_secondary_ah4hc_gg_{padding:var(--intergalactic-spacing-2x, 8px)}.___SColumn_ah4hc_gg_._borders_both_ah4hc_gg_,.___SColumn_ah4hc_gg_._borders_left_ah4hc_gg_,.___SGroup_ah4hc_gg_._borders_both_ah4hc_gg_,.___SGroup_ah4hc_gg_._borders_left_ah4hc_gg_{border-left:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SColumn_ah4hc_gg_._borders_both_ah4hc_gg_,.___SColumn_ah4hc_gg_._borders_right_ah4hc_gg_,.___SGroup_ah4hc_gg_._borders_both_ah4hc_gg_,.___SGroup_ah4hc_gg_._borders_right_ah4hc_gg_{border-right:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SColumn_ah4hc_gg_._use_primary_ah4hc_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_ah4hc_gg_._use_primary_ah4hc_gg_ .___SSortWrapper_ah4hc_gg_::before{background:linear-gradient(270deg,var(--intergalactic-table-th-primary-cell-hover, #e0e1e9) 67.5%,rgba(224,225,233,0) 105%)}.___SColumn_ah4hc_gg_._use_primary_ah4hc_gg_.__visibleSort_ah4hc_gg_{background-color:var(--intergalactic-table-th-primary-cell-hover, #e0e1e9)}.___SColumn_ah4hc_gg_._use_primary_ah4hc_gg_.__visibleSort_ah4hc_gg_ .___SSortWrapper_ah4hc_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}.___SColumn_ah4hc_gg_._use_primary_ah4hc_gg_.__visibleSort_ah4hc_gg_ .___SSortButton_ah4hc_gg_,.___SColumn_ah4hc_gg_._use_primary_ah4hc_gg_.__visibleSort_ah4hc_gg_ .___SSortWrapper_ah4hc_gg_::before,.___SColumn_ah4hc_gg_._use_secondary_ah4hc_gg_.__visibleSort_ah4hc_gg_ .___SSortWrapper_ah4hc_gg_::before{display:flex;opacity:1}.___SColumn_ah4hc_gg_._use_secondary_ah4hc_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_ah4hc_gg_._use_secondary_ah4hc_gg_ .___SSortWrapper_ah4hc_gg_::before{background:linear-gradient(270deg,var(--intergalactic-table-th-secondary-cell, #ffffff) 67.5%,rgba(255,255,255,0) 105%)}.___SColumn_ah4hc_gg_._use_secondary_ah4hc_gg_.__visibleSort_ah4hc_gg_ .___SSortWrapper_ah4hc_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}.___SColumn_ah4hc_gg_._use_secondary_ah4hc_gg_.__visibleSort_ah4hc_gg_ .___SSortButton_ah4hc_gg_{display:flex;opacity:1}.___SColumn_ah4hc_gg_.__gridArea_ah4hc_gg_,.___SGroupTitle_ah4hc_gg_.__gridArea_ah4hc_gg_,.___SGroup_ah4hc_gg_.__gridArea_ah4hc_gg_{grid-area:var(--gridArea_ah4hc)}.___SHead_ah4hc_gg_ .___SColumn_ah4hc_gg_.__fixed_ah4hc_gg_,.___SHead_ah4hc_gg_ .___SGroup_ah4hc_gg_.__fixed_ah4hc_gg_,.___SHead_ah4hc_gg_.__sticky_ah4hc_gg_ .___SColumn_ah4hc_gg_.__fixed_ah4hc_gg_,.___SHead_ah4hc_gg_.__sticky_ah4hc_gg_ .___SGroup_ah4hc_gg_{position:sticky;z-index:3}@media (hover:hover){.___SColumn_ah4hc_gg_.__sortable_ah4hc_gg_:hover{cursor:pointer}}.___SSortWrapper_ah4hc_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_ah4hc_gg_,.___SSortWrapper_ah4hc_gg_:before{display:none;position:absolute;right:0;opacity:0;transition:opacity .3s ease}.___SSortWrapper_ah4hc_gg_:before{content:\"\";top:0;width:20px;height:100%}.___SSortButton_ah4hc_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_ah4hc_gg_._sideIndents_wide_ah4hc_gg_ .___SColumn_ah4hc_gg_:first-child{padding-left:var(--intergalactic-spacing-5x, 20px)}.___SHead_ah4hc_gg_._sideIndents_wide_ah4hc_gg_ .___SColumn_ah4hc_gg_:last-child{padding-right:var(--intergalactic-spacing-5x, 20px)}.___SHeadCheckboxCol_ah4hc_gg_{cursor:pointer}", /*__inner_css_end__*/"ah4hc_gg_"),
15
+ /*__reshadow_css_end__*/
16
+ {
17
+ "__SHead": "___SHead_ah4hc_gg_",
18
+ "__SGroupContainer": "___SGroupContainer_ah4hc_gg_",
19
+ "_sticky": "__sticky_ah4hc_gg_",
20
+ "__SColumn": "___SColumn_ah4hc_gg_",
21
+ "__SGroup": "___SGroup_ah4hc_gg_",
22
+ "_compact": "__compact_ah4hc_gg_",
23
+ "_use_secondary": "_use_secondary_ah4hc_gg_",
24
+ "_borders_both": "_borders_both_ah4hc_gg_",
25
+ "_borders_left": "_borders_left_ah4hc_gg_",
26
+ "_borders_right": "_borders_right_ah4hc_gg_",
27
+ "_gridArea": "__gridArea_ah4hc_gg_",
28
+ "__SGroupTitle": "___SGroupTitle_ah4hc_gg_",
29
+ "--gridArea": "--gridArea_ah4hc",
30
+ "_fixed": "__fixed_ah4hc_gg_",
31
+ "_sortable": "__sortable_ah4hc_gg_",
32
+ "__SSortWrapper": "___SSortWrapper_ah4hc_gg_",
33
+ "__SSortButton": "___SSortButton_ah4hc_gg_",
34
+ "__SHeadCheckboxCol": "___SHeadCheckboxCol_ah4hc_gg_",
35
+ "_use_primary": "_use_primary_ah4hc_gg_",
36
+ "_visibleSort": "__visibleSort_ah4hc_gg_",
37
+ "_sideIndents_wide": "_sideIndents_wide_ah4hc_gg_"
38
+ });
39
+ import getOriginChildren from '@semcore/core/lib/utils/getOriginChildren';
40
+ import { DataTableInternal } from '../DataTable/DataTable';
41
+ import uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';
42
+ export var Group = /*#__PURE__*/function (_Component) {
43
+ _inherits(Group, _Component);
44
+ var _super = _createSuper(Group);
45
+ function Group() {
46
+ _classCallCheck(this, Group);
47
+ return _super.apply(this, arguments);
48
+ }
49
+ _createClass(Group, [{
50
+ key: "componentDidMount",
51
+ value: function componentDidMount() {
52
+ this.forceUpdate();
53
+ }
54
+ }, {
55
+ key: "groupId",
56
+ get: function get() {
57
+ var uid = this.asProps.uid;
58
+ return "".concat(uid, "_columns_group");
59
+ }
60
+ }, {
61
+ key: "render",
62
+ value: function render() {
63
+ var _ref = this.asProps,
64
+ _ref2,
65
+ _groupColumns$,
66
+ _children$,
67
+ _groupColumns,
68
+ _children,
69
+ _this = this;
70
+ var SGroupContainer = Box;
71
+ var SGroup = Box;
72
+ var _this$asProps = this.asProps,
73
+ styles = _this$asProps.styles,
74
+ Children = _this$asProps.Children,
75
+ title = _this$asProps.title,
76
+ fixed = _this$asProps.fixed,
77
+ fixedColumnsMap = _this$asProps.fixedColumnsMap,
78
+ columns = _this$asProps.columns,
79
+ withConfig = _this$asProps.withConfig;
80
+ var groupColumns = columns !== null && columns !== void 0 ? columns : [];
81
+ var children = getOriginChildren(Children);
82
+ var firstName = withConfig ? (_groupColumns$ = groupColumns[0]) === null || _groupColumns$ === void 0 ? void 0 : _groupColumns$.name : (_children$ = children[0]) === null || _children$ === void 0 ? void 0 : _children$.props.name;
83
+ var lastName = withConfig ? (_groupColumns = groupColumns[groupColumns.length - 1]) === null || _groupColumns === void 0 ? void 0 : _groupColumns.name : (_children = children[children.length - 1]) === null || _children === void 0 ? void 0 : _children.props.name;
84
+ var style = {};
85
+ if (fixed === 'left' && firstName) {
86
+ style.left = fixedColumnsMap.get(firstName);
87
+ }
88
+ if (fixed === 'right') {
89
+ style.right = fixedColumnsMap.get(lastName);
90
+ }
91
+ return _ref2 = sstyled(styles), /*#__PURE__*/React.createElement(SGroupContainer, _ref2.cn("SGroupContainer", {}), /*#__PURE__*/React.createElement(SGroup, _ref2.cn("SGroup", _objectSpread({}, _assignProps({
92
+ "style": style,
93
+ "__excludeProps": ['title'],
94
+ "id": this.groupId
95
+ }, _ref))), withConfig ? children : title), withConfig ? groupColumns.map(function (column, i) {
96
+ return /*#__PURE__*/React.createElement(DataTableInternal.Head.Column, _extends({
97
+ key: column.name
98
+ }, column, {
99
+ "aria-describedby": _this.groupId
100
+ }));
101
+ }) : /*#__PURE__*/React.createElement(Children, _ref2.cn("Children", {})));
102
+ }
103
+ }]);
104
+ return Group;
105
+ }(Component);
106
+ _defineProperty(Group, "displayName", 'Group');
107
+ _defineProperty(Group, "style", style);
108
+ _defineProperty(Group, "enhance", [uniqueIDEnhancement()]);
109
+ //# sourceMappingURL=Group.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Group.js","names":["React","Component","Root","sstyled","Box","style","_sstyled","insert","getOriginChildren","DataTableInternal","uniqueIDEnhancement","Group","_Component","_inherits","_super","_createSuper","_classCallCheck","apply","arguments","_createClass","key","value","componentDidMount","forceUpdate","get","uid","asProps","concat","render","_ref","_ref2","_groupColumns$","_children$","_groupColumns","_children","_this","SGroupContainer","SGroup","_this$asProps","styles","Children","title","fixed","fixedColumnsMap","columns","withConfig","groupColumns","children","firstName","name","props","lastName","length","left","right","createElement","cn","_objectSpread","_assignProps","groupId","map","column","i","Head","Column","_extends","_defineProperty"],"sources":["../../../../src/components/Head/Group.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Component, Root, sstyled } from '@semcore/core';\nimport { Box } from '@semcore/base-components';\n\nimport style from './style.shadow.css';\nimport { DataTableGroupProps, GroupPropsInner } from './Group.type';\nimport getOriginChildren from '@semcore/core/lib/utils/getOriginChildren';\nimport { DataTableInternal } from '../DataTable/DataTable';\nimport uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';\n\nexport class Group extends Component<\n DataTableGroupProps,\n {},\n {},\n typeof Group.enhance,\n GroupPropsInner\n> {\n static displayName = 'Group';\n static style = style;\n static enhance = [uniqueIDEnhancement()] as const;\n\n componentDidMount() {\n this.forceUpdate();\n }\n\n get groupId() {\n const { uid } = this.asProps;\n\n return `${uid}_columns_group`;\n }\n\n render() {\n const SGroupContainer = Box;\n const SGroup = Root;\n const { styles, Children, title, fixed, fixedColumnsMap, columns, withConfig } = this.asProps;\n const groupColumns = columns ?? [];\n const children = getOriginChildren(Children);\n\n const firstName = withConfig ? groupColumns[0]?.name : children[0]?.props.name;\n const lastName = withConfig\n ? groupColumns[groupColumns.length - 1]?.name\n : children[children.length - 1]?.props.name;\n\n const style: any = {};\n\n if (fixed === 'left' && firstName) {\n style.left = fixedColumnsMap.get(firstName);\n }\n if (fixed === 'right') {\n style.right = fixedColumnsMap.get(lastName);\n }\n\n return sstyled(styles)(\n <SGroupContainer>\n <SGroup render={Box} style={style} __excludeProps={['title']} id={this.groupId}>\n {withConfig ? children : title}\n </SGroup>\n {withConfig ? (\n groupColumns.map((column, i) => {\n return (\n <DataTableInternal.Head.Column\n key={column.name}\n {...column}\n aria-describedby={this.groupId}\n />\n );\n })\n ) : (\n <Children />\n )}\n </SGroupContainer>,\n );\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Group.type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Group.type.js","names":[],"sources":["../../../../src/components/Head/Group.type.ts"],"sourcesContent":["import { DTUse } from '../DataTable/DataTable.types';\nimport { ReactElement } from 'react';\nimport { DataTableColumnProps, DTColumn } from './Column.types';\n\nexport type DataTableGroupProps = {\n title: React.ReactNode;\n\n borders?: 'both' | 'left' | 'right';\n\n fixed?: 'left' | 'right';\n\n children: Array<ReactElement<DataTableColumnProps>>;\n\n name?: string;\n columns?: DTColumn[];\n};\n\nexport type GroupPropsInner = {\n use: DTUse;\n fixedColumnsMap: Map<string, any>;\n withConfig: boolean;\n};\n"],"mappings":""}
@@ -0,0 +1,201 @@
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import _objectSpread from "@babel/runtime/helpers/objectSpread2";
3
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
4
+ import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
5
+ import _createClass from "@babel/runtime/helpers/createClass";
6
+ import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
7
+ import _inherits from "@babel/runtime/helpers/inherits";
8
+ import _createSuper from "@babel/runtime/helpers/createSuper";
9
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
10
+ import { sstyled as _sstyled } from "@semcore/core";
11
+ import { assignProps as _assignProps } from "@semcore/core";
12
+ import * as React from 'react';
13
+ import { Component, createComponent, Root, sstyled } from '@semcore/core';
14
+ import { Box, ScreenReaderOnly } from '@semcore/base-components';
15
+ /*!__reshadow-styles__:"./style.shadow.css"*/
16
+ var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___SGroupContainer_ah4hc_gg_,.___SHead_ah4hc_gg_{display:contents}.___SHead_ah4hc_gg_.__sticky_ah4hc_gg_ .___SColumn_ah4hc_gg_{position:sticky;top:0;z-index:2}.___SHead_ah4hc_gg_.__sticky_ah4hc_gg_ .___SGroup_ah4hc_gg_{top:0}.___SHead_ah4hc_gg_.__sticky_ah4hc_gg_ .___SGroupContainer_ah4hc_gg_>.___SColumn_ah4hc_gg_{position:sticky;z-index:2}.___SHead_ah4hc_gg_.__compact_ah4hc_gg_ .___SColumn_ah4hc_gg_{padding:var(--intergalactic-spacing-3x, 12px) var(--intergalactic-spacing-2x, 8px)}.___SColumn_ah4hc_gg_,.___SGroup_ah4hc_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}.___SGroup_ah4hc_gg_{justify-content:center;text-align:center;background-color:var(--intergalactic-table-th-primary-cell, #f4f5f9)}.___SGroup_ah4hc_gg_._use_primary_ah4hc_gg_{padding:var(--intergalactic-spacing-3x, 12px)}.___SGroup_ah4hc_gg_._use_primary_ah4hc_gg_:has(~.___SColumn_ah4hc_gg_.__visibleSort_ah4hc_gg_){background-color:var(--intergalactic-table-th-primary-cell-hover, #e0e1e9)}.___SGroup_ah4hc_gg_._use_secondary_ah4hc_gg_{padding:var(--intergalactic-spacing-2x, 8px)}.___SColumn_ah4hc_gg_._borders_both_ah4hc_gg_,.___SColumn_ah4hc_gg_._borders_left_ah4hc_gg_,.___SGroup_ah4hc_gg_._borders_both_ah4hc_gg_,.___SGroup_ah4hc_gg_._borders_left_ah4hc_gg_{border-left:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SColumn_ah4hc_gg_._borders_both_ah4hc_gg_,.___SColumn_ah4hc_gg_._borders_right_ah4hc_gg_,.___SGroup_ah4hc_gg_._borders_both_ah4hc_gg_,.___SGroup_ah4hc_gg_._borders_right_ah4hc_gg_{border-right:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SColumn_ah4hc_gg_._use_primary_ah4hc_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_ah4hc_gg_._use_primary_ah4hc_gg_ .___SSortWrapper_ah4hc_gg_::before{background:linear-gradient(270deg,var(--intergalactic-table-th-primary-cell-hover, #e0e1e9) 67.5%,rgba(224,225,233,0) 105%)}.___SColumn_ah4hc_gg_._use_primary_ah4hc_gg_.__visibleSort_ah4hc_gg_{background-color:var(--intergalactic-table-th-primary-cell-hover, #e0e1e9)}.___SColumn_ah4hc_gg_._use_primary_ah4hc_gg_.__visibleSort_ah4hc_gg_ .___SSortWrapper_ah4hc_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}.___SColumn_ah4hc_gg_._use_primary_ah4hc_gg_.__visibleSort_ah4hc_gg_ .___SSortButton_ah4hc_gg_,.___SColumn_ah4hc_gg_._use_primary_ah4hc_gg_.__visibleSort_ah4hc_gg_ .___SSortWrapper_ah4hc_gg_::before,.___SColumn_ah4hc_gg_._use_secondary_ah4hc_gg_.__visibleSort_ah4hc_gg_ .___SSortWrapper_ah4hc_gg_::before{display:flex;opacity:1}.___SColumn_ah4hc_gg_._use_secondary_ah4hc_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_ah4hc_gg_._use_secondary_ah4hc_gg_ .___SSortWrapper_ah4hc_gg_::before{background:linear-gradient(270deg,var(--intergalactic-table-th-secondary-cell, #ffffff) 67.5%,rgba(255,255,255,0) 105%)}.___SColumn_ah4hc_gg_._use_secondary_ah4hc_gg_.__visibleSort_ah4hc_gg_ .___SSortWrapper_ah4hc_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}.___SColumn_ah4hc_gg_._use_secondary_ah4hc_gg_.__visibleSort_ah4hc_gg_ .___SSortButton_ah4hc_gg_{display:flex;opacity:1}.___SColumn_ah4hc_gg_.__gridArea_ah4hc_gg_,.___SGroupTitle_ah4hc_gg_.__gridArea_ah4hc_gg_,.___SGroup_ah4hc_gg_.__gridArea_ah4hc_gg_{grid-area:var(--gridArea_ah4hc)}.___SHead_ah4hc_gg_ .___SColumn_ah4hc_gg_.__fixed_ah4hc_gg_,.___SHead_ah4hc_gg_ .___SGroup_ah4hc_gg_.__fixed_ah4hc_gg_,.___SHead_ah4hc_gg_.__sticky_ah4hc_gg_ .___SColumn_ah4hc_gg_.__fixed_ah4hc_gg_,.___SHead_ah4hc_gg_.__sticky_ah4hc_gg_ .___SGroup_ah4hc_gg_{position:sticky;z-index:3}@media (hover:hover){.___SColumn_ah4hc_gg_.__sortable_ah4hc_gg_:hover{cursor:pointer}}.___SSortWrapper_ah4hc_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_ah4hc_gg_,.___SSortWrapper_ah4hc_gg_:before{display:none;position:absolute;right:0;opacity:0;transition:opacity .3s ease}.___SSortWrapper_ah4hc_gg_:before{content:\"\";top:0;width:20px;height:100%}.___SSortButton_ah4hc_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_ah4hc_gg_._sideIndents_wide_ah4hc_gg_ .___SColumn_ah4hc_gg_:first-child{padding-left:var(--intergalactic-spacing-5x, 20px)}.___SHead_ah4hc_gg_._sideIndents_wide_ah4hc_gg_ .___SColumn_ah4hc_gg_:last-child{padding-right:var(--intergalactic-spacing-5x, 20px)}.___SHeadCheckboxCol_ah4hc_gg_{cursor:pointer}", /*__inner_css_end__*/"ah4hc_gg_"),
17
+ /*__reshadow_css_end__*/
18
+ {
19
+ "__SHead": "___SHead_ah4hc_gg_",
20
+ "__SGroupContainer": "___SGroupContainer_ah4hc_gg_",
21
+ "_sticky": "__sticky_ah4hc_gg_",
22
+ "__SColumn": "___SColumn_ah4hc_gg_",
23
+ "__SGroup": "___SGroup_ah4hc_gg_",
24
+ "_compact": "__compact_ah4hc_gg_",
25
+ "_use_secondary": "_use_secondary_ah4hc_gg_",
26
+ "_borders_both": "_borders_both_ah4hc_gg_",
27
+ "_borders_left": "_borders_left_ah4hc_gg_",
28
+ "_borders_right": "_borders_right_ah4hc_gg_",
29
+ "_gridArea": "__gridArea_ah4hc_gg_",
30
+ "__SGroupTitle": "___SGroupTitle_ah4hc_gg_",
31
+ "--gridArea": "--gridArea_ah4hc",
32
+ "_fixed": "__fixed_ah4hc_gg_",
33
+ "_sortable": "__sortable_ah4hc_gg_",
34
+ "__SSortWrapper": "___SSortWrapper_ah4hc_gg_",
35
+ "__SSortButton": "___SSortButton_ah4hc_gg_",
36
+ "__SHeadCheckboxCol": "___SHeadCheckboxCol_ah4hc_gg_",
37
+ "_use_primary": "_use_primary_ah4hc_gg_",
38
+ "_visibleSort": "__visibleSort_ah4hc_gg_",
39
+ "_sideIndents_wide": "_sideIndents_wide_ah4hc_gg_"
40
+ });
41
+ import { Column } from './Column';
42
+ import { Group } from './Group';
43
+ import { DataTableInternal } from '../DataTable/DataTable';
44
+ import { SELECT_ALL } from '../DataTable/DataTable';
45
+ import Checkbox from '@semcore/checkbox';
46
+ var HeadRoot = /*#__PURE__*/function (_Component) {
47
+ _inherits(HeadRoot, _Component);
48
+ var _super = _createSuper(HeadRoot);
49
+ function HeadRoot() {
50
+ var _this;
51
+ _classCallCheck(this, HeadRoot);
52
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
53
+ args[_key] = arguments[_key];
54
+ }
55
+ _this = _super.call.apply(_super, [this].concat(args));
56
+ _defineProperty(_assertThisInitialized(_this), "fixedColumnsMap", new Map());
57
+ _defineProperty(_assertThisInitialized(_this), "handleSelectAll", function (value, event) {
58
+ var _this$asProps$onChang, _this$asProps;
59
+ (_this$asProps$onChang = (_this$asProps = _this.asProps).onChangeSelectAll) === null || _this$asProps$onChang === void 0 ? void 0 : _this$asProps$onChang.call(_this$asProps, value, event);
60
+ });
61
+ _defineProperty(_assertThisInitialized(_this), "handleClickSelectAll", function (value) {
62
+ return function (event) {
63
+ var _this$asProps$onChang2, _this$asProps2;
64
+ event === null || event === void 0 ? void 0 : event.preventDefault();
65
+ event === null || event === void 0 ? void 0 : event.stopPropagation();
66
+ (_this$asProps$onChang2 = (_this$asProps2 = _this.asProps).onChangeSelectAll) === null || _this$asProps$onChang2 === void 0 ? void 0 : _this$asProps$onChang2.call(_this$asProps2, value, event);
67
+ };
68
+ });
69
+ return _this;
70
+ }
71
+ _createClass(HeadRoot, [{
72
+ key: "sortableColumnDescribeId",
73
+ value: function sortableColumnDescribeId() {
74
+ var uid = this.asProps.uid;
75
+ return "".concat(uid, "-column-sortable-describer");
76
+ }
77
+ }, {
78
+ key: "getGroupProps",
79
+ value: function getGroupProps(_, index) {
80
+ var _this$asProps3 = this.asProps,
81
+ use = _this$asProps3.use,
82
+ gridAreaGroupMap = _this$asProps3.gridAreaGroupMap,
83
+ children = _this$asProps3.children;
84
+ return {
85
+ use: use,
86
+ gridArea: gridAreaGroupMap.get(index),
87
+ fixedColumnsMap: this.fixedColumnsMap,
88
+ withConfig: children === undefined
89
+ };
90
+ }
91
+ }, {
92
+ key: "getColumnProps",
93
+ value: function getColumnProps(_, index) {
94
+ var _this$asProps4 = this.asProps,
95
+ use = _this$asProps4.use,
96
+ columns = _this$asProps4.columns,
97
+ sort = _this$asProps4.sort,
98
+ onSortChange = _this$asProps4.onSortChange,
99
+ tableRef = _this$asProps4.tableRef,
100
+ gridTemplateColumns = _this$asProps4.gridTemplateColumns,
101
+ gridTemplateAreas = _this$asProps4.gridTemplateAreas,
102
+ sticky = _this$asProps4.sticky,
103
+ top = _this$asProps4.top,
104
+ selectedRows = _this$asProps4.selectedRows,
105
+ h = _this$asProps4.h,
106
+ getFixedStyle = _this$asProps4.getFixedStyle;
107
+ var column = columns[index];
108
+ if (index === 0 && selectedRows && columns[index + 1].fixed) {
109
+ column.fixed = 'left';
110
+ }
111
+ var _getFixedStyle = getFixedStyle(column),
112
+ _getFixedStyle2 = _slicedToArray(_getFixedStyle, 2),
113
+ name = _getFixedStyle2[0],
114
+ value = _getFixedStyle2[1];
115
+ var style = {};
116
+ if (top) {
117
+ style.top = "".concat(top, "px");
118
+ }
119
+ if (name !== undefined && value !== undefined) {
120
+ style[name] = value;
121
+ this.fixedColumnsMap.set(column.name, value);
122
+ }
123
+ return {
124
+ use: use,
125
+ 'aria-colindex': index + 1,
126
+ style: style,
127
+ gridArea: column.gridArea,
128
+ fixed: column.fixed,
129
+ sticky: sticky,
130
+ borders: column.borders,
131
+ sort: sort,
132
+ onSortChange: onSortChange,
133
+ parent: column.parent,
134
+ sortableColumnDescribeId: this.sortableColumnDescribeId(),
135
+ columnIndex: index,
136
+ tableRef: tableRef,
137
+ gridTemplateColumns: gridTemplateColumns,
138
+ gridTemplateAreas: gridTemplateAreas,
139
+ h: h
140
+ };
141
+ }
142
+ }, {
143
+ key: "render",
144
+ value: function render() {
145
+ var _ref = this.asProps,
146
+ _ref2;
147
+ var SHead = Box;
148
+ var SHeadCheckboxCol = Head.Column;
149
+ var _this$asProps5 = this.asProps,
150
+ Children = _this$asProps5.Children,
151
+ styles = _this$asProps5.styles,
152
+ getI18nText = _this$asProps5.getI18nText,
153
+ children = _this$asProps5.children,
154
+ treeColumns = _this$asProps5.treeColumns,
155
+ selectedRows = _this$asProps5.selectedRows,
156
+ totalRows = _this$asProps5.totalRows;
157
+ var checked = selectedRows && selectedRows.length === totalRows && totalRows > 0;
158
+ var indeterminate = selectedRows && selectedRows.length > 0 && !checked;
159
+ return _ref2 = sstyled(styles), /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(SHead, _ref2.cn("SHead", _objectSpread({}, _assignProps({
160
+ "role": 'row',
161
+ "aria-rowindex": 1
162
+ }, _ref))), selectedRows && /*#__PURE__*/React.createElement(SHeadCheckboxCol, _ref2.cn("SHeadCheckboxCol", {
163
+ "name": SELECT_ALL.toString(),
164
+ "onClick": this.handleClickSelectAll(!checked)
165
+ }), /*#__PURE__*/React.createElement(Checkbox, _ref2.cn("Checkbox", {
166
+ "checked": checked,
167
+ "indeterminate": indeterminate,
168
+ "aria-label": getI18nText('DataTable.Header.selectAllCheckbox:aria-label'),
169
+ "onChange": this.handleSelectAll
170
+ }), /*#__PURE__*/React.createElement(Checkbox.Value, null, /*#__PURE__*/React.createElement(Checkbox.Value.Control, null), /*#__PURE__*/React.createElement(Checkbox.Value.CheckMark, {
171
+ mt: 0
172
+ })))), children ? /*#__PURE__*/React.createElement(Children, _ref2.cn("Children", {})) : /*#__PURE__*/React.createElement(React.Fragment, null, treeColumns.map(function (column, i) {
173
+ if ('columns' in column) {
174
+ var _column$columns;
175
+ return /*#__PURE__*/React.createElement(DataTableInternal.Head.Group, _extends({
176
+ key: column.name
177
+ }, column, {
178
+ name: (_column$columns = column.columns) === null || _column$columns === void 0 ? void 0 : _column$columns.map(function (c) {
179
+ return c.name;
180
+ }).join('/'),
181
+ title: ''
182
+ }));
183
+ }
184
+ return /*#__PURE__*/React.createElement(DataTableInternal.Head.Column, _extends({
185
+ key: column.name
186
+ }, column));
187
+ }))), /*#__PURE__*/React.createElement(ScreenReaderOnly, _ref2.cn("ScreenReaderOnly", {
188
+ "aria-hidden": true,
189
+ "id": this.sortableColumnDescribeId()
190
+ }), getI18nText('sortableColumn')));
191
+ }
192
+ }]);
193
+ return HeadRoot;
194
+ }(Component);
195
+ _defineProperty(HeadRoot, "displayName", 'Head');
196
+ _defineProperty(HeadRoot, "style", style);
197
+ export var Head = createComponent(HeadRoot, {
198
+ Column: Column,
199
+ Group: Group
200
+ });
201
+ //# sourceMappingURL=Head.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Head.js","names":["React","Component","createComponent","Root","sstyled","Box","ScreenReaderOnly","style","_sstyled","insert","Column","Group","DataTableInternal","SELECT_ALL","Checkbox","HeadRoot","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty","_assertThisInitialized","Map","value","event","_this$asProps$onChang","_this$asProps","asProps","onChangeSelectAll","_this$asProps$onChang2","_this$asProps2","preventDefault","stopPropagation","_createClass","key","sortableColumnDescribeId","uid","getGroupProps","_","index","_this$asProps3","use","gridAreaGroupMap","children","gridArea","get","fixedColumnsMap","withConfig","undefined","getColumnProps","_this$asProps4","columns","sort","onSortChange","tableRef","gridTemplateColumns","gridTemplateAreas","sticky","top","selectedRows","h","getFixedStyle","column","fixed","_getFixedStyle","_getFixedStyle2","_slicedToArray","name","set","borders","parent","columnIndex","render","_ref","_ref2","SHead","SHeadCheckboxCol","Head","_this$asProps5","Children","styles","getI18nText","treeColumns","totalRows","checked","indeterminate","createElement","Fragment","cn","_objectSpread","_assignProps","toString","handleClickSelectAll","handleSelectAll","Value","Control","CheckMark","mt","map","i","_column$columns","_extends","c","join","title"],"sources":["../../../../src/components/Head/Head.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Component, createComponent, Intergalactic, Root, sstyled } from '@semcore/core';\nimport { DataTableHeadProps, HeadPropsInner } from './Head.types';\nimport { Box, ScreenReaderOnly } from '@semcore/base-components';\nimport type Tooltip from '@semcore/tooltip';\n\nimport style from './style.shadow.css';\nimport { Column } from './Column';\nimport { Group } from './Group';\nimport { DataTableColumnProps } from './Column.types';\nimport { DataTableGroupProps } from './Group.type';\nimport { DataTableData } from '../DataTable/DataTable.types';\nimport { DataTableInternal } from '../DataTable/DataTable';\nimport { SELECT_ALL } from '../DataTable/DataTable';\nimport Checkbox from '@semcore/checkbox';\n\nclass HeadRoot<D extends DataTableData> extends Component<\n DataTableHeadProps,\n {},\n {},\n [],\n HeadPropsInner<D>\n> {\n static displayName = 'Head';\n static style = style;\n\n fixedColumnsMap = new Map<string, any>();\n\n sortableColumnDescribeId() {\n const { uid } = this.asProps;\n return `${uid}-column-sortable-describer`;\n }\n\n getGroupProps(_: any, index: number) {\n const { use, gridAreaGroupMap, children } = this.asProps;\n\n return {\n use,\n gridArea: gridAreaGroupMap.get(index),\n fixedColumnsMap: this.fixedColumnsMap,\n withConfig: children === undefined,\n };\n }\n\n getColumnProps(_: any, index: number) {\n const {\n use,\n columns,\n sort,\n onSortChange,\n tableRef,\n gridTemplateColumns,\n gridTemplateAreas,\n sticky,\n top,\n selectedRows,\n h,\n getFixedStyle,\n } = this.asProps;\n const column = columns[index];\n\n if (index === 0 && selectedRows && columns[index + 1].fixed) {\n column.fixed = 'left';\n }\n\n const [name, value] = getFixedStyle(column);\n const style: any = {};\n\n if (top) {\n style.top = `${top}px`;\n }\n\n if (name !== undefined && value !== undefined) {\n style[name] = value;\n\n this.fixedColumnsMap.set(column.name, value);\n }\n\n return {\n use,\n 'aria-colindex': index + 1,\n style,\n gridArea: column.gridArea,\n fixed: column.fixed,\n sticky,\n borders: column.borders,\n sort,\n onSortChange,\n parent: column.parent,\n sortableColumnDescribeId: this.sortableColumnDescribeId(),\n columnIndex: index,\n tableRef,\n gridTemplateColumns,\n gridTemplateAreas,\n h,\n };\n }\n\n handleSelectAll = (value: boolean, event?: React.SyntheticEvent<HTMLElement>) => {\n this.asProps.onChangeSelectAll?.(value, event);\n };\n\n handleClickSelectAll = (value: boolean) => (event?: React.SyntheticEvent<HTMLElement>) => {\n event?.preventDefault();\n event?.stopPropagation();\n this.asProps.onChangeSelectAll?.(value, event);\n };\n\n render() {\n const SHead = Root;\n const SHeadCheckboxCol = Head.Column;\n const { Children, styles, getI18nText, children, treeColumns, selectedRows, totalRows } =\n this.asProps;\n\n const checked = selectedRows && selectedRows.length === totalRows && totalRows > 0;\n const indeterminate = selectedRows && selectedRows.length > 0 && !checked;\n\n return sstyled(styles)(\n <>\n <SHead render={Box} role='row' aria-rowindex={1}>\n {selectedRows && (\n <SHeadCheckboxCol\n name={SELECT_ALL.toString()}\n onClick={this.handleClickSelectAll(!checked)}\n >\n <Checkbox\n checked={checked}\n indeterminate={indeterminate}\n aria-label={getI18nText('DataTable.Header.selectAllCheckbox:aria-label')}\n onChange={this.handleSelectAll}\n >\n <Checkbox.Value>\n <Checkbox.Value.Control />\n <Checkbox.Value.CheckMark mt={0} />\n </Checkbox.Value>\n </Checkbox>\n </SHeadCheckboxCol>\n )}\n\n {children ? (\n <Children />\n ) : (\n <>\n {treeColumns.map((column, i) => {\n if ('columns' in column) {\n return (\n <DataTableInternal.Head.Group\n key={column.name}\n {...column}\n name={column.columns?.map((c) => c.name).join('/')}\n title={''}\n />\n );\n }\n\n return <DataTableInternal.Head.Column key={column.name} {...column} />;\n })}\n </>\n )}\n </SHead>\n\n <ScreenReaderOnly aria-hidden={true} id={this.sortableColumnDescribeId()}>\n {getI18nText('sortableColumn')}\n </ScreenReaderOnly>\n </>,\n );\n }\n}\n\nexport const Head = createComponent(HeadRoot, { Column, Group }) as Intergalactic.Component<\n 'div',\n DataTableHeadProps\n> & {\n Column: <Tag extends 'div' | typeof Tooltip = 'div'>(\n props: Intergalactic.InternalTypings.ComponentProps<Tag, 'div', DataTableColumnProps, {}, []>,\n ) => Intergalactic.InternalTypings.ComponentRenderingResults;\n Group: <Tag extends 'div' | typeof Tooltip = 'div'>(\n props: Intergalactic.InternalTypings.ComponentProps<Tag, 'div', DataTableGroupProps, {}, []>,\n ) => Intergalactic.InternalTypings.ComponentRenderingResults;\n};\n"],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,SAAS,EAAEC,eAAe,EAAiBC,IAAI,EAAEC,OAAO,QAAQ,eAAe;AAExF,SAASC,GAAG,EAAEC,gBAAgB,QAAQ,0BAA0B;AAAC;AAAA,IAAAC,KAAA,+BAAAC,QAAA,CAAAC,MAAA;AAAA;AAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;AAIjE,SAASC,MAAM,QAAQ,UAAU;AACjC,SAASC,KAAK,QAAQ,SAAS;AAI/B,SAASC,iBAAiB,QAAQ,wBAAwB;AAC1D,SAASC,UAAU,QAAQ,wBAAwB;AACnD,OAAOC,QAAQ,MAAM,mBAAmB;AAAC,IAEnCC,QAAQ,0BAAAC,UAAA;EAAAC,SAAA,CAAAF,QAAA,EAAAC,UAAA;EAAA,IAAAE,MAAA,GAAAC,YAAA,CAAAJ,QAAA;EAAA,SAAAA,SAAA;IAAA,IAAAK,KAAA;IAAAC,eAAA,OAAAN,QAAA;IAAA,SAAAO,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAC,IAAA,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;MAAAF,IAAA,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;IAAA;IAAAP,KAAA,GAAAF,MAAA,CAAAU,IAAA,CAAAC,KAAA,CAAAX,MAAA,SAAAY,MAAA,CAAAL,IAAA;IAAAM,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,sBAUM,IAAIa,GAAG,EAAe;IAAAF,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,sBAwEtB,UAACc,KAAc,EAAEC,KAAyC,EAAK;MAAA,IAAAC,qBAAA,EAAAC,aAAA;MAC/E,CAAAD,qBAAA,IAAAC,aAAA,GAAAjB,KAAA,CAAKkB,OAAO,EAACC,iBAAiB,cAAAH,qBAAA,uBAA9BA,qBAAA,CAAAR,IAAA,CAAAS,aAAA,EAAiCH,KAAK,EAAEC,KAAK,CAAC;IAChD,CAAC;IAAAJ,eAAA,CAAAC,sBAAA,CAAAZ,KAAA,2BAEsB,UAACc,KAAc;MAAA,OAAK,UAACC,KAAyC,EAAK;QAAA,IAAAK,sBAAA,EAAAC,cAAA;QACxFN,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEO,cAAc,EAAE;QACvBP,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEQ,eAAe,EAAE;QACxB,CAAAH,sBAAA,IAAAC,cAAA,GAAArB,KAAA,CAAKkB,OAAO,EAACC,iBAAiB,cAAAC,sBAAA,uBAA9BA,sBAAA,CAAAZ,IAAA,CAAAa,cAAA,EAAiCP,KAAK,EAAEC,KAAK,CAAC;MAChD,CAAC;IAAA;IAAA,OAAAf,KAAA;EAAA;EAAAwB,YAAA,CAAA7B,QAAA;IAAA8B,GAAA;IAAAX,KAAA,EA9ED,SAAAY,yBAAA,EAA2B;MACzB,IAAQC,GAAG,GAAK,IAAI,CAACT,OAAO,CAApBS,GAAG;MACX,UAAAjB,MAAA,CAAUiB,GAAG;IACf;EAAC;IAAAF,GAAA;IAAAX,KAAA,EAED,SAAAc,cAAcC,CAAM,EAAEC,KAAa,EAAE;MACnC,IAAAC,cAAA,GAA4C,IAAI,CAACb,OAAO;QAAhDc,GAAG,GAAAD,cAAA,CAAHC,GAAG;QAAEC,gBAAgB,GAAAF,cAAA,CAAhBE,gBAAgB;QAAEC,QAAQ,GAAAH,cAAA,CAARG,QAAQ;MAEvC,OAAO;QACLF,GAAG,EAAHA,GAAG;QACHG,QAAQ,EAAEF,gBAAgB,CAACG,GAAG,CAACN,KAAK,CAAC;QACrCO,eAAe,EAAE,IAAI,CAACA,eAAe;QACrCC,UAAU,EAAEJ,QAAQ,KAAKK;MAC3B,CAAC;IACH;EAAC;IAAAd,GAAA;IAAAX,KAAA,EAED,SAAA0B,eAAeX,CAAM,EAAEC,KAAa,EAAE;MACpC,IAAAW,cAAA,GAaI,IAAI,CAACvB,OAAO;QAZdc,GAAG,GAAAS,cAAA,CAAHT,GAAG;QACHU,OAAO,GAAAD,cAAA,CAAPC,OAAO;QACPC,IAAI,GAAAF,cAAA,CAAJE,IAAI;QACJC,YAAY,GAAAH,cAAA,CAAZG,YAAY;QACZC,QAAQ,GAAAJ,cAAA,CAARI,QAAQ;QACRC,mBAAmB,GAAAL,cAAA,CAAnBK,mBAAmB;QACnBC,iBAAiB,GAAAN,cAAA,CAAjBM,iBAAiB;QACjBC,MAAM,GAAAP,cAAA,CAANO,MAAM;QACNC,GAAG,GAAAR,cAAA,CAAHQ,GAAG;QACHC,YAAY,GAAAT,cAAA,CAAZS,YAAY;QACZC,CAAC,GAAAV,cAAA,CAADU,CAAC;QACDC,aAAa,GAAAX,cAAA,CAAbW,aAAa;MAEf,IAAMC,MAAM,GAAGX,OAAO,CAACZ,KAAK,CAAC;MAE7B,IAAIA,KAAK,KAAK,CAAC,IAAIoB,YAAY,IAAIR,OAAO,CAACZ,KAAK,GAAG,CAAC,CAAC,CAACwB,KAAK,EAAE;QAC3DD,MAAM,CAACC,KAAK,GAAG,MAAM;MACvB;MAEA,IAAAC,cAAA,GAAsBH,aAAa,CAACC,MAAM,CAAC;QAAAG,eAAA,GAAAC,cAAA,CAAAF,cAAA;QAApCG,IAAI,GAAAF,eAAA;QAAE1C,KAAK,GAAA0C,eAAA;MAClB,IAAMrE,KAAU,GAAG,CAAC,CAAC;MAErB,IAAI8D,GAAG,EAAE;QACP9D,KAAK,CAAC8D,GAAG,MAAAvC,MAAA,CAAMuC,GAAG,OAAI;MACxB;MAEA,IAAIS,IAAI,KAAKnB,SAAS,IAAIzB,KAAK,KAAKyB,SAAS,EAAE;QAC7CpD,KAAK,CAACuE,IAAI,CAAC,GAAG5C,KAAK;QAEnB,IAAI,CAACuB,eAAe,CAACsB,GAAG,CAACN,MAAM,CAACK,IAAI,EAAE5C,KAAK,CAAC;MAC9C;MAEA,OAAO;QACLkB,GAAG,EAAHA,GAAG;QACH,eAAe,EAAEF,KAAK,GAAG,CAAC;QAC1B3C,KAAK,EAALA,KAAK;QACLgD,QAAQ,EAAEkB,MAAM,CAAClB,QAAQ;QACzBmB,KAAK,EAAED,MAAM,CAACC,KAAK;QACnBN,MAAM,EAANA,MAAM;QACNY,OAAO,EAAEP,MAAM,CAACO,OAAO;QACvBjB,IAAI,EAAJA,IAAI;QACJC,YAAY,EAAZA,YAAY;QACZiB,MAAM,EAAER,MAAM,CAACQ,MAAM;QACrBnC,wBAAwB,EAAE,IAAI,CAACA,wBAAwB,EAAE;QACzDoC,WAAW,EAAEhC,KAAK;QAClBe,QAAQ,EAARA,QAAQ;QACRC,mBAAmB,EAAnBA,mBAAmB;QACnBC,iBAAiB,EAAjBA,iBAAiB;QACjBI,CAAC,EAADA;MACF,CAAC;IACH;EAAC;IAAA1B,GAAA;IAAAX,KAAA,EAYD,SAAAiD,OAAA,EAAS;MAAA,IAAAC,IAAA,QAAA9C,OAAA;QAAA+C,KAAA;MACP,IAAMC,KAAK,GAUQjF,GAAG;MATtB,IAAMkF,gBAAgB,GAAGC,IAAI,CAAC9E,MAAM;MACpC,IAAA+E,cAAA,GACE,IAAI,CAACnD,OAAO;QADNoD,QAAQ,GAAAD,cAAA,CAARC,QAAQ;QAAEC,MAAM,GAAAF,cAAA,CAANE,MAAM;QAAEC,WAAW,GAAAH,cAAA,CAAXG,WAAW;QAAEtC,QAAQ,GAAAmC,cAAA,CAARnC,QAAQ;QAAEuC,WAAW,GAAAJ,cAAA,CAAXI,WAAW;QAAEvB,YAAY,GAAAmB,cAAA,CAAZnB,YAAY;QAAEwB,SAAS,GAAAL,cAAA,CAATK,SAAS;MAGrF,IAAMC,OAAO,GAAGzB,YAAY,IAAIA,YAAY,CAAC9C,MAAM,KAAKsE,SAAS,IAAIA,SAAS,GAAG,CAAC;MAClF,IAAME,aAAa,GAAG1B,YAAY,IAAIA,YAAY,CAAC9C,MAAM,GAAG,CAAC,IAAI,CAACuE,OAAO;MAEzE,OAAAV,KAAA,GAAOjF,OAAO,CAACuF,MAAM,CAAC,eACpB3F,KAAA,CAAAiG,aAAA,CAAAjG,KAAA,CAAAkG,QAAA,qBACElG,KAAA,CAAAiG,aAAA,CAACX,KAAK,EAAAD,KAAA,CAAAc,EAAA,UAAAC,aAAA,KAAAC,YAAA;QAAA,QAAmB,KAAK;QAAA,iBAAgB;MAAC,GAAAjB,IAAA,KAC5Cd,YAAY,iBACXtE,KAAA,CAAAiG,aAAA,CAACV,gBAAgB,EAAAF,KAAA,CAAAc,EAAA;QAAA,QACTtF,UAAU,CAACyF,QAAQ,EAAE;QAAA,WAClB,IAAI,CAACC,oBAAoB,CAAC,CAACR,OAAO;MAAC,iBAE5C/F,KAAA,CAAAiG,aAAA,CAACnF,QAAQ,EAAAuE,KAAA,CAAAc,EAAA;QAAA,WACEJ,OAAO;QAAA,iBACDC,aAAa;QAAA,cAChBJ,WAAW,CAAC,+CAA+C,CAAC;QAAA,YAC9D,IAAI,CAACY;MAAe,iBAE9BxG,KAAA,CAAAiG,aAAA,CAACnF,QAAQ,CAAC2F,KAAK,qBACbzG,KAAA,CAAAiG,aAAA,CAACnF,QAAQ,CAAC2F,KAAK,CAACC,OAAO,OAAG,eAC1B1G,KAAA,CAAAiG,aAAA,CAACnF,QAAQ,CAAC2F,KAAK,CAACE,SAAS;QAACC,EAAE,EAAE;MAAE,EAAG,CACpB,CACR,CAEd,EAEAtD,QAAQ,gBACPtD,KAAA,CAAAiG,aAAA,CAACP,QAAQ,EAAAL,KAAA,CAAAc,EAAA,iBAAG,gBAEZnG,KAAA,CAAAiG,aAAA,CAAAjG,KAAA,CAAAkG,QAAA,QACGL,WAAW,CAACgB,GAAG,CAAC,UAACpC,MAAM,EAAEqC,CAAC,EAAK;QAC9B,IAAI,SAAS,IAAIrC,MAAM,EAAE;UAAA,IAAAsC,eAAA;UACvB,oBACE/G,KAAA,CAAAiG,aAAA,CAACrF,iBAAiB,CAAC4E,IAAI,CAAC7E,KAAK,EAAAqG,QAAA;YAC3BnE,GAAG,EAAE4B,MAAM,CAACK;UAAK,GACbL,MAAM;YACVK,IAAI,GAAAiC,eAAA,GAAEtC,MAAM,CAACX,OAAO,cAAAiD,eAAA,uBAAdA,eAAA,CAAgBF,GAAG,CAAC,UAACI,CAAC;cAAA,OAAKA,CAAC,CAACnC,IAAI;YAAA,EAAC,CAACoC,IAAI,CAAC,GAAG,CAAE;YACnDC,KAAK,EAAE;UAAG,GACV;QAEN;QAEA,oBAAOnH,KAAA,CAAAiG,aAAA,CAACrF,iBAAiB,CAAC4E,IAAI,CAAC9E,MAAM,EAAAsG,QAAA;UAACnE,GAAG,EAAE4B,MAAM,CAACK;QAAK,GAAKL,MAAM,EAAI;MACxE,CAAC,CAAC,CAEL,CACK,eAERzE,KAAA,CAAAiG,aAAA,CAAC3F,gBAAgB,EAAA+E,KAAA,CAAAc,EAAA;QAAA,eAAc,IAAI;QAAA,MAAM,IAAI,CAACrD,wBAAwB;MAAE,IACrE8C,WAAW,CAAC,gBAAgB,CAAC,CACb,CAClB;IAEP;EAAC;EAAA,OAAA7E,QAAA;AAAA,EAtJ6Cd,SAAS;AAAA8B,eAAA,CAAnDhB,QAAQ,iBAOS,MAAM;AAAAgB,eAAA,CAPvBhB,QAAQ,WAQGR,KAAK;AAiJtB,OAAO,IAAMiF,IAAI,GAAGtF,eAAe,CAACa,QAAQ,EAAE;EAAEL,MAAM,EAANA,MAAM;EAAEC,KAAK,EAALA;AAAM,CAAC,CAU9D"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Head.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Head.types.js","names":[],"sources":["../../../../src/components/Head/Head.types.ts"],"sourcesContent":["import { DataTableData, DataTableProps, DTUse } from '../DataTable/DataTable.types';\nimport { DTColumn } from './Column.types';\n\nexport type DataTableHeadProps = {\n /**\n * Sticky header\n * @default false\n */\n sticky?: boolean;\n\n /**\n * offset for sticky header\n */\n top?: number;\n\n /**\n * Height of header in px\n */\n h?: number;\n\n /** Enable scroll bar element in header */\n withScrollBar?: boolean;\n};\n\nexport type HeadPropsInner<D extends DataTableData> = {\n use: DTUse;\n tableRef: React.RefObject<HTMLElement>;\n columns: DTColumn[];\n treeColumns: DTColumn[];\n compact: boolean;\n sort?: DataTableProps<D>['sort'];\n onSortChange?: DataTableProps<D>['onSortChange'];\n getI18nText: (key: string) => string;\n uid: string;\n ref: React.RefObject<HTMLDivElement>;\n\n gridAreaGroupMap: Map<number, string>;\n gridTemplateColumns: string[];\n gridTemplateAreas: string[];\n sideIndents?: 'wide';\n\n totalRows: number;\n selectedRows?: number[];\n onChangeSelectAll?: (value: boolean, event?: React.SyntheticEvent<HTMLElement>) => void;\n\n getFixedStyle: (\n cell: Pick<DTColumn, 'name' | 'fixed'>,\n ) => [side: 'left' | 'right', style: string | number] | [side: undefined, style: undefined];\n};\n"],"mappings":""}
@@ -0,0 +1,180 @@
1
+ SHead, SGroupContainer {
2
+ display: contents;
3
+ }
4
+
5
+ SHead[sticky] SColumn, SHead[sticky] SGroup {
6
+ position: sticky;
7
+ top: 0;
8
+ z-index: 2;
9
+ }
10
+
11
+ SHead[sticky] SGroupContainer > SColumn {
12
+ position: sticky;
13
+ z-index: 2;
14
+ }
15
+
16
+ SHead[compact] SColumn {
17
+ padding: var(--intergalactic-spacing-3x, 12px) var(--intergalactic-spacing-2x, 8px);
18
+ }
19
+
20
+ SGroup, SColumn {
21
+ display: flex;
22
+ align-items: flex-start;
23
+ font-size: var(--intergalactic-fs-100, 12px);
24
+ color: var(--intergalactic-text-primary, #191b23);
25
+ box-sizing: border-box;
26
+ height: 100%;
27
+ position: relative;
28
+ 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;
29
+ overflow: hidden;
30
+ }
31
+
32
+ SGroup {
33
+ justify-content: center;
34
+ text-align: center;
35
+ background-color: var(--intergalactic-table-th-primary-cell, #f4f5f9);
36
+ }
37
+
38
+ SGroup[use='primary'] {
39
+ padding: var(--intergalactic-spacing-3x, 12px);
40
+
41
+ &:has(~ SColumn[visibleSort]) {
42
+ background-color: var(--intergalactic-table-th-primary-cell-hover, #e0e1e9);
43
+ }
44
+ }
45
+ SGroup[use='secondary'] {
46
+ padding: var(--intergalactic-spacing-2x, 8px);
47
+ }
48
+
49
+ SGroup[borders='both'], SColumn[borders='both'], SGroup[borders='left'], SColumn[borders='left'] {
50
+ border-left: 1px solid var(--intergalactic-border-secondary, #e0e1e9);
51
+ }
52
+
53
+ SGroup[borders='both'], SColumn[borders='both'], SGroup[borders='right'], SColumn[borders='right'] {
54
+ border-right: 1px solid var(--intergalactic-border-secondary, #e0e1e9);
55
+ }
56
+
57
+ SColumn[use='primary'] {
58
+ padding: var(--intergalactic-spacing-3x, 12px);
59
+ border-bottom: 1px solid var(--intergalactic-border-secondary, #e0e1e9);
60
+ background-color: var(--intergalactic-table-th-primary-cell, #f4f5f9);
61
+
62
+ SSortWrapper::before {
63
+ background: linear-gradient(
64
+ 270deg,
65
+ var(--intergalactic-table-th-primary-cell-hover, #e0e1e9) 67.5%,
66
+ rgba(224, 225, 233, 0) 105%
67
+ );
68
+ }
69
+
70
+ &[visibleSort] {
71
+ background-color: var(--intergalactic-table-th-primary-cell-hover, #e0e1e9);
72
+
73
+ SSortWrapper {
74
+ flex-basis: calc(var(--intergalactic-spacing-1x, 4px) + 16px);
75
+ opacity: 1;
76
+
77
+ &::before {
78
+ display: flex;
79
+ opacity: 1;
80
+ }
81
+ }
82
+
83
+ SSortButton {
84
+ display: flex;
85
+ opacity: 1;
86
+ }
87
+ }
88
+ }
89
+
90
+ SColumn[use='secondary'] {
91
+ padding: var(--intergalactic-spacing-2x, 8px);
92
+ border-bottom: 1px solid var(--intergalactic-border-table-accent, #a9abb6);
93
+ background-color: var(--intergalactic-table-th-secondary-cell, #ffffff);
94
+
95
+ SSortWrapper::before {
96
+ background: linear-gradient(
97
+ 270deg,
98
+ var(--intergalactic-table-th-secondary-cell, #ffffff) 67.5%,
99
+ rgba(255, 255, 255, 0) 105%
100
+ );
101
+ }
102
+
103
+ &[visibleSort] {
104
+ SSortWrapper {
105
+ flex-basis: calc(var(--intergalactic-spacing-1x, 4px) + 16px);
106
+ opacity: 1;
107
+
108
+ &::before {
109
+ display: flex;
110
+ opacity: 1;
111
+ }
112
+ }
113
+
114
+ SSortButton {
115
+ display: flex;
116
+ opacity: 1;
117
+ }
118
+ }
119
+ }
120
+
121
+ SColumn[gridArea], SGroup[gridArea], SGroupTitle[gridArea] {
122
+ grid-area: var(--gridArea);
123
+ }
124
+
125
+ SHead[sticky] SColumn[fixed], SHead SColumn[fixed], SHead[sticky] SGroup, SHead SGroup[fixed] {
126
+ position: sticky;
127
+ /* because up resizable */
128
+ z-index: 3;
129
+ }
130
+
131
+ SColumn[sortable]:hover {
132
+ cursor: pointer;
133
+ }
134
+
135
+ SSortWrapper {
136
+ align-items: center;
137
+ display: flex;
138
+ flex-shrink: 1;
139
+ position: relative;
140
+ flex-basis: 0;
141
+ min-height: 16px;
142
+ opacity: 0;
143
+ transition: all calc(var(--intergalactic-duration-extra-fast, 100) * 1ms) ease-in-out;
144
+ }
145
+
146
+ SSortWrapper:before {
147
+ display: none;
148
+ content: '';
149
+ position: absolute;
150
+ top: 0;
151
+ right: 0;
152
+ width: 20px;
153
+ height: 100%;
154
+ opacity: 0;
155
+ transition: opacity 0.3s ease;
156
+ }
157
+
158
+ SSortButton {
159
+ display: none;
160
+ fill: var(--intergalactic-icon-secondary-neutral-hover-active, #878992);
161
+ position: absolute;
162
+ top: calc(-1 * (1em * 1.25 - 16px));
163
+ right: 0;
164
+ margin-left: var(--intergalactic-spacing-1x, 4px);
165
+ opacity: 0;
166
+ transition: opacity 0.3s ease;
167
+ }
168
+
169
+ SHead[sideIndents='wide'] {
170
+ SColumn:first-child {
171
+ padding-left: var(--intergalactic-spacing-5x, 20px);
172
+ }
173
+ SColumn:last-child {
174
+ padding-right: var(--intergalactic-spacing-5x, 20px);
175
+ }
176
+ }
177
+
178
+ SHeadCheckboxCol {
179
+ cursor: pointer;
180
+ }
package/lib/es6/index.js CHANGED
@@ -1,3 +1,6 @@
1
- export { default } from './DataTable';
2
- export * from './DataTable';
1
+ import { DataTable, ACCORDION, ROW_GROUP, UNIQ_ROW_KEY } from './components/DataTable/DataTable';
2
+ var wrapDataTable = function wrapDataTable(wrapper) {
3
+ return wrapper;
4
+ };
5
+ export { DataTable, ACCORDION, ROW_GROUP, UNIQ_ROW_KEY, wrapDataTable };
3
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["default"],"sources":["../../src/index.ts"],"sourcesContent":["export { default } from './DataTable';\nexport * from './DataTable';\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,aAAa;AACrC,cAAc,aAAa"}
1
+ {"version":3,"file":"index.js","names":["DataTable","ACCORDION","ROW_GROUP","UNIQ_ROW_KEY","wrapDataTable","wrapper"],"sources":["../../src/index.ts"],"sourcesContent":["import { DataTable, ACCORDION, ROW_GROUP, UNIQ_ROW_KEY } from './components/DataTable/DataTable';\nimport type {\n DataTableSort,\n DataTableType,\n DataTableData,\n} from './components/DataTable/DataTable.types';\nimport { Intergalactic } from '@semcore/core';\nimport React from 'react';\n\nconst wrapDataTable = <PropsExtending extends {}>(\n wrapper: (\n props: Intergalactic.InternalTypings.UntypeRefAndTag<\n Intergalactic.InternalTypings.ComponentPropsNesting<DataTableType>\n > &\n PropsExtending,\n ) => React.ReactNode,\n): DataTableType => wrapper as any;\n\nexport { DataTable, ACCORDION, ROW_GROUP, UNIQ_ROW_KEY, wrapDataTable };\nexport type { DataTableSort, DataTableData };\n"],"mappings":"AAAA,SAASA,SAAS,EAAEC,SAAS,EAAEC,SAAS,EAAEC,YAAY,QAAQ,kCAAkC;AAShG,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CACjBC,OAKoB;EAAA,OACFA,OAAO;AAAA,CAAO;AAElC,SAASL,SAAS,EAAEC,SAAS,EAAEC,SAAS,EAAEC,YAAY,EAAEC,aAAa"}
@@ -1,7 +1,47 @@
1
- SShadowHorizontal,
2
- SShadowVertical {
3
- &:before,
4
- &:after {
5
- z-index: 1;
1
+ SScrollArea {
2
+ width: fit-content;
3
+
4
+ SContainer {
5
+ overflow: unset;
6
+
7
+ &[scrollDirection='both'] {
8
+ overflow: auto;
9
+ }
10
+ &[scrollDirection='horizontal'] {
11
+ overflow-x: auto;
12
+ overflow-y: unset;
13
+ }
14
+ &[scrollDirection='vertical'] {
15
+ overflow-x: unset;
16
+ overflow-y: auto;
17
+ }
18
+ &[loading] {
19
+ overflow: hidden;
20
+ }
21
+
22
+ &[headerHeight] {
23
+ scroll-padding-top: var(--headerHeight);
24
+ }
25
+ &[leftScrollPadding] {
26
+ scroll-padding-left: var(--leftScrollPadding);
27
+ }
28
+ &[rightScrollPadding] {
29
+ scroll-padding-right: var(--rightScrollPadding);
30
+ }
31
+ }
32
+
33
+ SShadowVertical {
34
+ &:before {
35
+ display: none;
36
+ }
37
+ &:after {
38
+ z-index: 2;
39
+ }
40
+ }
41
+ SShadowHorizontal {
42
+ &:before,
43
+ &:after {
44
+ z-index: 2;
45
+ }
6
46
  }
7
47
  }
@@ -1,3 +1,8 @@
1
1
  {
2
- "sortableColumn": "Sortable"
2
+ "sortableColumn": "Sortable",
3
+ "DataTable.Cell.AccordionToggle.expand:aria-label": "Show details",
4
+ "DataTable.Cell.AccordionToggle.collapse:aria-label": "Hide details",
5
+ "DataTable.Header.selectAllCheckbox:aria-label": "All items",
6
+ "DataTable.allItemsSelected:aria-live": "All items selected",
7
+ "DataTable.allItemsDeselected:aria-live": "All items deselected"
3
8
  }