@semcore/data-table 16.0.0-prerelease.7 → 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 @@
1
+ {"version":3,"file":"Column.types.js","names":[],"sources":["../../../../src/components/Head/Column.types.ts"],"sourcesContent":["import {\n ColumnGroupConfig,\n DataTableData,\n DataTableProps,\n DTUse,\n SortDirection,\n} from '../DataTable/DataTable.types';\nimport { Property } from 'csstype';\n\nexport type CommonColumnType = {\n /**\n * Name of column for mapping with data\n */\n name: string;\n /**\n * Flag to define column as sortable\n */\n sortable?: boolean | SortDirection;\n /**\n * Fixes column to some side of table\n */\n fixed?: 'left' | 'right';\n /**\n * Adds vertical border(s)\n */\n borders?: 'both' | 'left' | 'right';\n /**\n * It manages the `flex-wrap` property\n */\n flexWrap?: boolean;\n /**\n * It manages the `align-items` property\n */\n alignItems?: Property.AlignItems;\n /**\n * It manages the `align-content` property\n */\n alignContent?: Property.AlignContent;\n /**\n * CSS `justify-content` property\n */\n justifyContent?: Property.JustifyContent;\n};\n\nexport type DTColumn = CommonColumnType & {\n ref: React.RefCallback<HTMLElement> & { current: HTMLElement | null };\n /**\n * Width for grid-template-columns\n */\n gridColumnWidth: string;\n\n /**\n * Width of column by getBoundaryRect() value\n */\n calculatedWidth: number;\n /**\n * Height of column by getBoundaryRect() value\n */\n calculatedHeight: number;\n\n parent?: DTColumn | ColumnGroupConfig;\n\n columns?: DTColumn[];\n children: React.ReactNode;\n\n gridArea?: string;\n};\n\nexport type DataTableColumnProps = CommonColumnType & {\n /**\n * Value for grid-template-columns for current column\n */\n gtcWidth?: string;\n\n /**\n * Flag for change column size if sorted by it\n */\n changeSortSize?: boolean;\n};\n\nexport type ColumnPropsInner<D extends DataTableData> = {\n use: DTUse;\n borders?: 'both' | 'left' | 'right';\n sort?: DataTableProps<D>['sort'];\n onSortChange?: DataTableProps<D>['onSortChange'];\n uid: string;\n parent?: DTColumn;\n sortableColumnDescribeId: string;\n columnIndex: number;\n tableRef: React.RefObject<HTMLElement>;\n gridTemplateColumns: string[];\n gridTemplateAreas: string[];\n sticky: boolean;\n};\n"],"mappings":""}
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.Group = void 0;
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
12
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
14
+ var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
15
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
+ var _core = require("@semcore/core");
17
+ var React = _interopRequireWildcard(require("react"));
18
+ var _baseComponents = require("@semcore/base-components");
19
+ var _getOriginChildren = _interopRequireDefault(require("@semcore/core/lib/utils/getOriginChildren"));
20
+ var _DataTable = require("../DataTable/DataTable");
21
+ var _uniqueID = _interopRequireDefault(require("@semcore/core/lib/utils/uniqueID"));
22
+ /*!__reshadow-styles__:"./style.shadow.css"*/
23
+ var style = ( /*__reshadow_css_start__*/_core.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_"),
24
+ /*__reshadow_css_end__*/
25
+ {
26
+ "__SHead": "___SHead_13xrb_gg_",
27
+ "__SGroupContainer": "___SGroupContainer_13xrb_gg_",
28
+ "_sticky": "__sticky_13xrb_gg_",
29
+ "__SColumn": "___SColumn_13xrb_gg_",
30
+ "__SGroup": "___SGroup_13xrb_gg_",
31
+ "_compact": "__compact_13xrb_gg_",
32
+ "_use_secondary": "_use_secondary_13xrb_gg_",
33
+ "_borders_both": "_borders_both_13xrb_gg_",
34
+ "_borders_left": "_borders_left_13xrb_gg_",
35
+ "_borders_right": "_borders_right_13xrb_gg_",
36
+ "_gridArea": "__gridArea_13xrb_gg_",
37
+ "__SGroupTitle": "___SGroupTitle_13xrb_gg_",
38
+ "--gridArea": "--gridArea_13xrb",
39
+ "_fixed": "__fixed_13xrb_gg_",
40
+ "_sortable": "__sortable_13xrb_gg_",
41
+ "__SSortWrapper": "___SSortWrapper_13xrb_gg_",
42
+ "__SSortButton": "___SSortButton_13xrb_gg_",
43
+ "_use_primary": "_use_primary_13xrb_gg_",
44
+ "_visibleSort": "__visibleSort_13xrb_gg_",
45
+ "_sideIndents_l": "_sideIndents_l_13xrb_gg_"
46
+ });
47
+ var Group = /*#__PURE__*/function (_Component) {
48
+ (0, _inherits2["default"])(Group, _Component);
49
+ var _super = (0, _createSuper2["default"])(Group);
50
+ function Group() {
51
+ (0, _classCallCheck2["default"])(this, Group);
52
+ return _super.apply(this, arguments);
53
+ }
54
+ (0, _createClass2["default"])(Group, [{
55
+ key: "componentDidMount",
56
+ value: function componentDidMount() {
57
+ this.forceUpdate();
58
+ }
59
+ }, {
60
+ key: "groupId",
61
+ get: function get() {
62
+ var uid = this.asProps.uid;
63
+ return "".concat(uid, "_columns_group");
64
+ }
65
+ }, {
66
+ key: "render",
67
+ value: function render() {
68
+ var _ref = this.asProps,
69
+ _ref2,
70
+ _groupColumns$,
71
+ _children$,
72
+ _groupColumns,
73
+ _children,
74
+ _this = this;
75
+ var SGroupContainer = _baseComponents.Box;
76
+ var SGroup = _baseComponents.Box;
77
+ var _this$asProps = this.asProps,
78
+ styles = _this$asProps.styles,
79
+ Children = _this$asProps.Children,
80
+ title = _this$asProps.title,
81
+ fixed = _this$asProps.fixed,
82
+ fixedColumnsMap = _this$asProps.fixedColumnsMap,
83
+ columns = _this$asProps.columns,
84
+ withConfig = _this$asProps.withConfig;
85
+ var groupColumns = columns !== null && columns !== void 0 ? columns : [];
86
+ var children = (0, _getOriginChildren["default"])(Children);
87
+ 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;
88
+ 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;
89
+ var style = {};
90
+ if (fixed === 'left' && firstName) {
91
+ style.left = fixedColumnsMap.get(firstName);
92
+ }
93
+ if (fixed === 'right') {
94
+ style.right = fixedColumnsMap.get(lastName);
95
+ }
96
+ return _ref2 = (0, _core.sstyled)(styles), /*#__PURE__*/React.createElement(SGroupContainer, _ref2.cn("SGroupContainer", {}), /*#__PURE__*/React.createElement(SGroup, _ref2.cn("SGroup", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
97
+ "style": style,
98
+ "__excludeProps": ['title'],
99
+ "id": this.groupId
100
+ }, _ref))), withConfig ? children : title), withConfig ? groupColumns.map(function (column, i) {
101
+ return /*#__PURE__*/React.createElement(_DataTable.DataTable.Head.Column, (0, _extends2["default"])({
102
+ key: column.name
103
+ }, column, {
104
+ "aria-describedby": _this.groupId
105
+ }));
106
+ }) : /*#__PURE__*/React.createElement(Children, _ref2.cn("Children", {})));
107
+ }
108
+ }]);
109
+ return Group;
110
+ }(_core.Component);
111
+ exports.Group = Group;
112
+ (0, _defineProperty2["default"])(Group, "displayName", 'Group');
113
+ (0, _defineProperty2["default"])(Group, "style", style);
114
+ (0, _defineProperty2["default"])(Group, "enhance", [(0, _uniqueID["default"])()]);
115
+ //# sourceMappingURL=Group.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Group.js","names":["_core","require","React","_interopRequireWildcard","_baseComponents","_getOriginChildren","_interopRequireDefault","_DataTable","_uniqueID","style","sstyled","insert","Group","_Component","_inherits2","_super","_createSuper2","_classCallCheck2","apply","arguments","_createClass2","key","value","componentDidMount","forceUpdate","get","uid","asProps","concat","render","_ref","_ref2","_groupColumns$","_children$","_groupColumns","_children","_this","SGroupContainer","Box","SGroup","_this$asProps","styles","Children","title","fixed","fixedColumnsMap","columns","withConfig","groupColumns","children","getOriginChildren","firstName","name","props","lastName","length","left","right","createElement","cn","_objectSpread2","assignProps","groupId","map","column","i","DataTable","Head","Column","_extends2","Component","exports","_defineProperty2","uniqueIDEnhancement"],"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
+ "use strict";
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,205 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.Head = void 0;
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
11
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
12
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
14
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
15
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
16
+ var _createSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/createSuper"));
17
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
18
+ var _core = require("@semcore/core");
19
+ var React = _interopRequireWildcard(require("react"));
20
+ var _baseComponents = require("@semcore/base-components");
21
+ var _Column = require("./Column");
22
+ var _Group = require("./Group");
23
+ var _utils = require("../../utils");
24
+ var _DataTable = require("../DataTable/DataTable");
25
+ var _checkbox = _interopRequireDefault(require("@semcore/checkbox"));
26
+ /*!__reshadow-styles__:"./style.shadow.css"*/
27
+ var style = ( /*__reshadow_css_start__*/_core.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_"),
28
+ /*__reshadow_css_end__*/
29
+ {
30
+ "__SHead": "___SHead_13xrb_gg_",
31
+ "__SGroupContainer": "___SGroupContainer_13xrb_gg_",
32
+ "_sticky": "__sticky_13xrb_gg_",
33
+ "__SColumn": "___SColumn_13xrb_gg_",
34
+ "__SGroup": "___SGroup_13xrb_gg_",
35
+ "_compact": "__compact_13xrb_gg_",
36
+ "_use_secondary": "_use_secondary_13xrb_gg_",
37
+ "_borders_both": "_borders_both_13xrb_gg_",
38
+ "_borders_left": "_borders_left_13xrb_gg_",
39
+ "_borders_right": "_borders_right_13xrb_gg_",
40
+ "_gridArea": "__gridArea_13xrb_gg_",
41
+ "__SGroupTitle": "___SGroupTitle_13xrb_gg_",
42
+ "--gridArea": "--gridArea_13xrb",
43
+ "_fixed": "__fixed_13xrb_gg_",
44
+ "_sortable": "__sortable_13xrb_gg_",
45
+ "__SSortWrapper": "___SSortWrapper_13xrb_gg_",
46
+ "__SSortButton": "___SSortButton_13xrb_gg_",
47
+ "_use_primary": "_use_primary_13xrb_gg_",
48
+ "_visibleSort": "__visibleSort_13xrb_gg_",
49
+ "_sideIndents_l": "_sideIndents_l_13xrb_gg_"
50
+ });
51
+ var HeadRoot = /*#__PURE__*/function (_Component) {
52
+ (0, _inherits2["default"])(HeadRoot, _Component);
53
+ var _super = (0, _createSuper2["default"])(HeadRoot);
54
+ function HeadRoot() {
55
+ var _this;
56
+ (0, _classCallCheck2["default"])(this, HeadRoot);
57
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
58
+ args[_key] = arguments[_key];
59
+ }
60
+ _this = _super.call.apply(_super, [this].concat(args));
61
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "fixedColumnsMap", new Map());
62
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleSelectAll", function (value) {
63
+ return function (event) {
64
+ var _this$asProps$onChang, _this$asProps;
65
+ event === null || event === void 0 ? void 0 : event.preventDefault();
66
+ (_this$asProps$onChang = (_this$asProps = _this.asProps).onChangeSelectAll) === null || _this$asProps$onChang === void 0 ? void 0 : _this$asProps$onChang.call(_this$asProps, value, event);
67
+ };
68
+ });
69
+ return _this;
70
+ }
71
+ (0, _createClass2["default"])(HeadRoot, [{
72
+ key: "sortableColumnDescribeId",
73
+ value: function sortableColumnDescribeId() {
74
+ var uid = this.asProps.uid;
75
+ return "".concat(uid, "-column-sortable-describer");
76
+ }
77
+ }, {
78
+ key: "getGroupProps",
79
+ value: function getGroupProps(_, index) {
80
+ var _this$asProps2 = this.asProps,
81
+ use = _this$asProps2.use,
82
+ gridAreaGroupMap = _this$asProps2.gridAreaGroupMap,
83
+ children = _this$asProps2.children;
84
+ return {
85
+ use: use,
86
+ gridArea: gridAreaGroupMap.get(index),
87
+ fixedColumnsMap: this.fixedColumnsMap,
88
+ withConfig: children === undefined
89
+ };
90
+ }
91
+ }, {
92
+ key: "getColumnProps",
93
+ value: function getColumnProps(_, index) {
94
+ var _this$asProps3 = this.asProps,
95
+ use = _this$asProps3.use,
96
+ columns = _this$asProps3.columns,
97
+ sort = _this$asProps3.sort,
98
+ onSortChange = _this$asProps3.onSortChange,
99
+ tableRef = _this$asProps3.tableRef,
100
+ gridTemplateColumns = _this$asProps3.gridTemplateColumns,
101
+ gridTemplateAreas = _this$asProps3.gridTemplateAreas,
102
+ sticky = _this$asProps3.sticky,
103
+ top = _this$asProps3.top,
104
+ selectedRows = _this$asProps3.selectedRows;
105
+ var column = columns[index];
106
+ if (index === 0 && selectedRows && columns[index + 1].fixed) {
107
+ column.fixed = 'left';
108
+ }
109
+ var _getFixedStyle = (0, _utils.getFixedStyle)(column, columns),
110
+ _getFixedStyle2 = (0, _slicedToArray2["default"])(_getFixedStyle, 2),
111
+ name = _getFixedStyle2[0],
112
+ value = _getFixedStyle2[1];
113
+ var style = {};
114
+ if (top) {
115
+ style.top = "".concat(top, "px");
116
+ }
117
+ if (name !== undefined && value !== undefined) {
118
+ style[name] = value;
119
+ this.fixedColumnsMap.set(column.name, value);
120
+ }
121
+ return {
122
+ use: use,
123
+ 'aria-colindex': index + 1,
124
+ ref: function ref(node) {
125
+ var _column$ref;
126
+ return (_column$ref = column.ref) === null || _column$ref === void 0 ? void 0 : _column$ref.call(column, node);
127
+ },
128
+ style: style,
129
+ gridArea: column.gridArea,
130
+ fixed: column.fixed,
131
+ sticky: sticky,
132
+ borders: column.borders,
133
+ sort: sort,
134
+ onSortChange: onSortChange,
135
+ parent: column.parent,
136
+ sortableColumnDescribeId: this.sortableColumnDescribeId(),
137
+ columnIndex: index,
138
+ tableRef: tableRef,
139
+ gridTemplateColumns: gridTemplateColumns,
140
+ gridTemplateAreas: gridTemplateAreas
141
+ };
142
+ }
143
+ }, {
144
+ key: "render",
145
+ value: function render() {
146
+ var _ref = this.asProps,
147
+ _ref2,
148
+ _this2 = this;
149
+ var SHead = _baseComponents.Box;
150
+ var _this$asProps4 = this.asProps,
151
+ Children = _this$asProps4.Children,
152
+ styles = _this$asProps4.styles,
153
+ getI18nText = _this$asProps4.getI18nText,
154
+ children = _this$asProps4.children,
155
+ treeColumns = _this$asProps4.treeColumns,
156
+ selectedRows = _this$asProps4.selectedRows,
157
+ totalRows = _this$asProps4.totalRows;
158
+ var checked = selectedRows && selectedRows.length === totalRows && totalRows > 0;
159
+ var indeterminate = selectedRows && selectedRows.length > 0 && !checked;
160
+ return _ref2 = (0, _core.sstyled)(styles), /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(SHead, _ref2.cn("SHead", (0, _objectSpread2["default"])({}, (0, _core.assignProps)({
161
+ "role": 'row',
162
+ "aria-rowindex": 1
163
+ }, _ref))), selectedRows && /*#__PURE__*/React.createElement(Head.Column, {
164
+ name: _DataTable.SELECT_ALL.toString(),
165
+ onClick: this.handleSelectAll(!checked)
166
+ }, /*#__PURE__*/React.createElement(_checkbox["default"], _ref2.cn("Checkbox", {
167
+ "checked": checked,
168
+ "indeterminate": indeterminate,
169
+ "aria-label": getI18nText('DataTable.Header.selectAllCheckbox:aria-label'),
170
+ "onChange": function onChange(value, e) {
171
+ return _this2.handleSelectAll(value)(e);
172
+ }
173
+ }), /*#__PURE__*/React.createElement(_checkbox["default"].Value, null, /*#__PURE__*/React.createElement(_checkbox["default"].Value.Control, null), /*#__PURE__*/React.createElement(_checkbox["default"].Value.CheckMark, {
174
+ mt: 0
175
+ })))), children ? /*#__PURE__*/React.createElement(Children, _ref2.cn("Children", {})) : /*#__PURE__*/React.createElement(React.Fragment, null, treeColumns.map(function (column, i) {
176
+ if ('columns' in column) {
177
+ var _column$columns;
178
+ return /*#__PURE__*/React.createElement(_DataTable.DataTable.Head.Group, (0, _extends2["default"])({
179
+ key: column.name
180
+ }, column, {
181
+ name: (_column$columns = column.columns) === null || _column$columns === void 0 ? void 0 : _column$columns.map(function (c) {
182
+ return c.name;
183
+ }).join('/'),
184
+ title: ''
185
+ }));
186
+ }
187
+ return /*#__PURE__*/React.createElement(_DataTable.DataTable.Head.Column, (0, _extends2["default"])({
188
+ key: column.name
189
+ }, column));
190
+ }))), /*#__PURE__*/React.createElement(_baseComponents.ScreenReaderOnly, _ref2.cn("ScreenReaderOnly", {
191
+ "aria-hidden": true,
192
+ "id": this.sortableColumnDescribeId()
193
+ }), getI18nText('sortableColumn')));
194
+ }
195
+ }]);
196
+ return HeadRoot;
197
+ }(_core.Component);
198
+ (0, _defineProperty2["default"])(HeadRoot, "displayName", 'Head');
199
+ (0, _defineProperty2["default"])(HeadRoot, "style", style);
200
+ var Head = (0, _core.createComponent)(HeadRoot, {
201
+ Column: _Column.Column,
202
+ Group: _Group.Group
203
+ });
204
+ exports.Head = Head;
205
+ //# sourceMappingURL=Head.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Head.js","names":["_core","require","React","_interopRequireWildcard","_baseComponents","_Column","_Group","_utils","_DataTable","_checkbox","_interopRequireDefault","style","sstyled","insert","HeadRoot","_Component","_inherits2","_super","_createSuper2","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","call","apply","concat","_defineProperty2","_assertThisInitialized2","Map","value","event","_this$asProps$onChang","_this$asProps","preventDefault","asProps","onChangeSelectAll","_createClass2","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","getFixedStyle","_getFixedStyle2","_slicedToArray2","name","set","ref","node","_column$ref","borders","parent","columnIndex","render","_ref","_ref2","_this2","SHead","Box","_this$asProps4","Children","styles","getI18nText","treeColumns","totalRows","checked","indeterminate","createElement","Fragment","cn","_objectSpread2","assignProps","Head","Column","SELECT_ALL","toString","onClick","handleSelectAll","onChange","e","Value","Control","CheckMark","mt","map","i","_column$columns","DataTable","Group","_extends2","c","join","title","ScreenReaderOnly","Component","createComponent","exports"],"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
+ "use strict";
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/cjs/index.js CHANGED
@@ -1,26 +1,36 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
- var _exportNames = {};
8
- Object.defineProperty(exports, "default", {
6
+ Object.defineProperty(exports, "ACCORDION", {
9
7
  enumerable: true,
10
8
  get: function get() {
11
- return _DataTable["default"];
9
+ return _DataTable.ACCORDION;
12
10
  }
13
11
  });
14
- var _DataTable = _interopRequireWildcard(require("./DataTable"));
15
- Object.keys(_DataTable).forEach(function (key) {
16
- if (key === "default" || key === "__esModule") return;
17
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
18
- if (key in exports && exports[key] === _DataTable[key]) return;
19
- Object.defineProperty(exports, key, {
20
- enumerable: true,
21
- get: function get() {
22
- return _DataTable[key];
23
- }
24
- });
12
+ Object.defineProperty(exports, "DataTable", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _DataTable.DataTable;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "ROW_GROUP", {
19
+ enumerable: true,
20
+ get: function get() {
21
+ return _DataTable.ROW_GROUP;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "UNIQ_ROW_KEY", {
25
+ enumerable: true,
26
+ get: function get() {
27
+ return _DataTable.UNIQ_ROW_KEY;
28
+ }
25
29
  });
30
+ exports.wrapDataTable = void 0;
31
+ var _DataTable = require("./components/DataTable/DataTable");
32
+ var wrapDataTable = function wrapDataTable(wrapper) {
33
+ return wrapper;
34
+ };
35
+ exports.wrapDataTable = wrapDataTable;
26
36
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_DataTable","_interopRequireWildcard","require","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get"],"sources":["../../src/index.ts"],"sourcesContent":["export { default } from './DataTable';\nexport * from './DataTable';\n"],"mappings":";;;;;;;;;;;;;AAAA,IAAAA,UAAA,GAAAC,uBAAA,CAAAC,OAAA;AACAC,MAAA,CAAAC,IAAA,CAAAJ,UAAA,EAAAK,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAN,UAAA,CAAAM,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,IAAA;MAAA,OAAAd,UAAA,CAAAM,GAAA;IAAA;EAAA;AAAA"}
1
+ {"version":3,"file":"index.js","names":["_DataTable","require","wrapDataTable","wrapper","exports"],"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,IAAAA,UAAA,GAAAC,OAAA;AASA,IAAMC,aAAa,GAAG,SAAhBA,aAAaA,CACjBC,OAKoB;EAAA,OACFA,OAAO;AAAA,CAAO;AAACC,OAAA,CAAAF,aAAA,GAAAA,aAAA"}