@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,17 @@
1
+ SDataTable {
2
+ display: grid;
3
+ align-items: start;
4
+ min-width: fit-content;
5
+ }
6
+
7
+ SDataTable[gridTemplateColumns] {
8
+ grid-template-columns: var(--gridTemplateColumns);
9
+ }
10
+
11
+ SDataTable[gridTemplateAreas] {
12
+ grid-template-areas: var(--gridTemplateAreas);
13
+ }
14
+
15
+ SDataTable[gridTemplateRows] {
16
+ grid-template-rows: var(--gridTemplateRows);
17
+ }
@@ -0,0 +1,299 @@
1
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
+ import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
3
+ import _createClass from "@babel/runtime/helpers/esm/createClass";
4
+ import _assertThisInitialized from "@babel/runtime/helpers/esm/assertThisInitialized";
5
+ import _inherits from "@babel/runtime/helpers/esm/inherits";
6
+ import _createSuper from "@babel/runtime/helpers/esm/createSuper";
7
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
8
+ import { sstyled, lastInteraction, assignProps, Component } from "@semcore/core";
9
+ import * as React from "react";
10
+ import { Flex } from "@semcore/base-components";
11
+ import SortDesc from "@semcore/icon/SortDesc/m";
12
+ import SortAsc from "@semcore/icon/SortAsc/m";
13
+ import { ButtonLink } from "@semcore/button";
14
+ import { getFocusableIn } from "@semcore/core/lib/utils/focus-lock/getFocusableIn";
15
+ import canUseDOM from "@semcore/core/lib/utils/canUseDOM";
16
+ import { isFocusInside } from "@semcore/core/lib/utils/focus-lock/isFocusInside";
17
+ /*!__reshadow-styles__:"./style.shadow.css"*/
18
+ var style = (
19
+ /*__reshadow_css_start__*/
20
+ (sstyled.insert(
21
+ /*__inner_css_start__*/
22
+ '.___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)}',
23
+ /*__inner_css_end__*/
24
+ "13xrb_gg_"
25
+ ), /*__reshadow_css_end__*/
26
+ {
27
+ "__SHead": "___SHead_13xrb_gg_",
28
+ "__SGroupContainer": "___SGroupContainer_13xrb_gg_",
29
+ "_sticky": "__sticky_13xrb_gg_",
30
+ "__SColumn": "___SColumn_13xrb_gg_",
31
+ "__SGroup": "___SGroup_13xrb_gg_",
32
+ "_compact": "__compact_13xrb_gg_",
33
+ "_use_secondary": "_use_secondary_13xrb_gg_",
34
+ "_borders_both": "_borders_both_13xrb_gg_",
35
+ "_borders_left": "_borders_left_13xrb_gg_",
36
+ "_borders_right": "_borders_right_13xrb_gg_",
37
+ "_gridArea": "__gridArea_13xrb_gg_",
38
+ "__SGroupTitle": "___SGroupTitle_13xrb_gg_",
39
+ "--gridArea": "--gridArea_13xrb",
40
+ "_fixed": "__fixed_13xrb_gg_",
41
+ "_sortable": "__sortable_13xrb_gg_",
42
+ "__SSortWrapper": "___SSortWrapper_13xrb_gg_",
43
+ "__SSortButton": "___SSortButton_13xrb_gg_",
44
+ "_use_primary": "_use_primary_13xrb_gg_",
45
+ "_visibleSort": "__visibleSort_13xrb_gg_",
46
+ "_sideIndents_l": "_sideIndents_l_13xrb_gg_"
47
+ })
48
+ );
49
+ var SORTING_ICON = {
50
+ desc: SortDesc,
51
+ asc: SortAsc
52
+ };
53
+ var ARIA_SORT = {
54
+ desc: "descending",
55
+ asc: "ascending"
56
+ };
57
+ var SORT_ICON_WIDTH = 20;
58
+ var DEFAULT_DIRECTION = "desc";
59
+ var reversedSortDirection = {
60
+ desc: "asc",
61
+ asc: "desc"
62
+ };
63
+ var Column = /* @__PURE__ */ function(_Component) {
64
+ _inherits(Column2, _Component);
65
+ var _super = _createSuper(Column2);
66
+ function Column2() {
67
+ var _this;
68
+ _classCallCheck(this, Column2);
69
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
70
+ args[_key] = arguments[_key];
71
+ }
72
+ _this = _super.call.apply(_super, [this].concat(args));
73
+ _defineProperty(_assertThisInitialized(_this), "lockedCell", [null, false]);
74
+ _defineProperty(_assertThisInitialized(_this), "columnRef", /* @__PURE__ */ React.createRef());
75
+ _defineProperty(_assertThisInitialized(_this), "sortWrapperRef", /* @__PURE__ */ React.createRef());
76
+ _defineProperty(_assertThisInitialized(_this), "state", {
77
+ sortVisible: false
78
+ });
79
+ _defineProperty(_assertThisInitialized(_this), "calculateActiveColumnMinWidth", function() {
80
+ var node = _this.columnRef.current;
81
+ if (node) {
82
+ var _this$columnRef$curre, _this$columnRef$curre2;
83
+ var clonedColumn = document.createElement("div");
84
+ var computedStyle = window.getComputedStyle(node);
85
+ node.childNodes.forEach(function(node2) {
86
+ if (_this.sortWrapperRef.current !== node2) {
87
+ clonedColumn.append(node2.cloneNode(true));
88
+ }
89
+ });
90
+ clonedColumn.style.setProperty("visibility", "hidden", "important");
91
+ var styles = ["display", "flex", "margin", "padding", "background", "font-style", "font-width", "font-size", "font-weight"];
92
+ styles.forEach(function(key) {
93
+ clonedColumn.style.setProperty(key, computedStyle.getPropertyValue(key), computedStyle.getPropertyPriority(key));
94
+ });
95
+ clonedColumn.style.setProperty("width", "fit-content", "important");
96
+ document.body.appendChild(clonedColumn);
97
+ var computedWidth = Math.ceil(clonedColumn.getBoundingClientRect().width);
98
+ document.body.removeChild(clonedColumn);
99
+ var defaultNodeWidth = (_this$columnRef$curre = (_this$columnRef$curre2 = _this.columnRef.current) === null || _this$columnRef$curre2 === void 0 ? void 0 : _this$columnRef$curre2.clientWidth) !== null && _this$columnRef$curre !== void 0 ? _this$columnRef$curre : 0;
100
+ if (computedWidth >= defaultNodeWidth) {
101
+ return defaultNodeWidth + SORT_ICON_WIDTH;
102
+ } else {
103
+ var freeSpace = defaultNodeWidth - computedWidth;
104
+ if (freeSpace < SORT_ICON_WIDTH) {
105
+ return computedWidth + SORT_ICON_WIDTH;
106
+ }
107
+ }
108
+ }
109
+ return null;
110
+ });
111
+ _defineProperty(_assertThisInitialized(_this), "handleMouseEnter", function() {
112
+ _this.setState({
113
+ sortVisible: true
114
+ });
115
+ });
116
+ _defineProperty(_assertThisInitialized(_this), "handleMouseLeave", function() {
117
+ _this.setState({
118
+ sortVisible: false
119
+ });
120
+ });
121
+ _defineProperty(_assertThisInitialized(_this), "handleBlur", function(e) {
122
+ var relatedTarget = e.relatedTarget;
123
+ if (!isFocusInside(e.currentTarget, relatedTarget) && lastInteraction.isKeyboard()) {
124
+ _this.setState({
125
+ sortVisible: false
126
+ });
127
+ }
128
+ });
129
+ _defineProperty(_assertThisInitialized(_this), "handleSortClick", function(e) {
130
+ var _this$asProps = _this.asProps, sort = _this$asProps.sort, onSortChange = _this$asProps.onSortChange, name = _this$asProps.name;
131
+ if (lastInteraction.isMouse() || lastInteraction.isKeyboard() && e.target === e.currentTarget) {
132
+ if (sort && onSortChange) {
133
+ var sortDirection = sort[0] === name ? reversedSortDirection[sort[1]] : _this.defaultDirection;
134
+ onSortChange([name, sortDirection], e);
135
+ }
136
+ }
137
+ });
138
+ _defineProperty(_assertThisInitialized(_this), "handleKeyDown", function(e) {
139
+ if (e.currentTarget === _this.lockedCell[0]) {
140
+ var focusableChildren = Array.from(_this.lockedCell[0].children).flatMap(function(node) {
141
+ return getFocusableIn(node);
142
+ });
143
+ if (_this.lockedCell[1]) {
144
+ if (e.key === "Escape") {
145
+ var _this$lockedCell$;
146
+ (_this$lockedCell$ = _this.lockedCell[0]) === null || _this$lockedCell$ === void 0 ? void 0 : _this$lockedCell$.focus();
147
+ _this.lockedCell[1] = false;
148
+ }
149
+ if (e.key.startsWith("Arrow")) {
150
+ e.stopPropagation();
151
+ }
152
+ if (e.key === "Tab") {
153
+ if (e.target === focusableChildren[0] && e.shiftKey) {
154
+ var _focusableChildren;
155
+ (_focusableChildren = focusableChildren[focusableChildren.length - 1]) === null || _focusableChildren === void 0 ? void 0 : _focusableChildren.focus();
156
+ e.preventDefault();
157
+ } else if (e.target === focusableChildren[focusableChildren.length - 1] && !e.shiftKey) {
158
+ var _focusableChildren$;
159
+ (_focusableChildren$ = focusableChildren[0]) === null || _focusableChildren$ === void 0 ? void 0 : _focusableChildren$.focus();
160
+ e.preventDefault();
161
+ }
162
+ e.stopPropagation();
163
+ }
164
+ } else if (e.key === "Enter") {
165
+ var _focusableChildren$2;
166
+ _this.lockedCell[1] = true;
167
+ (_focusableChildren$2 = focusableChildren[0]) === null || _focusableChildren$2 === void 0 ? void 0 : _focusableChildren$2.focus();
168
+ } else if (e.key === "Tab") {
169
+ var _this$lockedCell$2;
170
+ (_this$lockedCell$2 = _this.lockedCell[0]) === null || _this$lockedCell$2 === void 0 ? void 0 : _this$lockedCell$2.setAttribute("inert", "");
171
+ }
172
+ }
173
+ });
174
+ _defineProperty(_assertThisInitialized(_this), "handleFocusCell", function(e) {
175
+ var cellElement = e.currentTarget;
176
+ var target = e.target;
177
+ _this.setState({
178
+ sortVisible: true
179
+ }, function() {
180
+ if (target === cellElement) {
181
+ var focusableChildren = Array.from(cellElement.children).flatMap(function(node) {
182
+ return getFocusableIn(node);
183
+ });
184
+ if (focusableChildren.length === 1) {
185
+ focusableChildren[0].focus();
186
+ } else if (focusableChildren.length > 1) {
187
+ _this.lockedCell = [cellElement, false];
188
+ }
189
+ }
190
+ });
191
+ var tableElement = _this.asProps.tableRef.current;
192
+ if (tableElement) {
193
+ tableElement.scrollIntoView({});
194
+ }
195
+ });
196
+ return _this;
197
+ }
198
+ _createClass(Column2, [{
199
+ key: "componentDidMount",
200
+ value: function componentDidMount() {
201
+ if (this.asProps.parent && this.asProps.sticky) {
202
+ var _columnElement$parent;
203
+ var columnElement = this.columnRef.current;
204
+ var groupElement = columnElement === null || columnElement === void 0 ? void 0 : (_columnElement$parent = columnElement.parentElement) === null || _columnElement$parent === void 0 ? void 0 : _columnElement$parent.children.item(0);
205
+ var groupHeight = groupElement === null || groupElement === void 0 ? void 0 : groupElement.getBoundingClientRect().height;
206
+ if (groupHeight) {
207
+ columnElement === null || columnElement === void 0 ? void 0 : columnElement.style.setProperty("top", "".concat(groupHeight, "px"));
208
+ }
209
+ }
210
+ }
211
+ }, {
212
+ key: "componentDidUpdate",
213
+ value: function componentDidUpdate(prevProps) {
214
+ var _prevProps$sort, _this$asProps$sort;
215
+ if (this.asProps.changeSortSize && canUseDOM() && ((_prevProps$sort = prevProps.sort) === null || _prevProps$sort === void 0 ? void 0 : _prevProps$sort[0]) !== ((_this$asProps$sort = this.asProps.sort) === null || _this$asProps$sort === void 0 ? void 0 : _this$asProps$sort[0])) {
216
+ var _this$asProps$sort2, _this$asProps$sort3;
217
+ var _this$asProps2 = this.asProps, tableRef = _this$asProps2.tableRef, gridTemplateColumns = _this$asProps2.gridTemplateColumns, columnIndex = _this$asProps2.columnIndex;
218
+ if (((_this$asProps$sort2 = this.asProps.sort) === null || _this$asProps$sort2 === void 0 ? void 0 : _this$asProps$sort2[0]) === this.asProps.name) {
219
+ var newWidth = this.calculateActiveColumnMinWidth();
220
+ setTimeout(function() {
221
+ if (tableRef.current && newWidth !== null) {
222
+ tableRef.current.style.setProperty("grid-template-columns", gridTemplateColumns.map(function(gtcWidth, index) {
223
+ if (index === columnIndex) {
224
+ return "".concat(newWidth, "px");
225
+ }
226
+ return gtcWidth;
227
+ }).join(" "));
228
+ }
229
+ });
230
+ } else if (((_this$asProps$sort3 = this.asProps.sort) === null || _this$asProps$sort3 === void 0 ? void 0 : _this$asProps$sort3[0]) !== this.asProps.name) {
231
+ setTimeout(function() {
232
+ if (tableRef.current) {
233
+ tableRef.current.style.setProperty("grid-template-columns", gridTemplateColumns.join(" "));
234
+ }
235
+ });
236
+ }
237
+ }
238
+ }
239
+ }, {
240
+ key: "defaultDirection",
241
+ get: function get() {
242
+ var sortable = this.asProps.sortable;
243
+ if (typeof sortable === "string") {
244
+ return sortable;
245
+ }
246
+ return DEFAULT_DIRECTION;
247
+ }
248
+ }, {
249
+ key: "render",
250
+ value: function render() {
251
+ var _ref = this.asProps, _ref2;
252
+ var SColumn = Flex;
253
+ var SSortWrapper = "div";
254
+ var SSortButton = ButtonLink;
255
+ var _this$asProps3 = this.asProps, styles = _this$asProps3.styles, sortable = _this$asProps3.sortable, sort = _this$asProps3.sort, uid = _this$asProps3.uid, name = _this$asProps3.name, parent = _this$asProps3.parent, sortableColumnDescribeId = _this$asProps3.sortableColumnDescribeId, Children = _this$asProps3.Children;
256
+ var SSortIcon = sort && sort[0] === name ? SORTING_ICON[sort[1]] : SORTING_ICON[this.defaultDirection];
257
+ var isSorted = (sort === null || sort === void 0 ? void 0 : sort[0]) === name;
258
+ var visibleSort = Boolean(sortable) && (this.state.sortVisible || isSorted);
259
+ var ariaDescribedBy = [];
260
+ if (isSorted) {
261
+ ariaDescribedBy.push(sortableColumnDescribeId);
262
+ }
263
+ if (parent) {
264
+ ariaDescribedBy.push("igc-table-".concat(uid, "-").concat(parent.name, "-group"));
265
+ }
266
+ var ariaSortValue = sort !== null && sort !== void 0 && sort[1] ? ARIA_SORT[sort[1]] : void 0;
267
+ return _ref2 = sstyled(styles), /* @__PURE__ */ React.createElement(SColumn, _ref2.cn("SColumn", _objectSpread({}, assignProps({
268
+ "ref": this.columnRef,
269
+ "role": "columnheader",
270
+ "tabIndex": -1,
271
+ "onMouseEnter": this.handleMouseEnter,
272
+ "onMouseLeave": this.handleMouseLeave,
273
+ "onFocus": this.handleFocusCell,
274
+ "onBlur": this.handleBlur,
275
+ "onKeyDown": this.handleKeyDown,
276
+ "visibleSort": visibleSort,
277
+ "isSorted": isSorted,
278
+ "innerOutline": true,
279
+ "aria-describedby": ariaDescribedBy.length > 0 ? ariaDescribedBy.join(" ") : void 0,
280
+ "aria-sort": ariaSortValue,
281
+ "onClick": sortable ? this.handleSortClick : void 0
282
+ }, _ref))), /* @__PURE__ */ React.createElement(Children, _ref2.cn("Children", {})), sortable && /* @__PURE__ */ React.createElement(SSortWrapper, _ref2.cn("SSortWrapper", {
283
+ "ref": this.sortWrapperRef
284
+ }), /* @__PURE__ */ React.createElement(SSortButton, _ref2.cn("SSortButton", {
285
+ "onClick": this.handleSortClick,
286
+ "aria-label": ariaSortValue,
287
+ "color": "--intergalactic-icon-primary-neutral"
288
+ }), /* @__PURE__ */ React.createElement(SSortButton.Addon, {
289
+ tag: SSortIcon
290
+ }))));
291
+ }
292
+ }]);
293
+ return Column2;
294
+ }(Component);
295
+ _defineProperty(Column, "displayName", "Column");
296
+ _defineProperty(Column, "style", style);
297
+ export {
298
+ Column
299
+ };
@@ -0,0 +1,102 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
3
+ import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
4
+ import _createClass from "@babel/runtime/helpers/esm/createClass";
5
+ import _inherits from "@babel/runtime/helpers/esm/inherits";
6
+ import _createSuper from "@babel/runtime/helpers/esm/createSuper";
7
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
8
+ import { sstyled, assignProps, Component } from "@semcore/core";
9
+ import * as React from "react";
10
+ import { Box } from "@semcore/base-components";
11
+ import getOriginChildren from "@semcore/core/lib/utils/getOriginChildren";
12
+ import { DataTable } from "../DataTable/DataTable.mjs";
13
+ import uniqueIDEnhancement from "@semcore/core/lib/utils/uniqueID";
14
+ /*!__reshadow-styles__:"./style.shadow.css"*/
15
+ var style = (
16
+ /*__reshadow_css_start__*/
17
+ (sstyled.insert(
18
+ /*__inner_css_start__*/
19
+ '.___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)}',
20
+ /*__inner_css_end__*/
21
+ "13xrb_gg_"
22
+ ), /*__reshadow_css_end__*/
23
+ {
24
+ "__SHead": "___SHead_13xrb_gg_",
25
+ "__SGroupContainer": "___SGroupContainer_13xrb_gg_",
26
+ "_sticky": "__sticky_13xrb_gg_",
27
+ "__SColumn": "___SColumn_13xrb_gg_",
28
+ "__SGroup": "___SGroup_13xrb_gg_",
29
+ "_compact": "__compact_13xrb_gg_",
30
+ "_use_secondary": "_use_secondary_13xrb_gg_",
31
+ "_borders_both": "_borders_both_13xrb_gg_",
32
+ "_borders_left": "_borders_left_13xrb_gg_",
33
+ "_borders_right": "_borders_right_13xrb_gg_",
34
+ "_gridArea": "__gridArea_13xrb_gg_",
35
+ "__SGroupTitle": "___SGroupTitle_13xrb_gg_",
36
+ "--gridArea": "--gridArea_13xrb",
37
+ "_fixed": "__fixed_13xrb_gg_",
38
+ "_sortable": "__sortable_13xrb_gg_",
39
+ "__SSortWrapper": "___SSortWrapper_13xrb_gg_",
40
+ "__SSortButton": "___SSortButton_13xrb_gg_",
41
+ "_use_primary": "_use_primary_13xrb_gg_",
42
+ "_visibleSort": "__visibleSort_13xrb_gg_",
43
+ "_sideIndents_l": "_sideIndents_l_13xrb_gg_"
44
+ })
45
+ );
46
+ var Group = /* @__PURE__ */ function(_Component) {
47
+ _inherits(Group2, _Component);
48
+ var _super = _createSuper(Group2);
49
+ function Group2() {
50
+ _classCallCheck(this, Group2);
51
+ return _super.apply(this, arguments);
52
+ }
53
+ _createClass(Group2, [{
54
+ key: "componentDidMount",
55
+ value: function componentDidMount() {
56
+ this.forceUpdate();
57
+ }
58
+ }, {
59
+ key: "groupId",
60
+ get: function get() {
61
+ var uid = this.asProps.uid;
62
+ return "".concat(uid, "_columns_group");
63
+ }
64
+ }, {
65
+ key: "render",
66
+ value: function render() {
67
+ var _ref = this.asProps, _ref2, _groupColumns$, _children$, _groupColumns, _children, _this = this;
68
+ var SGroupContainer = Box;
69
+ var SGroup = Box;
70
+ var _this$asProps = this.asProps, styles = _this$asProps.styles, Children = _this$asProps.Children, title = _this$asProps.title, fixed = _this$asProps.fixed, fixedColumnsMap = _this$asProps.fixedColumnsMap, columns = _this$asProps.columns, withConfig = _this$asProps.withConfig;
71
+ var groupColumns = columns !== null && columns !== void 0 ? columns : [];
72
+ var children = getOriginChildren(Children);
73
+ 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;
74
+ 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;
75
+ var style2 = {};
76
+ if (fixed === "left" && firstName) {
77
+ style2.left = fixedColumnsMap.get(firstName);
78
+ }
79
+ if (fixed === "right") {
80
+ style2.right = fixedColumnsMap.get(lastName);
81
+ }
82
+ return _ref2 = sstyled(styles), /* @__PURE__ */ React.createElement(SGroupContainer, _ref2.cn("SGroupContainer", {}), /* @__PURE__ */ React.createElement(SGroup, _ref2.cn("SGroup", _objectSpread({}, assignProps({
83
+ "style": style2,
84
+ "__excludeProps": ["title"],
85
+ "id": this.groupId
86
+ }, _ref))), withConfig ? children : title), withConfig ? groupColumns.map(function(column, i) {
87
+ return /* @__PURE__ */ React.createElement(DataTable.Head.Column, _extends({
88
+ key: column.name
89
+ }, column, {
90
+ "aria-describedby": _this.groupId
91
+ }));
92
+ }) : /* @__PURE__ */ React.createElement(Children, _ref2.cn("Children", {})));
93
+ }
94
+ }]);
95
+ return Group2;
96
+ }(Component);
97
+ _defineProperty(Group, "displayName", "Group");
98
+ _defineProperty(Group, "style", style);
99
+ _defineProperty(Group, "enhance", [uniqueIDEnhancement()]);
100
+ export {
101
+ Group
102
+ };
@@ -0,0 +1,180 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
3
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
4
+ import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
5
+ import _createClass from "@babel/runtime/helpers/esm/createClass";
6
+ import _assertThisInitialized from "@babel/runtime/helpers/esm/assertThisInitialized";
7
+ import _inherits from "@babel/runtime/helpers/esm/inherits";
8
+ import _createSuper from "@babel/runtime/helpers/esm/createSuper";
9
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
10
+ import { sstyled, createComponent, assignProps, Component } from "@semcore/core";
11
+ import * as React from "react";
12
+ import { ScreenReaderOnly, Box } from "@semcore/base-components";
13
+ import { Column } from "./Column.mjs";
14
+ import { Group } from "./Group.mjs";
15
+ import { getFixedStyle } from "../../utils.mjs";
16
+ import { SELECT_ALL, DataTable } from "../DataTable/DataTable.mjs";
17
+ import Checkbox from "@semcore/checkbox";
18
+ /*!__reshadow-styles__:"./style.shadow.css"*/
19
+ var style = (
20
+ /*__reshadow_css_start__*/
21
+ (sstyled.insert(
22
+ /*__inner_css_start__*/
23
+ '.___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)}',
24
+ /*__inner_css_end__*/
25
+ "13xrb_gg_"
26
+ ), /*__reshadow_css_end__*/
27
+ {
28
+ "__SHead": "___SHead_13xrb_gg_",
29
+ "__SGroupContainer": "___SGroupContainer_13xrb_gg_",
30
+ "_sticky": "__sticky_13xrb_gg_",
31
+ "__SColumn": "___SColumn_13xrb_gg_",
32
+ "__SGroup": "___SGroup_13xrb_gg_",
33
+ "_compact": "__compact_13xrb_gg_",
34
+ "_use_secondary": "_use_secondary_13xrb_gg_",
35
+ "_borders_both": "_borders_both_13xrb_gg_",
36
+ "_borders_left": "_borders_left_13xrb_gg_",
37
+ "_borders_right": "_borders_right_13xrb_gg_",
38
+ "_gridArea": "__gridArea_13xrb_gg_",
39
+ "__SGroupTitle": "___SGroupTitle_13xrb_gg_",
40
+ "--gridArea": "--gridArea_13xrb",
41
+ "_fixed": "__fixed_13xrb_gg_",
42
+ "_sortable": "__sortable_13xrb_gg_",
43
+ "__SSortWrapper": "___SSortWrapper_13xrb_gg_",
44
+ "__SSortButton": "___SSortButton_13xrb_gg_",
45
+ "_use_primary": "_use_primary_13xrb_gg_",
46
+ "_visibleSort": "__visibleSort_13xrb_gg_",
47
+ "_sideIndents_l": "_sideIndents_l_13xrb_gg_"
48
+ })
49
+ );
50
+ var HeadRoot = /* @__PURE__ */ function(_Component) {
51
+ _inherits(HeadRoot2, _Component);
52
+ var _super = _createSuper(HeadRoot2);
53
+ function HeadRoot2() {
54
+ var _this;
55
+ _classCallCheck(this, HeadRoot2);
56
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
57
+ args[_key] = arguments[_key];
58
+ }
59
+ _this = _super.call.apply(_super, [this].concat(args));
60
+ _defineProperty(_assertThisInitialized(_this), "fixedColumnsMap", /* @__PURE__ */ new Map());
61
+ _defineProperty(_assertThisInitialized(_this), "handleSelectAll", function(value) {
62
+ return function(event) {
63
+ var _this$asProps$onChang, _this$asProps;
64
+ event === null || event === void 0 ? void 0 : event.preventDefault();
65
+ (_this$asProps$onChang = (_this$asProps = _this.asProps).onChangeSelectAll) === null || _this$asProps$onChang === void 0 ? void 0 : _this$asProps$onChang.call(_this$asProps, value, event);
66
+ };
67
+ });
68
+ return _this;
69
+ }
70
+ _createClass(HeadRoot2, [{
71
+ key: "sortableColumnDescribeId",
72
+ value: function sortableColumnDescribeId() {
73
+ var uid = this.asProps.uid;
74
+ return "".concat(uid, "-column-sortable-describer");
75
+ }
76
+ }, {
77
+ key: "getGroupProps",
78
+ value: function getGroupProps(_, index) {
79
+ var _this$asProps2 = this.asProps, use = _this$asProps2.use, gridAreaGroupMap = _this$asProps2.gridAreaGroupMap, children = _this$asProps2.children;
80
+ return {
81
+ use,
82
+ gridArea: gridAreaGroupMap.get(index),
83
+ fixedColumnsMap: this.fixedColumnsMap,
84
+ withConfig: children === void 0
85
+ };
86
+ }
87
+ }, {
88
+ key: "getColumnProps",
89
+ value: function getColumnProps(_, index) {
90
+ var _this$asProps3 = this.asProps, use = _this$asProps3.use, columns = _this$asProps3.columns, sort = _this$asProps3.sort, onSortChange = _this$asProps3.onSortChange, tableRef = _this$asProps3.tableRef, gridTemplateColumns = _this$asProps3.gridTemplateColumns, gridTemplateAreas = _this$asProps3.gridTemplateAreas, sticky = _this$asProps3.sticky, top = _this$asProps3.top, selectedRows = _this$asProps3.selectedRows;
91
+ var column = columns[index];
92
+ if (index === 0 && selectedRows && columns[index + 1].fixed) {
93
+ column.fixed = "left";
94
+ }
95
+ var _getFixedStyle = getFixedStyle(column, columns), _getFixedStyle2 = _slicedToArray(_getFixedStyle, 2), name = _getFixedStyle2[0], value = _getFixedStyle2[1];
96
+ var style2 = {};
97
+ if (top) {
98
+ style2.top = "".concat(top, "px");
99
+ }
100
+ if (name !== void 0 && value !== void 0) {
101
+ style2[name] = value;
102
+ this.fixedColumnsMap.set(column.name, value);
103
+ }
104
+ return {
105
+ use,
106
+ "aria-colindex": index + 1,
107
+ ref: function ref(node) {
108
+ var _column$ref;
109
+ return (_column$ref = column.ref) === null || _column$ref === void 0 ? void 0 : _column$ref.call(column, node);
110
+ },
111
+ style: style2,
112
+ gridArea: column.gridArea,
113
+ fixed: column.fixed,
114
+ sticky,
115
+ borders: column.borders,
116
+ sort,
117
+ onSortChange,
118
+ parent: column.parent,
119
+ sortableColumnDescribeId: this.sortableColumnDescribeId(),
120
+ columnIndex: index,
121
+ tableRef,
122
+ gridTemplateColumns,
123
+ gridTemplateAreas
124
+ };
125
+ }
126
+ }, {
127
+ key: "render",
128
+ value: function render() {
129
+ var _ref = this.asProps, _ref2, _this2 = this;
130
+ var SHead = Box;
131
+ var _this$asProps4 = this.asProps, Children = _this$asProps4.Children, styles = _this$asProps4.styles, getI18nText = _this$asProps4.getI18nText, children = _this$asProps4.children, treeColumns = _this$asProps4.treeColumns, selectedRows = _this$asProps4.selectedRows, totalRows = _this$asProps4.totalRows;
132
+ var checked = selectedRows && selectedRows.length === totalRows && totalRows > 0;
133
+ var indeterminate = selectedRows && selectedRows.length > 0 && !checked;
134
+ return _ref2 = sstyled(styles), /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(SHead, _ref2.cn("SHead", _objectSpread({}, assignProps({
135
+ "role": "row",
136
+ "aria-rowindex": 1
137
+ }, _ref))), selectedRows && /* @__PURE__ */ React.createElement(Head.Column, {
138
+ name: SELECT_ALL.toString(),
139
+ onClick: this.handleSelectAll(!checked)
140
+ }, /* @__PURE__ */ React.createElement(Checkbox, _ref2.cn("Checkbox", {
141
+ "checked": checked,
142
+ "indeterminate": indeterminate,
143
+ "aria-label": getI18nText("DataTable.Header.selectAllCheckbox:aria-label"),
144
+ "onChange": function onChange(value, e) {
145
+ return _this2.handleSelectAll(value)(e);
146
+ }
147
+ }), /* @__PURE__ */ React.createElement(Checkbox.Value, null, /* @__PURE__ */ React.createElement(Checkbox.Value.Control, null), /* @__PURE__ */ React.createElement(Checkbox.Value.CheckMark, {
148
+ mt: 0
149
+ })))), children ? /* @__PURE__ */ React.createElement(Children, _ref2.cn("Children", {})) : /* @__PURE__ */ React.createElement(React.Fragment, null, treeColumns.map(function(column, i) {
150
+ if ("columns" in column) {
151
+ var _column$columns;
152
+ return /* @__PURE__ */ React.createElement(DataTable.Head.Group, _extends({
153
+ key: column.name
154
+ }, column, {
155
+ name: (_column$columns = column.columns) === null || _column$columns === void 0 ? void 0 : _column$columns.map(function(c) {
156
+ return c.name;
157
+ }).join("/"),
158
+ title: ""
159
+ }));
160
+ }
161
+ return /* @__PURE__ */ React.createElement(DataTable.Head.Column, _extends({
162
+ key: column.name
163
+ }, column));
164
+ }))), /* @__PURE__ */ React.createElement(ScreenReaderOnly, _ref2.cn("ScreenReaderOnly", {
165
+ "aria-hidden": true,
166
+ "id": this.sortableColumnDescribeId()
167
+ }), getI18nText("sortableColumn")));
168
+ }
169
+ }]);
170
+ return HeadRoot2;
171
+ }(Component);
172
+ _defineProperty(HeadRoot, "displayName", "Head");
173
+ _defineProperty(HeadRoot, "style", style);
174
+ var Head = createComponent(HeadRoot, {
175
+ Column,
176
+ Group
177
+ });
178
+ export {
179
+ Head
180
+ };