@semcore/data-table 16.0.0-prerelease.9 → 16.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. package/CHANGELOG.md +25 -1
  2. package/lib/cjs/components/Body/Body.js +436 -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 +194 -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 +244 -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 +257 -0
  17. package/lib/cjs/components/DataTable/DataTable.js +981 -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 +316 -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 +115 -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 +205 -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 +176 -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 +39 -5
  38. package/lib/cjs/translations/en.json +6 -1
  39. package/lib/cjs/utils.js +16 -7
  40. package/lib/cjs/utils.js.map +1 -1
  41. package/lib/es6/components/Body/Body.js +429 -0
  42. package/lib/es6/components/Body/Body.js.map +1 -0
  43. package/lib/es6/components/Body/Body.types.js +2 -0
  44. package/lib/es6/components/Body/Body.types.js.map +1 -0
  45. package/lib/es6/components/Body/Cell.js +187 -0
  46. package/lib/es6/components/Body/Cell.js.map +1 -0
  47. package/lib/es6/components/Body/Cell.types.js +2 -0
  48. package/lib/es6/components/Body/Cell.types.js.map +1 -0
  49. package/lib/es6/components/Body/MergedCells.js +20 -0
  50. package/lib/es6/components/Body/MergedCells.js.map +1 -0
  51. package/lib/es6/components/Body/Row.js +237 -0
  52. package/lib/es6/components/Body/Row.js.map +1 -0
  53. package/lib/es6/components/Body/Row.types.js +2 -0
  54. package/lib/es6/components/Body/Row.types.js.map +1 -0
  55. package/lib/es6/components/Body/style.shadow.css +257 -0
  56. package/lib/es6/components/DataTable/DataTable.js +970 -0
  57. package/lib/es6/components/DataTable/DataTable.js.map +1 -0
  58. package/lib/es6/components/DataTable/DataTable.types.js +2 -0
  59. package/lib/es6/components/DataTable/DataTable.types.js.map +1 -0
  60. package/lib/es6/components/DataTable/dataTable.shadow.css +17 -0
  61. package/lib/es6/components/Head/Column.js +309 -0
  62. package/lib/es6/components/Head/Column.js.map +1 -0
  63. package/lib/es6/components/Head/Column.types.js +2 -0
  64. package/lib/es6/components/Head/Column.types.js.map +1 -0
  65. package/lib/es6/components/Head/Group.js +108 -0
  66. package/lib/es6/components/Head/Group.js.map +1 -0
  67. package/lib/es6/components/Head/Group.type.js +2 -0
  68. package/lib/es6/components/Head/Group.type.js.map +1 -0
  69. package/lib/es6/components/Head/Head.js +199 -0
  70. package/lib/es6/components/Head/Head.js.map +1 -0
  71. package/lib/es6/components/Head/Head.types.js +2 -0
  72. package/lib/es6/components/Head/Head.types.js.map +1 -0
  73. package/lib/es6/components/Head/style.shadow.css +176 -0
  74. package/lib/es6/index.js +5 -2
  75. package/lib/es6/index.js.map +1 -1
  76. package/lib/es6/style/scroll-shadows.shadow.css +39 -5
  77. package/lib/es6/translations/en.json +6 -1
  78. package/lib/es6/utils.js +14 -6
  79. package/lib/es6/utils.js.map +1 -1
  80. package/lib/esm/components/Body/Body.mjs +392 -0
  81. package/lib/esm/components/Body/Cell.mjs +185 -0
  82. package/lib/esm/components/Body/MergedCells.mjs +23 -0
  83. package/lib/esm/components/Body/Row.mjs +218 -0
  84. package/lib/esm/components/Body/style.shadow.css +257 -0
  85. package/lib/esm/components/DataTable/DataTable.mjs +904 -0
  86. package/lib/esm/components/DataTable/dataTable.shadow.css +17 -0
  87. package/lib/esm/components/Head/Column.mjs +299 -0
  88. package/lib/esm/components/Head/Group.mjs +102 -0
  89. package/lib/esm/components/Head/Head.mjs +180 -0
  90. package/lib/esm/components/Head/style.shadow.css +176 -0
  91. package/lib/esm/index.mjs +8 -5
  92. package/lib/esm/style/scroll-shadows.shadow.css +41 -0
  93. package/lib/esm/translations/en.json.mjs +6 -1
  94. package/lib/esm/utils.mjs +6 -15
  95. package/lib/types/components/Body/Body.d.ts +8 -0
  96. package/lib/types/components/Body/Body.types.d.ts +56 -0
  97. package/lib/types/components/Body/Cell.d.ts +3 -0
  98. package/lib/types/components/Body/Cell.types.d.ts +20 -0
  99. package/lib/types/components/Body/MergedCells.d.ts +14 -0
  100. package/lib/types/components/Body/Row.d.ts +3 -0
  101. package/lib/types/components/Body/Row.types.d.ts +42 -0
  102. package/lib/types/components/DataTable/DataTable.d.ts +12 -0
  103. package/lib/types/components/DataTable/DataTable.types.d.ts +118 -0
  104. package/lib/types/components/Head/Column.d.ts +30 -0
  105. package/lib/types/components/Head/Column.types.d.ts +82 -0
  106. package/lib/types/components/Head/Group.d.ts +15 -0
  107. package/lib/types/components/Head/Group.type.d.ts +16 -0
  108. package/lib/types/components/Head/Head.d.ts +98 -0
  109. package/lib/types/components/Head/Head.types.d.ts +35 -0
  110. package/lib/types/index.d.ts +10 -2
  111. package/lib/types/translations/__intergalactic-dynamic-locales.d.ts +5 -0
  112. package/lib/types/utils.d.ts +8 -4
  113. package/package.json +11 -6
  114. package/vite.config.ts +0 -3
  115. package/lib/cjs/Body.js +0 -475
  116. package/lib/cjs/Body.js.map +0 -1
  117. package/lib/cjs/DataTable.js +0 -622
  118. package/lib/cjs/DataTable.js.map +0 -1
  119. package/lib/cjs/Head.js +0 -399
  120. package/lib/cjs/Head.js.map +0 -1
  121. package/lib/cjs/style/data-table.shadow.css +0 -394
  122. package/lib/cjs/types.js.map +0 -1
  123. package/lib/es6/Body.js +0 -468
  124. package/lib/es6/Body.js.map +0 -1
  125. package/lib/es6/DataTable.js +0 -614
  126. package/lib/es6/DataTable.js.map +0 -1
  127. package/lib/es6/Head.js +0 -391
  128. package/lib/es6/Head.js.map +0 -1
  129. package/lib/es6/style/data-table.shadow.css +0 -394
  130. package/lib/es6/types.js +0 -2
  131. package/lib/es6/types.js.map +0 -1
  132. package/lib/esm/Body.mjs +0 -427
  133. package/lib/esm/DataTable.mjs +0 -582
  134. package/lib/esm/Head.mjs +0 -369
  135. package/lib/types/Body.d.ts +0 -61
  136. package/lib/types/DataTable.d.ts +0 -205
  137. package/lib/types/Head.d.ts +0 -45
  138. package/lib/types/types.d.ts +0 -73
@@ -0,0 +1,108 @@
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_13xrb_gg_,.___SHead_13xrb_gg_{display:contents}.___SHead_13xrb_gg_.__sticky_13xrb_gg_ .___SColumn_13xrb_gg_{position:sticky;top:0;z-index:2}.___SHead_13xrb_gg_.__sticky_13xrb_gg_ .___SGroup_13xrb_gg_{top:0}.___SHead_13xrb_gg_.__sticky_13xrb_gg_ .___SGroupContainer_13xrb_gg_>.___SColumn_13xrb_gg_{position:sticky;z-index:2}.___SHead_13xrb_gg_.__compact_13xrb_gg_ .___SColumn_13xrb_gg_{padding:var(--intergalactic-spacing-3x, 12px) var(--intergalactic-spacing-2x, 8px)}.___SColumn_13xrb_gg_,.___SGroup_13xrb_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_13xrb_gg_{justify-content:center;text-align:center;background-color:var(--intergalactic-table-th-primary-cell, #f4f5f9)}.___SGroup_13xrb_gg_._use_primary_13xrb_gg_{padding:var(--intergalactic-spacing-3x, 12px)}.___SGroup_13xrb_gg_._use_primary_13xrb_gg_:has(~.___SColumn_13xrb_gg_.__visibleSort_13xrb_gg_){background-color:var(--intergalactic-table-th-primary-cell-hover, #e0e1e9)}.___SGroup_13xrb_gg_._use_secondary_13xrb_gg_{padding:var(--intergalactic-spacing-2x, 8px)}.___SColumn_13xrb_gg_._borders_both_13xrb_gg_,.___SColumn_13xrb_gg_._borders_left_13xrb_gg_,.___SGroup_13xrb_gg_._borders_both_13xrb_gg_,.___SGroup_13xrb_gg_._borders_left_13xrb_gg_{border-left:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SColumn_13xrb_gg_._borders_both_13xrb_gg_,.___SColumn_13xrb_gg_._borders_right_13xrb_gg_,.___SGroup_13xrb_gg_._borders_both_13xrb_gg_,.___SGroup_13xrb_gg_._borders_right_13xrb_gg_{border-right:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SColumn_13xrb_gg_._use_primary_13xrb_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_13xrb_gg_._use_primary_13xrb_gg_ .___SSortWrapper_13xrb_gg_::before{background:linear-gradient(270deg,var(--intergalactic-table-th-primary-cell-hover, #e0e1e9) 67.5%,rgba(224,225,233,0) 105%)}.___SColumn_13xrb_gg_._use_primary_13xrb_gg_.__visibleSort_13xrb_gg_{background-color:var(--intergalactic-table-th-primary-cell-hover, #e0e1e9)}.___SColumn_13xrb_gg_._use_primary_13xrb_gg_.__visibleSort_13xrb_gg_ .___SSortWrapper_13xrb_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}.___SColumn_13xrb_gg_._use_primary_13xrb_gg_.__visibleSort_13xrb_gg_ .___SSortButton_13xrb_gg_,.___SColumn_13xrb_gg_._use_primary_13xrb_gg_.__visibleSort_13xrb_gg_ .___SSortWrapper_13xrb_gg_::before,.___SColumn_13xrb_gg_._use_secondary_13xrb_gg_.__visibleSort_13xrb_gg_ .___SSortWrapper_13xrb_gg_::before{display:flex;opacity:1}.___SColumn_13xrb_gg_._use_secondary_13xrb_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_13xrb_gg_._use_secondary_13xrb_gg_ .___SSortWrapper_13xrb_gg_::before{background:linear-gradient(270deg,var(--intergalactic-table-th-secondary-cell, #ffffff) 67.5%,rgba(255,255,255,0) 105%)}.___SColumn_13xrb_gg_._use_secondary_13xrb_gg_.__visibleSort_13xrb_gg_ .___SSortWrapper_13xrb_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}.___SColumn_13xrb_gg_._use_secondary_13xrb_gg_.__visibleSort_13xrb_gg_ .___SSortButton_13xrb_gg_{display:flex;opacity:1}.___SColumn_13xrb_gg_.__gridArea_13xrb_gg_,.___SGroupTitle_13xrb_gg_.__gridArea_13xrb_gg_,.___SGroup_13xrb_gg_.__gridArea_13xrb_gg_{grid-area:var(--gridArea_13xrb)}.___SHead_13xrb_gg_ .___SColumn_13xrb_gg_.__fixed_13xrb_gg_,.___SHead_13xrb_gg_ .___SGroup_13xrb_gg_.__fixed_13xrb_gg_,.___SHead_13xrb_gg_.__sticky_13xrb_gg_ .___SColumn_13xrb_gg_.__fixed_13xrb_gg_,.___SHead_13xrb_gg_.__sticky_13xrb_gg_ .___SGroup_13xrb_gg_{position:sticky;z-index:3}@media (hover:hover){.___SColumn_13xrb_gg_.__sortable_13xrb_gg_:hover{cursor:pointer}}.___SSortWrapper_13xrb_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_13xrb_gg_,.___SSortWrapper_13xrb_gg_:before{display:none;position:absolute;right:0;opacity:0;transition:opacity .3s ease}.___SSortWrapper_13xrb_gg_:before{content:\"\";top:0;width:20px;height:100%}.___SSortButton_13xrb_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_13xrb_gg_._sideIndents_l_13xrb_gg_ .___SColumn_13xrb_gg_:first-child{padding-left:var(--intergalactic-spacing-5x, 20px)}.___SHead_13xrb_gg_._sideIndents_l_13xrb_gg_ .___SColumn_13xrb_gg_:last-child{padding-right:var(--intergalactic-spacing-5x, 20px)}", /*__inner_css_end__*/"13xrb_gg_"),
15
+ /*__reshadow_css_end__*/
16
+ {
17
+ "__SHead": "___SHead_13xrb_gg_",
18
+ "__SGroupContainer": "___SGroupContainer_13xrb_gg_",
19
+ "_sticky": "__sticky_13xrb_gg_",
20
+ "__SColumn": "___SColumn_13xrb_gg_",
21
+ "__SGroup": "___SGroup_13xrb_gg_",
22
+ "_compact": "__compact_13xrb_gg_",
23
+ "_use_secondary": "_use_secondary_13xrb_gg_",
24
+ "_borders_both": "_borders_both_13xrb_gg_",
25
+ "_borders_left": "_borders_left_13xrb_gg_",
26
+ "_borders_right": "_borders_right_13xrb_gg_",
27
+ "_gridArea": "__gridArea_13xrb_gg_",
28
+ "__SGroupTitle": "___SGroupTitle_13xrb_gg_",
29
+ "--gridArea": "--gridArea_13xrb",
30
+ "_fixed": "__fixed_13xrb_gg_",
31
+ "_sortable": "__sortable_13xrb_gg_",
32
+ "__SSortWrapper": "___SSortWrapper_13xrb_gg_",
33
+ "__SSortButton": "___SSortButton_13xrb_gg_",
34
+ "_use_primary": "_use_primary_13xrb_gg_",
35
+ "_visibleSort": "__visibleSort_13xrb_gg_",
36
+ "_sideIndents_l": "_sideIndents_l_13xrb_gg_"
37
+ });
38
+ import getOriginChildren from '@semcore/core/lib/utils/getOriginChildren';
39
+ import { DataTable } from '../DataTable/DataTable';
40
+ import uniqueIDEnhancement from '@semcore/core/lib/utils/uniqueID';
41
+ export var Group = /*#__PURE__*/function (_Component) {
42
+ _inherits(Group, _Component);
43
+ var _super = _createSuper(Group);
44
+ function Group() {
45
+ _classCallCheck(this, Group);
46
+ return _super.apply(this, arguments);
47
+ }
48
+ _createClass(Group, [{
49
+ key: "componentDidMount",
50
+ value: function componentDidMount() {
51
+ this.forceUpdate();
52
+ }
53
+ }, {
54
+ key: "groupId",
55
+ get: function get() {
56
+ var uid = this.asProps.uid;
57
+ return "".concat(uid, "_columns_group");
58
+ }
59
+ }, {
60
+ key: "render",
61
+ value: function render() {
62
+ var _ref = this.asProps,
63
+ _ref2,
64
+ _groupColumns$,
65
+ _children$,
66
+ _groupColumns,
67
+ _children,
68
+ _this = this;
69
+ var SGroupContainer = Box;
70
+ var SGroup = Box;
71
+ var _this$asProps = this.asProps,
72
+ styles = _this$asProps.styles,
73
+ Children = _this$asProps.Children,
74
+ title = _this$asProps.title,
75
+ fixed = _this$asProps.fixed,
76
+ fixedColumnsMap = _this$asProps.fixedColumnsMap,
77
+ columns = _this$asProps.columns,
78
+ withConfig = _this$asProps.withConfig;
79
+ var groupColumns = columns !== null && columns !== void 0 ? columns : [];
80
+ var children = getOriginChildren(Children);
81
+ 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;
82
+ 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;
83
+ var style = {};
84
+ if (fixed === 'left' && firstName) {
85
+ style.left = fixedColumnsMap.get(firstName);
86
+ }
87
+ if (fixed === 'right') {
88
+ style.right = fixedColumnsMap.get(lastName);
89
+ }
90
+ return _ref2 = sstyled(styles), /*#__PURE__*/React.createElement(SGroupContainer, _ref2.cn("SGroupContainer", {}), /*#__PURE__*/React.createElement(SGroup, _ref2.cn("SGroup", _objectSpread({}, _assignProps({
91
+ "style": style,
92
+ "__excludeProps": ['title'],
93
+ "id": this.groupId
94
+ }, _ref))), withConfig ? children : title), withConfig ? groupColumns.map(function (column, i) {
95
+ return /*#__PURE__*/React.createElement(DataTable.Head.Column, _extends({
96
+ key: column.name
97
+ }, column, {
98
+ "aria-describedby": _this.groupId
99
+ }));
100
+ }) : /*#__PURE__*/React.createElement(Children, _ref2.cn("Children", {})));
101
+ }
102
+ }]);
103
+ return Group;
104
+ }(Component);
105
+ _defineProperty(Group, "displayName", 'Group');
106
+ _defineProperty(Group, "style", style);
107
+ _defineProperty(Group, "enhance", [uniqueIDEnhancement()]);
108
+ //# sourceMappingURL=Group.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Group.js","names":["React","Component","Root","sstyled","Box","style","_sstyled","insert","getOriginChildren","DataTable","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 { DataTable } 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 <DataTable.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,199 @@
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_13xrb_gg_,.___SHead_13xrb_gg_{display:contents}.___SHead_13xrb_gg_.__sticky_13xrb_gg_ .___SColumn_13xrb_gg_{position:sticky;top:0;z-index:2}.___SHead_13xrb_gg_.__sticky_13xrb_gg_ .___SGroup_13xrb_gg_{top:0}.___SHead_13xrb_gg_.__sticky_13xrb_gg_ .___SGroupContainer_13xrb_gg_>.___SColumn_13xrb_gg_{position:sticky;z-index:2}.___SHead_13xrb_gg_.__compact_13xrb_gg_ .___SColumn_13xrb_gg_{padding:var(--intergalactic-spacing-3x, 12px) var(--intergalactic-spacing-2x, 8px)}.___SColumn_13xrb_gg_,.___SGroup_13xrb_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_13xrb_gg_{justify-content:center;text-align:center;background-color:var(--intergalactic-table-th-primary-cell, #f4f5f9)}.___SGroup_13xrb_gg_._use_primary_13xrb_gg_{padding:var(--intergalactic-spacing-3x, 12px)}.___SGroup_13xrb_gg_._use_primary_13xrb_gg_:has(~.___SColumn_13xrb_gg_.__visibleSort_13xrb_gg_){background-color:var(--intergalactic-table-th-primary-cell-hover, #e0e1e9)}.___SGroup_13xrb_gg_._use_secondary_13xrb_gg_{padding:var(--intergalactic-spacing-2x, 8px)}.___SColumn_13xrb_gg_._borders_both_13xrb_gg_,.___SColumn_13xrb_gg_._borders_left_13xrb_gg_,.___SGroup_13xrb_gg_._borders_both_13xrb_gg_,.___SGroup_13xrb_gg_._borders_left_13xrb_gg_{border-left:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SColumn_13xrb_gg_._borders_both_13xrb_gg_,.___SColumn_13xrb_gg_._borders_right_13xrb_gg_,.___SGroup_13xrb_gg_._borders_both_13xrb_gg_,.___SGroup_13xrb_gg_._borders_right_13xrb_gg_{border-right:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SColumn_13xrb_gg_._use_primary_13xrb_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_13xrb_gg_._use_primary_13xrb_gg_ .___SSortWrapper_13xrb_gg_::before{background:linear-gradient(270deg,var(--intergalactic-table-th-primary-cell-hover, #e0e1e9) 67.5%,rgba(224,225,233,0) 105%)}.___SColumn_13xrb_gg_._use_primary_13xrb_gg_.__visibleSort_13xrb_gg_{background-color:var(--intergalactic-table-th-primary-cell-hover, #e0e1e9)}.___SColumn_13xrb_gg_._use_primary_13xrb_gg_.__visibleSort_13xrb_gg_ .___SSortWrapper_13xrb_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}.___SColumn_13xrb_gg_._use_primary_13xrb_gg_.__visibleSort_13xrb_gg_ .___SSortButton_13xrb_gg_,.___SColumn_13xrb_gg_._use_primary_13xrb_gg_.__visibleSort_13xrb_gg_ .___SSortWrapper_13xrb_gg_::before,.___SColumn_13xrb_gg_._use_secondary_13xrb_gg_.__visibleSort_13xrb_gg_ .___SSortWrapper_13xrb_gg_::before{display:flex;opacity:1}.___SColumn_13xrb_gg_._use_secondary_13xrb_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_13xrb_gg_._use_secondary_13xrb_gg_ .___SSortWrapper_13xrb_gg_::before{background:linear-gradient(270deg,var(--intergalactic-table-th-secondary-cell, #ffffff) 67.5%,rgba(255,255,255,0) 105%)}.___SColumn_13xrb_gg_._use_secondary_13xrb_gg_.__visibleSort_13xrb_gg_ .___SSortWrapper_13xrb_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}.___SColumn_13xrb_gg_._use_secondary_13xrb_gg_.__visibleSort_13xrb_gg_ .___SSortButton_13xrb_gg_{display:flex;opacity:1}.___SColumn_13xrb_gg_.__gridArea_13xrb_gg_,.___SGroupTitle_13xrb_gg_.__gridArea_13xrb_gg_,.___SGroup_13xrb_gg_.__gridArea_13xrb_gg_{grid-area:var(--gridArea_13xrb)}.___SHead_13xrb_gg_ .___SColumn_13xrb_gg_.__fixed_13xrb_gg_,.___SHead_13xrb_gg_ .___SGroup_13xrb_gg_.__fixed_13xrb_gg_,.___SHead_13xrb_gg_.__sticky_13xrb_gg_ .___SColumn_13xrb_gg_.__fixed_13xrb_gg_,.___SHead_13xrb_gg_.__sticky_13xrb_gg_ .___SGroup_13xrb_gg_{position:sticky;z-index:3}@media (hover:hover){.___SColumn_13xrb_gg_.__sortable_13xrb_gg_:hover{cursor:pointer}}.___SSortWrapper_13xrb_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_13xrb_gg_,.___SSortWrapper_13xrb_gg_:before{display:none;position:absolute;right:0;opacity:0;transition:opacity .3s ease}.___SSortWrapper_13xrb_gg_:before{content:\"\";top:0;width:20px;height:100%}.___SSortButton_13xrb_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_13xrb_gg_._sideIndents_l_13xrb_gg_ .___SColumn_13xrb_gg_:first-child{padding-left:var(--intergalactic-spacing-5x, 20px)}.___SHead_13xrb_gg_._sideIndents_l_13xrb_gg_ .___SColumn_13xrb_gg_:last-child{padding-right:var(--intergalactic-spacing-5x, 20px)}", /*__inner_css_end__*/"13xrb_gg_"),
17
+ /*__reshadow_css_end__*/
18
+ {
19
+ "__SHead": "___SHead_13xrb_gg_",
20
+ "__SGroupContainer": "___SGroupContainer_13xrb_gg_",
21
+ "_sticky": "__sticky_13xrb_gg_",
22
+ "__SColumn": "___SColumn_13xrb_gg_",
23
+ "__SGroup": "___SGroup_13xrb_gg_",
24
+ "_compact": "__compact_13xrb_gg_",
25
+ "_use_secondary": "_use_secondary_13xrb_gg_",
26
+ "_borders_both": "_borders_both_13xrb_gg_",
27
+ "_borders_left": "_borders_left_13xrb_gg_",
28
+ "_borders_right": "_borders_right_13xrb_gg_",
29
+ "_gridArea": "__gridArea_13xrb_gg_",
30
+ "__SGroupTitle": "___SGroupTitle_13xrb_gg_",
31
+ "--gridArea": "--gridArea_13xrb",
32
+ "_fixed": "__fixed_13xrb_gg_",
33
+ "_sortable": "__sortable_13xrb_gg_",
34
+ "__SSortWrapper": "___SSortWrapper_13xrb_gg_",
35
+ "__SSortButton": "___SSortButton_13xrb_gg_",
36
+ "_use_primary": "_use_primary_13xrb_gg_",
37
+ "_visibleSort": "__visibleSort_13xrb_gg_",
38
+ "_sideIndents_l": "_sideIndents_l_13xrb_gg_"
39
+ });
40
+ import { Column } from './Column';
41
+ import { Group } from './Group';
42
+ import { getFixedStyle } from '../../utils';
43
+ import { DataTable } 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) {
58
+ return function (event) {
59
+ var _this$asProps$onChang, _this$asProps;
60
+ event === null || event === void 0 ? void 0 : event.preventDefault();
61
+ (_this$asProps$onChang = (_this$asProps = _this.asProps).onChangeSelectAll) === null || _this$asProps$onChang === void 0 ? void 0 : _this$asProps$onChang.call(_this$asProps, value, event);
62
+ };
63
+ });
64
+ return _this;
65
+ }
66
+ _createClass(HeadRoot, [{
67
+ key: "sortableColumnDescribeId",
68
+ value: function sortableColumnDescribeId() {
69
+ var uid = this.asProps.uid;
70
+ return "".concat(uid, "-column-sortable-describer");
71
+ }
72
+ }, {
73
+ key: "getGroupProps",
74
+ value: function getGroupProps(_, index) {
75
+ var _this$asProps2 = this.asProps,
76
+ use = _this$asProps2.use,
77
+ gridAreaGroupMap = _this$asProps2.gridAreaGroupMap,
78
+ children = _this$asProps2.children;
79
+ return {
80
+ use: use,
81
+ gridArea: gridAreaGroupMap.get(index),
82
+ fixedColumnsMap: this.fixedColumnsMap,
83
+ withConfig: children === undefined
84
+ };
85
+ }
86
+ }, {
87
+ key: "getColumnProps",
88
+ value: function getColumnProps(_, index) {
89
+ var _this$asProps3 = this.asProps,
90
+ use = _this$asProps3.use,
91
+ columns = _this$asProps3.columns,
92
+ sort = _this$asProps3.sort,
93
+ onSortChange = _this$asProps3.onSortChange,
94
+ tableRef = _this$asProps3.tableRef,
95
+ gridTemplateColumns = _this$asProps3.gridTemplateColumns,
96
+ gridTemplateAreas = _this$asProps3.gridTemplateAreas,
97
+ sticky = _this$asProps3.sticky,
98
+ top = _this$asProps3.top,
99
+ selectedRows = _this$asProps3.selectedRows;
100
+ var column = columns[index];
101
+ if (index === 0 && selectedRows && columns[index + 1].fixed) {
102
+ column.fixed = 'left';
103
+ }
104
+ var _getFixedStyle = getFixedStyle(column, columns),
105
+ _getFixedStyle2 = _slicedToArray(_getFixedStyle, 2),
106
+ name = _getFixedStyle2[0],
107
+ value = _getFixedStyle2[1];
108
+ var style = {};
109
+ if (top) {
110
+ style.top = "".concat(top, "px");
111
+ }
112
+ if (name !== undefined && value !== undefined) {
113
+ style[name] = value;
114
+ this.fixedColumnsMap.set(column.name, value);
115
+ }
116
+ return {
117
+ use: use,
118
+ 'aria-colindex': index + 1,
119
+ ref: function ref(node) {
120
+ var _column$ref;
121
+ return (_column$ref = column.ref) === null || _column$ref === void 0 ? void 0 : _column$ref.call(column, node);
122
+ },
123
+ style: style,
124
+ gridArea: column.gridArea,
125
+ fixed: column.fixed,
126
+ sticky: sticky,
127
+ borders: column.borders,
128
+ sort: sort,
129
+ onSortChange: onSortChange,
130
+ parent: column.parent,
131
+ sortableColumnDescribeId: this.sortableColumnDescribeId(),
132
+ columnIndex: index,
133
+ tableRef: tableRef,
134
+ gridTemplateColumns: gridTemplateColumns,
135
+ gridTemplateAreas: gridTemplateAreas
136
+ };
137
+ }
138
+ }, {
139
+ key: "render",
140
+ value: function render() {
141
+ var _ref = this.asProps,
142
+ _ref2,
143
+ _this2 = this;
144
+ var SHead = Box;
145
+ var _this$asProps4 = this.asProps,
146
+ Children = _this$asProps4.Children,
147
+ styles = _this$asProps4.styles,
148
+ getI18nText = _this$asProps4.getI18nText,
149
+ children = _this$asProps4.children,
150
+ treeColumns = _this$asProps4.treeColumns,
151
+ selectedRows = _this$asProps4.selectedRows,
152
+ totalRows = _this$asProps4.totalRows;
153
+ var checked = selectedRows && selectedRows.length === totalRows && totalRows > 0;
154
+ var indeterminate = selectedRows && selectedRows.length > 0 && !checked;
155
+ return _ref2 = sstyled(styles), /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(SHead, _ref2.cn("SHead", _objectSpread({}, _assignProps({
156
+ "role": 'row',
157
+ "aria-rowindex": 1
158
+ }, _ref))), selectedRows && /*#__PURE__*/React.createElement(Head.Column, {
159
+ name: SELECT_ALL.toString(),
160
+ onClick: this.handleSelectAll(!checked)
161
+ }, /*#__PURE__*/React.createElement(Checkbox, _ref2.cn("Checkbox", {
162
+ "checked": checked,
163
+ "indeterminate": indeterminate,
164
+ "aria-label": getI18nText('DataTable.Header.selectAllCheckbox:aria-label'),
165
+ "onChange": function onChange(value, e) {
166
+ return _this2.handleSelectAll(value)(e);
167
+ }
168
+ }), /*#__PURE__*/React.createElement(Checkbox.Value, null, /*#__PURE__*/React.createElement(Checkbox.Value.Control, null), /*#__PURE__*/React.createElement(Checkbox.Value.CheckMark, {
169
+ mt: 0
170
+ })))), children ? /*#__PURE__*/React.createElement(Children, _ref2.cn("Children", {})) : /*#__PURE__*/React.createElement(React.Fragment, null, treeColumns.map(function (column, i) {
171
+ if ('columns' in column) {
172
+ var _column$columns;
173
+ return /*#__PURE__*/React.createElement(DataTable.Head.Group, _extends({
174
+ key: column.name
175
+ }, column, {
176
+ name: (_column$columns = column.columns) === null || _column$columns === void 0 ? void 0 : _column$columns.map(function (c) {
177
+ return c.name;
178
+ }).join('/'),
179
+ title: ''
180
+ }));
181
+ }
182
+ return /*#__PURE__*/React.createElement(DataTable.Head.Column, _extends({
183
+ key: column.name
184
+ }, column));
185
+ }))), /*#__PURE__*/React.createElement(ScreenReaderOnly, _ref2.cn("ScreenReaderOnly", {
186
+ "aria-hidden": true,
187
+ "id": this.sortableColumnDescribeId()
188
+ }), getI18nText('sortableColumn')));
189
+ }
190
+ }]);
191
+ return HeadRoot;
192
+ }(Component);
193
+ _defineProperty(HeadRoot, "displayName", 'Head');
194
+ _defineProperty(HeadRoot, "style", style);
195
+ export var Head = createComponent(HeadRoot, {
196
+ Column: Column,
197
+ Group: Group
198
+ });
199
+ //# 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","getFixedStyle","DataTable","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","preventDefault","asProps","onChangeSelectAll","_createClass","key","sortableColumnDescribeId","uid","getGroupProps","_","index","_this$asProps2","use","gridAreaGroupMap","children","gridArea","get","fixedColumnsMap","withConfig","undefined","getColumnProps","_this$asProps3","columns","sort","onSortChange","tableRef","gridTemplateColumns","gridTemplateAreas","sticky","top","selectedRows","column","fixed","_getFixedStyle","_getFixedStyle2","_slicedToArray","name","set","ref","node","_column$ref","borders","parent","columnIndex","render","_ref","_ref2","_this2","SHead","_this$asProps4","Children","styles","getI18nText","treeColumns","totalRows","checked","indeterminate","createElement","Fragment","cn","_objectSpread","_assignProps","Head","toString","onClick","handleSelectAll","onChange","e","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 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 { getFixedStyle } from '../../utils';\nimport { DataTableGroupProps } from './Group.type';\nimport { DataTableData } from '../DataTable/DataTable.types';\nimport { DataTable } 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 } = 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, columns);\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 ref: (node: HTMLElement | null) => column.ref?.(node),\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 };\n }\n\n handleSelectAll = (value: boolean) => (event?: React.SyntheticEvent<HTMLElement>) => {\n event?.preventDefault();\n this.asProps.onChangeSelectAll?.(value, event);\n };\n\n render() {\n const SHead = Root;\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 <Head.Column name={SELECT_ALL.toString()} onClick={this.handleSelectAll(!checked)}>\n <Checkbox\n checked={checked}\n indeterminate={indeterminate}\n aria-label={getI18nText('DataTable.Header.selectAllCheckbox:aria-label')}\n onChange={(value, e) => this.handleSelectAll(value)(e)}\n >\n <Checkbox.Value>\n <Checkbox.Value.Control />\n <Checkbox.Value.CheckMark mt={0} />\n </Checkbox.Value>\n </Checkbox>\n </Head.Column>\n )}\n\n {children ? (\n <Children />\n ) : (\n <>\n {treeColumns.map((column, i) => {\n if ('columns' in column) {\n return (\n <DataTable.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 <DataTable.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":"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"}
@@ -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 /** 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?: 'l';\n\n totalRows: number;\n selectedRows?: number[];\n onChangeSelectAll?: (value: boolean, event?: React.SyntheticEvent<HTMLElement>) => void;\n};\n"],"mappings":""}
@@ -0,0 +1,176 @@
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='l'] {
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
+ }
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,41 @@
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
+ }
26
+
27
+ SShadowVertical {
28
+ &:before {
29
+ display: none;
30
+ }
31
+ &:after {
32
+ z-index: 2;
33
+ }
34
+ }
35
+ SShadowHorizontal {
36
+ &:before,
37
+ &:after {
38
+ z-index: 2;
39
+ }
6
40
  }
7
41
  }
@@ -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
  }