@semcore/data-table 16.0.0-prerelease.15 → 16.0.0-prerelease.17

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 (110) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/lib/cjs/components/Body/Body.js +114 -100
  3. package/lib/cjs/components/Body/Body.js.map +1 -1
  4. package/lib/cjs/components/Body/Body.types.js.map +1 -1
  5. package/lib/cjs/components/Body/Cell.js +67 -30
  6. package/lib/cjs/components/Body/Cell.js.map +1 -1
  7. package/lib/cjs/components/Body/Cell.types.js.map +1 -1
  8. package/lib/cjs/components/Body/MergedCells.js +9 -5
  9. package/lib/cjs/components/Body/MergedCells.js.map +1 -1
  10. package/lib/cjs/components/Body/Row.js +72 -113
  11. package/lib/cjs/components/Body/Row.js.map +1 -1
  12. package/lib/cjs/components/Body/Row.types.js +2 -0
  13. package/lib/cjs/components/Body/Row.types.js.map +1 -1
  14. package/lib/cjs/components/Body/style.shadow.css +75 -36
  15. package/lib/cjs/components/DataTable/DataTable.js +146 -97
  16. package/lib/cjs/components/DataTable/DataTable.js.map +1 -1
  17. package/lib/cjs/components/DataTable/DataTable.types.js +2 -0
  18. package/lib/cjs/components/DataTable/DataTable.types.js.map +1 -1
  19. package/lib/cjs/components/Head/Column.js +54 -33
  20. package/lib/cjs/components/Head/Column.js.map +1 -1
  21. package/lib/cjs/components/Head/Column.types.js.map +1 -1
  22. package/lib/cjs/components/Head/Group.js +24 -33
  23. package/lib/cjs/components/Head/Group.js.map +1 -1
  24. package/lib/cjs/components/Head/Group.type.js.map +1 -1
  25. package/lib/cjs/components/Head/Head.js +23 -28
  26. package/lib/cjs/components/Head/Head.js.map +1 -1
  27. package/lib/cjs/components/Head/Head.types.js.map +1 -1
  28. package/lib/cjs/components/Head/style.shadow.css +16 -14
  29. package/lib/cjs/index.js +7 -19
  30. package/lib/cjs/index.js.map +1 -1
  31. package/lib/cjs/style/scroll-shadows.shadow.css +13 -6
  32. package/lib/es6/components/Body/Body.js +114 -100
  33. package/lib/es6/components/Body/Body.js.map +1 -1
  34. package/lib/es6/components/Body/Body.types.js.map +1 -1
  35. package/lib/es6/components/Body/Cell.js +67 -30
  36. package/lib/es6/components/Body/Cell.js.map +1 -1
  37. package/lib/es6/components/Body/Cell.types.js.map +1 -1
  38. package/lib/es6/components/Body/MergedCells.js +9 -5
  39. package/lib/es6/components/Body/MergedCells.js.map +1 -1
  40. package/lib/es6/components/Body/Row.js +72 -113
  41. package/lib/es6/components/Body/Row.js.map +1 -1
  42. package/lib/es6/components/Body/Row.types.js +1 -1
  43. package/lib/es6/components/Body/Row.types.js.map +1 -1
  44. package/lib/es6/components/Body/style.shadow.css +75 -36
  45. package/lib/es6/components/DataTable/DataTable.js +143 -95
  46. package/lib/es6/components/DataTable/DataTable.js.map +1 -1
  47. package/lib/es6/components/DataTable/DataTable.types.js +6 -1
  48. package/lib/es6/components/DataTable/DataTable.types.js.map +1 -1
  49. package/lib/es6/components/Head/Column.js +52 -31
  50. package/lib/es6/components/Head/Column.js.map +1 -1
  51. package/lib/es6/components/Head/Column.types.js.map +1 -1
  52. package/lib/es6/components/Head/Group.js +24 -33
  53. package/lib/es6/components/Head/Group.js.map +1 -1
  54. package/lib/es6/components/Head/Group.type.js.map +1 -1
  55. package/lib/es6/components/Head/Head.js +24 -29
  56. package/lib/es6/components/Head/Head.js.map +1 -1
  57. package/lib/es6/components/Head/Head.types.js.map +1 -1
  58. package/lib/es6/components/Head/style.shadow.css +16 -14
  59. package/lib/es6/index.js +5 -4
  60. package/lib/es6/index.js.map +1 -1
  61. package/lib/es6/style/scroll-shadows.shadow.css +13 -6
  62. package/lib/esm/components/Body/Body.mjs +110 -98
  63. package/lib/esm/components/Body/Cell.mjs +64 -31
  64. package/lib/esm/components/Body/MergedCells.mjs +9 -5
  65. package/lib/esm/components/Body/Row.mjs +67 -109
  66. package/lib/esm/components/DataTable/DataTable.mjs +125 -46
  67. package/lib/esm/components/Head/Column.mjs +52 -32
  68. package/lib/esm/components/Head/Group.mjs +25 -34
  69. package/lib/esm/components/Head/Head.mjs +25 -30
  70. package/lib/esm/index.mjs +5 -6
  71. package/lib/esm/utils.mjs +0 -9
  72. package/lib/types/components/Body/Body.types.d.ts +13 -8
  73. package/lib/types/components/Body/Cell.types.d.ts +6 -6
  74. package/lib/types/components/Body/MergedCells.d.ts +8 -3
  75. package/lib/types/components/Body/Row.types.d.ts +19 -10
  76. package/lib/types/components/DataTable/DataTable.d.ts +3 -3
  77. package/lib/types/components/DataTable/DataTable.types.d.ts +23 -9
  78. package/lib/types/components/Head/Column.d.ts +6 -3
  79. package/lib/types/components/Head/Column.types.d.ts +5 -4
  80. package/lib/types/components/Head/Group.d.ts +0 -1
  81. package/lib/types/components/Head/Group.type.d.ts +4 -1
  82. package/lib/types/components/Head/Head.d.ts +6 -3
  83. package/lib/types/components/Head/Head.types.d.ts +8 -4
  84. package/lib/types/index.d.ts +10 -4
  85. package/package.json +7 -6
  86. package/lib/cjs/Body.js +0 -476
  87. package/lib/cjs/Body.js.map +0 -1
  88. package/lib/cjs/DataTable.js +0 -622
  89. package/lib/cjs/DataTable.js.map +0 -1
  90. package/lib/cjs/Head.js +0 -399
  91. package/lib/cjs/Head.js.map +0 -1
  92. package/lib/cjs/style/data-table.shadow.css +0 -394
  93. package/lib/cjs/types.js +0 -4
  94. package/lib/cjs/types.js.map +0 -1
  95. package/lib/es6/Body.js +0 -469
  96. package/lib/es6/Body.js.map +0 -1
  97. package/lib/es6/DataTable.js +0 -614
  98. package/lib/es6/DataTable.js.map +0 -1
  99. package/lib/es6/Head.js +0 -391
  100. package/lib/es6/Head.js.map +0 -1
  101. package/lib/es6/style/data-table.shadow.css +0 -394
  102. package/lib/es6/types.js +0 -2
  103. package/lib/es6/types.js.map +0 -1
  104. package/lib/esm/Body.mjs +0 -428
  105. package/lib/esm/DataTable.mjs +0 -582
  106. package/lib/esm/Head.mjs +0 -369
  107. package/lib/types/Body.d.ts +0 -61
  108. package/lib/types/DataTable.d.ts +0 -205
  109. package/lib/types/Head.d.ts +0 -45
  110. package/lib/types/types.d.ts +0 -73
@@ -1,7 +1,6 @@
1
1
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
2
  import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
3
3
  import _createClass from "@babel/runtime/helpers/esm/createClass";
4
- import _assertThisInitialized from "@babel/runtime/helpers/esm/assertThisInitialized";
5
4
  import _inherits from "@babel/runtime/helpers/esm/inherits";
6
5
  import _createSuper from "@babel/runtime/helpers/esm/createSuper";
7
6
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
@@ -13,47 +12,40 @@ var style = (
13
12
  /*__reshadow_css_start__*/
14
13
  (sstyled.insert(
15
14
  /*__inner_css_start__*/
16
- '.___SHead_182z1_gg_{display:contents}.___SHead_182z1_gg_.__sticky_182z1_gg_>.___SColumn_182z1_gg_{position:sticky;top:0;z-index:1}.___SHead_182z1_gg_.__sticky_182z1_gg_ .___SGroup_182z1_gg_{top:0}.___SHead_182z1_gg_.__sticky_182z1_gg_ .___SGroupContainer_182z1_gg_>.___SColumn_182z1_gg_{position:sticky;top:40px;z-index:1}.___SHead_182z1_gg_.__compact_182z1_gg_ .___SColumn_182z1_gg_{padding:var(--intergalactic-spacing-3x, 12px) var(--intergalactic-spacing-2x, 8px)}.___SColumn_182z1_gg_,.___SGroup_182z1_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}.___SGroup_182z1_gg_._use_primary_182z1_gg_{justify-content:center;padding:var(--intergalactic-spacing-3x, 12px);background-color:var(--intergalactic-table-th-primary-cell, #f4f5f9)}.___SGroup_182z1_gg_._use_secondary_182z1_gg_{justify-content:center;padding:var(--intergalactic-spacing-2x, 8px);background-color:var(--intergalactic-table-th-secondary-cell, #ffffff)}.___SGroup_182z1_gg_:has(.___SColumn_182z1_gg_.__visibleSort_182z1_gg_){background-color:var(--intergalactic-table-th-primary-cell-hover, #e0e1e9)}.___SColumn_182z1_gg_._borders_both_182z1_gg_,.___SColumn_182z1_gg_._borders_left_182z1_gg_,.___SGroup_182z1_gg_._borders_both_182z1_gg_,.___SGroup_182z1_gg_._borders_left_182z1_gg_{border-left:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SColumn_182z1_gg_._borders_both_182z1_gg_,.___SColumn_182z1_gg_._borders_right_182z1_gg_,.___SGroup_182z1_gg_._borders_both_182z1_gg_,.___SGroup_182z1_gg_._borders_right_182z1_gg_{border-right:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SColumn_182z1_gg_._use_primary_182z1_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_182z1_gg_._use_primary_182z1_gg_ .___SSortWrapper_182z1_gg_::before{background:linear-gradient(270deg,var(--intergalactic-table-th-primary-cell-hover, #e0e1e9) 67.5%,rgba(224,225,233,0) 105%)}.___SColumn_182z1_gg_._use_primary_182z1_gg_.__visibleSort_182z1_gg_{background-color:var(--intergalactic-table-th-primary-cell-hover, #e0e1e9)}.___SColumn_182z1_gg_._use_primary_182z1_gg_.__visibleSort_182z1_gg_ .___SSortWrapper_182z1_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}.___SColumn_182z1_gg_._use_primary_182z1_gg_.__visibleSort_182z1_gg_ .___SSortButton_182z1_gg_,.___SColumn_182z1_gg_._use_primary_182z1_gg_.__visibleSort_182z1_gg_ .___SSortWrapper_182z1_gg_::before,.___SColumn_182z1_gg_._use_secondary_182z1_gg_.__visibleSort_182z1_gg_ .___SSortWrapper_182z1_gg_::before{display:flex;opacity:1}.___SColumn_182z1_gg_._use_secondary_182z1_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_182z1_gg_._use_secondary_182z1_gg_ .___SSortWrapper_182z1_gg_::before{background:linear-gradient(270deg,var(--intergalactic-table-th-secondary-cell, #ffffff) 67.5%,rgba(255,255,255,0) 105%)}.___SColumn_182z1_gg_._use_secondary_182z1_gg_.__visibleSort_182z1_gg_ .___SSortWrapper_182z1_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}.___SColumn_182z1_gg_._use_secondary_182z1_gg_.__visibleSort_182z1_gg_ .___SSortButton_182z1_gg_{display:flex;opacity:1}.___SColumn_182z1_gg_.__gridArea_182z1_gg_,.___SGroupTitle_182z1_gg_.__gridArea_182z1_gg_,.___SGroup_182z1_gg_.__gridArea_182z1_gg_{grid-area:var(--gridArea_182z1)}.___SHead_182z1_gg_ .___SColumn_182z1_gg_.__fixed_182z1_gg_,.___SHead_182z1_gg_ .___SGroup_182z1_gg_.__fixed_182z1_gg_,.___SHead_182z1_gg_.__sticky_182z1_gg_ .___SColumn_182z1_gg_.__fixed_182z1_gg_,.___SHead_182z1_gg_.__sticky_182z1_gg_ .___SGroup_182z1_gg_{position:sticky;z-index:2}@media (hover:hover){.___SColumn_182z1_gg_.__sortable_182z1_gg_:hover{cursor:pointer}}.___SSortWrapper_182z1_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_182z1_gg_,.___SSortWrapper_182z1_gg_:before{display:none;position:absolute;right:0;opacity:0;transition:opacity .3s ease}.___SSortWrapper_182z1_gg_:before{content:"";top:0;width:20px;height:100%}.___SSortButton_182z1_gg_{fill:var(--intergalactic-icon-secondary-neutral-hover-active, #878992);top:calc(-1*(1em*1.25 - 16px));margin-left:var(--intergalactic-spacing-1x, 4px)}',
17
- "182z1_gg_"
15
+ '.___SGroupContainer_1yovy_gg_,.___SHead_1yovy_gg_{display:contents}.___SHead_1yovy_gg_.__sticky_1yovy_gg_ .___SColumn_1yovy_gg_{position:sticky;top:0;z-index:2}.___SHead_1yovy_gg_.__sticky_1yovy_gg_ .___SGroup_1yovy_gg_{top:0}.___SHead_1yovy_gg_.__sticky_1yovy_gg_ .___SGroupContainer_1yovy_gg_>.___SColumn_1yovy_gg_{position:sticky;z-index:2}.___SHead_1yovy_gg_.__compact_1yovy_gg_ .___SColumn_1yovy_gg_{padding:var(--intergalactic-spacing-3x, 12px) var(--intergalactic-spacing-2x, 8px)}.___SColumn_1yovy_gg_,.___SGroup_1yovy_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_1yovy_gg_{justify-content:center;text-align:center;background-color:var(--intergalactic-table-th-primary-cell, #f4f5f9)}.___SGroup_1yovy_gg_._use_primary_1yovy_gg_{padding:var(--intergalactic-spacing-3x, 12px)}.___SGroup_1yovy_gg_._use_primary_1yovy_gg_:has(~.___SColumn_1yovy_gg_.__visibleSort_1yovy_gg_){background-color:var(--intergalactic-table-th-primary-cell-hover, #e0e1e9)}.___SGroup_1yovy_gg_._use_secondary_1yovy_gg_{padding:var(--intergalactic-spacing-2x, 8px)}.___SColumn_1yovy_gg_._borders_both_1yovy_gg_,.___SColumn_1yovy_gg_._borders_left_1yovy_gg_,.___SGroup_1yovy_gg_._borders_both_1yovy_gg_,.___SGroup_1yovy_gg_._borders_left_1yovy_gg_{border-left:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SColumn_1yovy_gg_._borders_both_1yovy_gg_,.___SColumn_1yovy_gg_._borders_right_1yovy_gg_,.___SGroup_1yovy_gg_._borders_both_1yovy_gg_,.___SGroup_1yovy_gg_._borders_right_1yovy_gg_{border-right:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SColumn_1yovy_gg_._use_primary_1yovy_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_1yovy_gg_._use_primary_1yovy_gg_ .___SSortWrapper_1yovy_gg_::before{background:linear-gradient(270deg,var(--intergalactic-table-th-primary-cell-hover, #e0e1e9) 67.5%,rgba(224,225,233,0) 105%)}.___SColumn_1yovy_gg_._use_primary_1yovy_gg_.__visibleSort_1yovy_gg_{background-color:var(--intergalactic-table-th-primary-cell-hover, #e0e1e9)}.___SColumn_1yovy_gg_._use_primary_1yovy_gg_.__visibleSort_1yovy_gg_ .___SSortWrapper_1yovy_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}.___SColumn_1yovy_gg_._use_primary_1yovy_gg_.__visibleSort_1yovy_gg_ .___SSortButton_1yovy_gg_,.___SColumn_1yovy_gg_._use_primary_1yovy_gg_.__visibleSort_1yovy_gg_ .___SSortWrapper_1yovy_gg_::before,.___SColumn_1yovy_gg_._use_secondary_1yovy_gg_.__visibleSort_1yovy_gg_ .___SSortWrapper_1yovy_gg_::before{display:flex;opacity:1}.___SColumn_1yovy_gg_._use_secondary_1yovy_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_1yovy_gg_._use_secondary_1yovy_gg_ .___SSortWrapper_1yovy_gg_::before{background:linear-gradient(270deg,var(--intergalactic-table-th-secondary-cell, #ffffff) 67.5%,rgba(255,255,255,0) 105%)}.___SColumn_1yovy_gg_._use_secondary_1yovy_gg_.__visibleSort_1yovy_gg_ .___SSortWrapper_1yovy_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}.___SColumn_1yovy_gg_._use_secondary_1yovy_gg_.__visibleSort_1yovy_gg_ .___SSortButton_1yovy_gg_{display:flex;opacity:1}.___SColumn_1yovy_gg_.__gridArea_1yovy_gg_,.___SGroupTitle_1yovy_gg_.__gridArea_1yovy_gg_,.___SGroup_1yovy_gg_.__gridArea_1yovy_gg_{grid-area:var(--gridArea_1yovy)}.___SHead_1yovy_gg_ .___SColumn_1yovy_gg_.__fixed_1yovy_gg_,.___SHead_1yovy_gg_ .___SGroup_1yovy_gg_.__fixed_1yovy_gg_,.___SHead_1yovy_gg_.__sticky_1yovy_gg_ .___SColumn_1yovy_gg_.__fixed_1yovy_gg_,.___SHead_1yovy_gg_.__sticky_1yovy_gg_ .___SGroup_1yovy_gg_{position:sticky;z-index:3}@media (hover:hover){.___SColumn_1yovy_gg_.__sortable_1yovy_gg_:hover{cursor:pointer}}.___SSortWrapper_1yovy_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_1yovy_gg_,.___SSortWrapper_1yovy_gg_:before{display:none;position:absolute;right:0;opacity:0;transition:opacity .3s ease}.___SSortWrapper_1yovy_gg_:before{content:"";top:0;width:20px;height:100%}.___SSortButton_1yovy_gg_{fill:var(--intergalactic-icon-secondary-neutral-hover-active, #878992);top:calc(-1*(1em*1.25 - 16px));margin-left:var(--intergalactic-spacing-1x, 4px)}',
16
+ "1yovy_gg_"
18
17
  ), {
19
- "__SHead": "___SHead_182z1_gg_",
20
- "_sticky": "__sticky_182z1_gg_",
21
- "__SColumn": "___SColumn_182z1_gg_",
22
- "__SGroup": "___SGroup_182z1_gg_",
23
- "__SGroupContainer": "___SGroupContainer_182z1_gg_",
24
- "_compact": "__compact_182z1_gg_",
25
- "_use_primary": "_use_primary_182z1_gg_",
26
- "_use_secondary": "_use_secondary_182z1_gg_",
27
- "_visibleSort": "__visibleSort_182z1_gg_",
28
- "_borders_both": "_borders_both_182z1_gg_",
29
- "_borders_left": "_borders_left_182z1_gg_",
30
- "_borders_right": "_borders_right_182z1_gg_",
31
- "_gridArea": "__gridArea_182z1_gg_",
32
- "__SGroupTitle": "___SGroupTitle_182z1_gg_",
33
- "--gridArea": "--gridArea_182z1",
34
- "_fixed": "__fixed_182z1_gg_",
35
- "_sortable": "__sortable_182z1_gg_",
36
- "__SSortWrapper": "___SSortWrapper_182z1_gg_",
37
- "__SSortButton": "___SSortButton_182z1_gg_"
18
+ "__SHead": "___SHead_1yovy_gg_",
19
+ "__SGroupContainer": "___SGroupContainer_1yovy_gg_",
20
+ "_sticky": "__sticky_1yovy_gg_",
21
+ "__SColumn": "___SColumn_1yovy_gg_",
22
+ "__SGroup": "___SGroup_1yovy_gg_",
23
+ "_compact": "__compact_1yovy_gg_",
24
+ "_use_secondary": "_use_secondary_1yovy_gg_",
25
+ "_borders_both": "_borders_both_1yovy_gg_",
26
+ "_borders_left": "_borders_left_1yovy_gg_",
27
+ "_borders_right": "_borders_right_1yovy_gg_",
28
+ "_gridArea": "__gridArea_1yovy_gg_",
29
+ "__SGroupTitle": "___SGroupTitle_1yovy_gg_",
30
+ "--gridArea": "--gridArea_1yovy",
31
+ "_fixed": "__fixed_1yovy_gg_",
32
+ "_sortable": "__sortable_1yovy_gg_",
33
+ "__SSortWrapper": "___SSortWrapper_1yovy_gg_",
34
+ "__SSortButton": "___SSortButton_1yovy_gg_",
35
+ "_use_primary": "_use_primary_1yovy_gg_",
36
+ "_visibleSort": "__visibleSort_1yovy_gg_"
38
37
  })
39
38
  );
40
39
  var Group = /* @__PURE__ */ function(_Component) {
41
40
  _inherits(Group2, _Component);
42
41
  var _super = _createSuper(Group2);
43
42
  function Group2() {
44
- var _this;
45
43
  _classCallCheck(this, Group2);
46
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
47
- args[_key] = arguments[_key];
48
- }
49
- _this = _super.call.apply(_super, [this].concat(args));
50
- _defineProperty(_assertThisInitialized(_this), "mounted", false);
51
- return _this;
44
+ return _super.apply(this, arguments);
52
45
  }
53
46
  _createClass(Group2, [{
54
47
  key: "componentDidMount",
55
48
  value: function componentDidMount() {
56
- this.mounted = true;
57
49
  this.forceUpdate();
58
50
  }
59
51
  }, {
@@ -73,10 +65,9 @@ var Group = /* @__PURE__ */ function(_Component) {
73
65
  if (fixed === "right") {
74
66
  style2.right = fixedColumnsMap.get(lastName);
75
67
  }
76
- return _ref2 = sstyled(styles), /* @__PURE__ */ React.createElement(SGroupContainer, _ref2.cn("SGroupContainer", {
77
- "display": "contents"
78
- }), this.mounted && /* @__PURE__ */ React.createElement(SGroup, _ref2.cn("SGroup", _objectSpread({}, assignProps({
79
- "style": style2
68
+ return _ref2 = sstyled(styles), /* @__PURE__ */ React.createElement(SGroupContainer, _ref2.cn("SGroupContainer", {}), /* @__PURE__ */ React.createElement(SGroup, _ref2.cn("SGroup", _objectSpread({}, assignProps({
69
+ "style": style2,
70
+ "__excludeProps": ["title"]
80
71
  }, _ref))), title), /* @__PURE__ */ React.createElement(Children, _ref2.cn("Children", {})));
81
72
  }
82
73
  }]);
@@ -11,33 +11,33 @@ import * as React from "react";
11
11
  import { ScreenReaderOnly, Box } from "@semcore/base-components";
12
12
  import { Column } from "./Column.mjs";
13
13
  import { Group } from "./Group.mjs";
14
- import { getFixedStyle, getScrollOffsetValue } from "../../utils.mjs";
14
+ import { getFixedStyle } from "../../utils.mjs";
15
15
  var style = (
16
16
  /*__reshadow_css_start__*/
17
17
  (sstyled.insert(
18
18
  /*__inner_css_start__*/
19
- '.___SHead_182z1_gg_{display:contents}.___SHead_182z1_gg_.__sticky_182z1_gg_>.___SColumn_182z1_gg_{position:sticky;top:0;z-index:1}.___SHead_182z1_gg_.__sticky_182z1_gg_ .___SGroup_182z1_gg_{top:0}.___SHead_182z1_gg_.__sticky_182z1_gg_ .___SGroupContainer_182z1_gg_>.___SColumn_182z1_gg_{position:sticky;top:40px;z-index:1}.___SHead_182z1_gg_.__compact_182z1_gg_ .___SColumn_182z1_gg_{padding:var(--intergalactic-spacing-3x, 12px) var(--intergalactic-spacing-2x, 8px)}.___SColumn_182z1_gg_,.___SGroup_182z1_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}.___SGroup_182z1_gg_._use_primary_182z1_gg_{justify-content:center;padding:var(--intergalactic-spacing-3x, 12px);background-color:var(--intergalactic-table-th-primary-cell, #f4f5f9)}.___SGroup_182z1_gg_._use_secondary_182z1_gg_{justify-content:center;padding:var(--intergalactic-spacing-2x, 8px);background-color:var(--intergalactic-table-th-secondary-cell, #ffffff)}.___SGroup_182z1_gg_:has(.___SColumn_182z1_gg_.__visibleSort_182z1_gg_){background-color:var(--intergalactic-table-th-primary-cell-hover, #e0e1e9)}.___SColumn_182z1_gg_._borders_both_182z1_gg_,.___SColumn_182z1_gg_._borders_left_182z1_gg_,.___SGroup_182z1_gg_._borders_both_182z1_gg_,.___SGroup_182z1_gg_._borders_left_182z1_gg_{border-left:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SColumn_182z1_gg_._borders_both_182z1_gg_,.___SColumn_182z1_gg_._borders_right_182z1_gg_,.___SGroup_182z1_gg_._borders_both_182z1_gg_,.___SGroup_182z1_gg_._borders_right_182z1_gg_{border-right:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SColumn_182z1_gg_._use_primary_182z1_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_182z1_gg_._use_primary_182z1_gg_ .___SSortWrapper_182z1_gg_::before{background:linear-gradient(270deg,var(--intergalactic-table-th-primary-cell-hover, #e0e1e9) 67.5%,rgba(224,225,233,0) 105%)}.___SColumn_182z1_gg_._use_primary_182z1_gg_.__visibleSort_182z1_gg_{background-color:var(--intergalactic-table-th-primary-cell-hover, #e0e1e9)}.___SColumn_182z1_gg_._use_primary_182z1_gg_.__visibleSort_182z1_gg_ .___SSortWrapper_182z1_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}.___SColumn_182z1_gg_._use_primary_182z1_gg_.__visibleSort_182z1_gg_ .___SSortButton_182z1_gg_,.___SColumn_182z1_gg_._use_primary_182z1_gg_.__visibleSort_182z1_gg_ .___SSortWrapper_182z1_gg_::before,.___SColumn_182z1_gg_._use_secondary_182z1_gg_.__visibleSort_182z1_gg_ .___SSortWrapper_182z1_gg_::before{display:flex;opacity:1}.___SColumn_182z1_gg_._use_secondary_182z1_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_182z1_gg_._use_secondary_182z1_gg_ .___SSortWrapper_182z1_gg_::before{background:linear-gradient(270deg,var(--intergalactic-table-th-secondary-cell, #ffffff) 67.5%,rgba(255,255,255,0) 105%)}.___SColumn_182z1_gg_._use_secondary_182z1_gg_.__visibleSort_182z1_gg_ .___SSortWrapper_182z1_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}.___SColumn_182z1_gg_._use_secondary_182z1_gg_.__visibleSort_182z1_gg_ .___SSortButton_182z1_gg_{display:flex;opacity:1}.___SColumn_182z1_gg_.__gridArea_182z1_gg_,.___SGroupTitle_182z1_gg_.__gridArea_182z1_gg_,.___SGroup_182z1_gg_.__gridArea_182z1_gg_{grid-area:var(--gridArea_182z1)}.___SHead_182z1_gg_ .___SColumn_182z1_gg_.__fixed_182z1_gg_,.___SHead_182z1_gg_ .___SGroup_182z1_gg_.__fixed_182z1_gg_,.___SHead_182z1_gg_.__sticky_182z1_gg_ .___SColumn_182z1_gg_.__fixed_182z1_gg_,.___SHead_182z1_gg_.__sticky_182z1_gg_ .___SGroup_182z1_gg_{position:sticky;z-index:2}@media (hover:hover){.___SColumn_182z1_gg_.__sortable_182z1_gg_:hover{cursor:pointer}}.___SSortWrapper_182z1_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_182z1_gg_,.___SSortWrapper_182z1_gg_:before{display:none;position:absolute;right:0;opacity:0;transition:opacity .3s ease}.___SSortWrapper_182z1_gg_:before{content:"";top:0;width:20px;height:100%}.___SSortButton_182z1_gg_{fill:var(--intergalactic-icon-secondary-neutral-hover-active, #878992);top:calc(-1*(1em*1.25 - 16px));margin-left:var(--intergalactic-spacing-1x, 4px)}',
20
- "182z1_gg_"
19
+ '.___SGroupContainer_1yovy_gg_,.___SHead_1yovy_gg_{display:contents}.___SHead_1yovy_gg_.__sticky_1yovy_gg_ .___SColumn_1yovy_gg_{position:sticky;top:0;z-index:2}.___SHead_1yovy_gg_.__sticky_1yovy_gg_ .___SGroup_1yovy_gg_{top:0}.___SHead_1yovy_gg_.__sticky_1yovy_gg_ .___SGroupContainer_1yovy_gg_>.___SColumn_1yovy_gg_{position:sticky;z-index:2}.___SHead_1yovy_gg_.__compact_1yovy_gg_ .___SColumn_1yovy_gg_{padding:var(--intergalactic-spacing-3x, 12px) var(--intergalactic-spacing-2x, 8px)}.___SColumn_1yovy_gg_,.___SGroup_1yovy_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_1yovy_gg_{justify-content:center;text-align:center;background-color:var(--intergalactic-table-th-primary-cell, #f4f5f9)}.___SGroup_1yovy_gg_._use_primary_1yovy_gg_{padding:var(--intergalactic-spacing-3x, 12px)}.___SGroup_1yovy_gg_._use_primary_1yovy_gg_:has(~.___SColumn_1yovy_gg_.__visibleSort_1yovy_gg_){background-color:var(--intergalactic-table-th-primary-cell-hover, #e0e1e9)}.___SGroup_1yovy_gg_._use_secondary_1yovy_gg_{padding:var(--intergalactic-spacing-2x, 8px)}.___SColumn_1yovy_gg_._borders_both_1yovy_gg_,.___SColumn_1yovy_gg_._borders_left_1yovy_gg_,.___SGroup_1yovy_gg_._borders_both_1yovy_gg_,.___SGroup_1yovy_gg_._borders_left_1yovy_gg_{border-left:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SColumn_1yovy_gg_._borders_both_1yovy_gg_,.___SColumn_1yovy_gg_._borders_right_1yovy_gg_,.___SGroup_1yovy_gg_._borders_both_1yovy_gg_,.___SGroup_1yovy_gg_._borders_right_1yovy_gg_{border-right:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SColumn_1yovy_gg_._use_primary_1yovy_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_1yovy_gg_._use_primary_1yovy_gg_ .___SSortWrapper_1yovy_gg_::before{background:linear-gradient(270deg,var(--intergalactic-table-th-primary-cell-hover, #e0e1e9) 67.5%,rgba(224,225,233,0) 105%)}.___SColumn_1yovy_gg_._use_primary_1yovy_gg_.__visibleSort_1yovy_gg_{background-color:var(--intergalactic-table-th-primary-cell-hover, #e0e1e9)}.___SColumn_1yovy_gg_._use_primary_1yovy_gg_.__visibleSort_1yovy_gg_ .___SSortWrapper_1yovy_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}.___SColumn_1yovy_gg_._use_primary_1yovy_gg_.__visibleSort_1yovy_gg_ .___SSortButton_1yovy_gg_,.___SColumn_1yovy_gg_._use_primary_1yovy_gg_.__visibleSort_1yovy_gg_ .___SSortWrapper_1yovy_gg_::before,.___SColumn_1yovy_gg_._use_secondary_1yovy_gg_.__visibleSort_1yovy_gg_ .___SSortWrapper_1yovy_gg_::before{display:flex;opacity:1}.___SColumn_1yovy_gg_._use_secondary_1yovy_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_1yovy_gg_._use_secondary_1yovy_gg_ .___SSortWrapper_1yovy_gg_::before{background:linear-gradient(270deg,var(--intergalactic-table-th-secondary-cell, #ffffff) 67.5%,rgba(255,255,255,0) 105%)}.___SColumn_1yovy_gg_._use_secondary_1yovy_gg_.__visibleSort_1yovy_gg_ .___SSortWrapper_1yovy_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}.___SColumn_1yovy_gg_._use_secondary_1yovy_gg_.__visibleSort_1yovy_gg_ .___SSortButton_1yovy_gg_{display:flex;opacity:1}.___SColumn_1yovy_gg_.__gridArea_1yovy_gg_,.___SGroupTitle_1yovy_gg_.__gridArea_1yovy_gg_,.___SGroup_1yovy_gg_.__gridArea_1yovy_gg_{grid-area:var(--gridArea_1yovy)}.___SHead_1yovy_gg_ .___SColumn_1yovy_gg_.__fixed_1yovy_gg_,.___SHead_1yovy_gg_ .___SGroup_1yovy_gg_.__fixed_1yovy_gg_,.___SHead_1yovy_gg_.__sticky_1yovy_gg_ .___SColumn_1yovy_gg_.__fixed_1yovy_gg_,.___SHead_1yovy_gg_.__sticky_1yovy_gg_ .___SGroup_1yovy_gg_{position:sticky;z-index:3}@media (hover:hover){.___SColumn_1yovy_gg_.__sortable_1yovy_gg_:hover{cursor:pointer}}.___SSortWrapper_1yovy_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_1yovy_gg_,.___SSortWrapper_1yovy_gg_:before{display:none;position:absolute;right:0;opacity:0;transition:opacity .3s ease}.___SSortWrapper_1yovy_gg_:before{content:"";top:0;width:20px;height:100%}.___SSortButton_1yovy_gg_{fill:var(--intergalactic-icon-secondary-neutral-hover-active, #878992);top:calc(-1*(1em*1.25 - 16px));margin-left:var(--intergalactic-spacing-1x, 4px)}',
20
+ "1yovy_gg_"
21
21
  ), {
22
- "__SHead": "___SHead_182z1_gg_",
23
- "_sticky": "__sticky_182z1_gg_",
24
- "__SColumn": "___SColumn_182z1_gg_",
25
- "__SGroup": "___SGroup_182z1_gg_",
26
- "__SGroupContainer": "___SGroupContainer_182z1_gg_",
27
- "_compact": "__compact_182z1_gg_",
28
- "_use_primary": "_use_primary_182z1_gg_",
29
- "_use_secondary": "_use_secondary_182z1_gg_",
30
- "_visibleSort": "__visibleSort_182z1_gg_",
31
- "_borders_both": "_borders_both_182z1_gg_",
32
- "_borders_left": "_borders_left_182z1_gg_",
33
- "_borders_right": "_borders_right_182z1_gg_",
34
- "_gridArea": "__gridArea_182z1_gg_",
35
- "__SGroupTitle": "___SGroupTitle_182z1_gg_",
36
- "--gridArea": "--gridArea_182z1",
37
- "_fixed": "__fixed_182z1_gg_",
38
- "_sortable": "__sortable_182z1_gg_",
39
- "__SSortWrapper": "___SSortWrapper_182z1_gg_",
40
- "__SSortButton": "___SSortButton_182z1_gg_"
22
+ "__SHead": "___SHead_1yovy_gg_",
23
+ "__SGroupContainer": "___SGroupContainer_1yovy_gg_",
24
+ "_sticky": "__sticky_1yovy_gg_",
25
+ "__SColumn": "___SColumn_1yovy_gg_",
26
+ "__SGroup": "___SGroup_1yovy_gg_",
27
+ "_compact": "__compact_1yovy_gg_",
28
+ "_use_secondary": "_use_secondary_1yovy_gg_",
29
+ "_borders_both": "_borders_both_1yovy_gg_",
30
+ "_borders_left": "_borders_left_1yovy_gg_",
31
+ "_borders_right": "_borders_right_1yovy_gg_",
32
+ "_gridArea": "__gridArea_1yovy_gg_",
33
+ "__SGroupTitle": "___SGroupTitle_1yovy_gg_",
34
+ "--gridArea": "--gridArea_1yovy",
35
+ "_fixed": "__fixed_1yovy_gg_",
36
+ "_sortable": "__sortable_1yovy_gg_",
37
+ "__SSortWrapper": "___SSortWrapper_1yovy_gg_",
38
+ "__SSortButton": "___SSortButton_1yovy_gg_",
39
+ "_use_primary": "_use_primary_1yovy_gg_",
40
+ "_visibleSort": "__visibleSort_1yovy_gg_"
41
41
  })
42
42
  );
43
43
  var HeadRoot = /* @__PURE__ */ function(_Component) {
@@ -72,7 +72,7 @@ var HeadRoot = /* @__PURE__ */ function(_Component) {
72
72
  }, {
73
73
  key: "getColumnProps",
74
74
  value: function getColumnProps(_, index) {
75
- var _this$asProps2 = this.asProps, use = _this$asProps2.use, columns = _this$asProps2.columns, sort = _this$asProps2.sort, onSortChange = _this$asProps2.onSortChange, tableRef = _this$asProps2.tableRef, gridTemplateColumns = _this$asProps2.gridTemplateColumns, gridTemplateAreas = _this$asProps2.gridTemplateAreas;
75
+ var _this$asProps2 = this.asProps, use = _this$asProps2.use, columns = _this$asProps2.columns, sort = _this$asProps2.sort, onSortChange = _this$asProps2.onSortChange, tableRef = _this$asProps2.tableRef, gridTemplateColumns = _this$asProps2.gridTemplateColumns, gridTemplateAreas = _this$asProps2.gridTemplateAreas, sticky = _this$asProps2.sticky;
76
76
  var column = columns[index];
77
77
  var _getFixedStyle = getFixedStyle(column, columns), _getFixedStyle2 = _slicedToArray(_getFixedStyle, 2), name = _getFixedStyle2[0], value = _getFixedStyle2[1];
78
78
  var style2 = {};
@@ -89,6 +89,7 @@ var HeadRoot = /* @__PURE__ */ function(_Component) {
89
89
  style: style2,
90
90
  gridArea: column.gridArea,
91
91
  fixed: column.fixed,
92
+ sticky,
92
93
  borders: column.borders,
93
94
  sort,
94
95
  onSortChange,
@@ -105,13 +106,7 @@ var HeadRoot = /* @__PURE__ */ function(_Component) {
105
106
  value: function render() {
106
107
  var _ref = this.asProps, _ref2;
107
108
  var SHead = Box;
108
- var _this$asProps3 = this.asProps, Children = _this$asProps3.Children, styles = _this$asProps3.styles, columns = _this$asProps3.columns;
109
- _this$asProps3.tableRef;
110
- _this$asProps3.withScrollBar;
111
- var getI18nText = _this$asProps3.getI18nText;
112
- var _getScrollOffsetValue = getScrollOffsetValue(columns), _getScrollOffsetValue2 = _slicedToArray(_getScrollOffsetValue, 2);
113
- _getScrollOffsetValue2[0];
114
- _getScrollOffsetValue2[1];
109
+ var _this$asProps3 = this.asProps, Children = _this$asProps3.Children, styles = _this$asProps3.styles, getI18nText = _this$asProps3.getI18nText;
115
110
  return _ref2 = sstyled(styles), /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(SHead, _ref2.cn("SHead", _objectSpread({}, assignProps({
116
111
  "role": "row",
117
112
  "aria-rowindex": 1
package/lib/esm/index.mjs CHANGED
@@ -1,11 +1,10 @@
1
- import { ACCORDION, DataTable } from "./components/DataTable/DataTable.mjs";
2
- import { ROW_GROUP, default as default2, wrapDataTable, wrapDataTableCell, wrapDataTableRow } from "./DataTable.mjs";
1
+ import { ACCORDION, DataTable, ROW_GROUP } from "./components/DataTable/DataTable.mjs";
2
+ var wrapDataTable = function wrapDataTable2(wrapper) {
3
+ return wrapper;
4
+ };
3
5
  export {
4
6
  ACCORDION,
5
7
  DataTable,
6
8
  ROW_GROUP,
7
- default2 as default,
8
- wrapDataTable,
9
- wrapDataTableCell,
10
- wrapDataTableRow
9
+ wrapDataTable
11
10
  };
package/lib/esm/utils.mjs CHANGED
@@ -9,14 +9,6 @@ var getScrollOffsetValue = function getScrollOffsetValue2(columns) {
9
9
  return acc;
10
10
  }, [0, 0]);
11
11
  };
12
- var flattenColumns = function flattenColumns2(columns) {
13
- return columns.reduce(function(acc, column) {
14
- var hasNestedColumns = "columns" in column && column.columns.length > 0;
15
- var columns2 = hasNestedColumns ? flattenColumns2(column.columns) : [column];
16
- acc = acc.concat(columns2);
17
- return acc;
18
- }, []);
19
- };
20
12
  var getFixedStyle = function getFixedStyle2(cell, columns) {
21
13
  var side = cell.fixed;
22
14
  if (!side) return [void 0, void 0];
@@ -46,7 +38,6 @@ var getFixedStyle = function getFixedStyle2(cell, columns) {
46
38
  return [side, "".concat(sum, "px")];
47
39
  };
48
40
  export {
49
- flattenColumns,
50
41
  getFixedStyle,
51
42
  getScrollOffsetValue
52
43
  };
@@ -1,31 +1,36 @@
1
1
  /// <reference types="react" />
2
- import { DTRow } from './Row.types';
2
+ import { DTRow, DTRows } from './Row.types';
3
3
  import { DTColumn } from '../Head/Column.types';
4
4
  import { DTUse } from '../DataTable/DataTable.types';
5
5
  type CellRenderProps = {
6
- name: string;
6
+ dataKey: string;
7
7
  row: DTRow;
8
8
  column: DTColumn;
9
9
  rowIndex: number;
10
10
  columnIndex: number;
11
- value: string | number | boolean;
11
+ columnName: string;
12
+ value: string;
12
13
  defaultRender: () => React.ReactNode;
14
+ isMergedRows: boolean;
15
+ isMergedColumns: boolean;
13
16
  };
14
17
  export type DataTableBodyProps = {
15
- renderCell?: (props: CellRenderProps) => React.ReactNode;
16
- expandedRows?: number[];
18
+ renderCell?: (props: CellRenderProps) => React.ReactNode | Record<string, any>;
19
+ virtualScroll?: boolean;
17
20
  };
18
21
  export type BodyPropsInner = {
19
- rows: DTRow[];
22
+ rows: DTRows;
23
+ flatRows: DTRow[];
20
24
  columns: DTColumn[];
21
25
  use: DTUse;
22
- scrollRef: (ref: HTMLDivElement) => void;
23
- headerRows: number;
24
26
  compact: boolean;
25
27
  gridTemplateColumns: string[];
26
28
  gridTemplateAreas: string[];
27
29
  loading?: boolean;
28
30
  headerHeight: number;
29
31
  getI18nText: (key: string) => string;
32
+ expandedRows: number[];
33
+ onExpandRow: (rowIndex: number) => void;
34
+ spinnerRef: React.RefObject<HTMLDivElement>;
30
35
  };
31
36
  export {};
@@ -1,13 +1,13 @@
1
+ /// <reference types="react" />
1
2
  import { DTRow } from './Row.types';
2
3
  import { DTUse } from '../DataTable/DataTable.types';
3
- import { DTColumn, CommonColumnType } from '../Head/Column.types';
4
- export type DataTableCellProps = CommonColumnType & {
5
- name: string;
4
+ import { DTColumn } from '../Head/Column.types';
5
+ export type DataTableCellProps = {
6
6
  row: DTRow;
7
- columnIndex: number;
8
- column: DTColumn;
9
7
  rowIndex: number;
10
- gridArea?: string;
8
+ column: DTColumn;
9
+ columnIndex: number;
10
+ children?: React.ReactNode;
11
11
  };
12
12
  export type CellPropsInner = {
13
13
  use: DTUse;
@@ -1,10 +1,15 @@
1
1
  export declare class MergedRowsCell {
2
2
  readonly value: any;
3
- readonly rowsCount: number;
4
- constructor(value: any, size: number);
3
+ readonly fromRow: number;
4
+ readonly toRow: number;
5
+ constructor(value: any, rows: [number, number]);
5
6
  }
6
7
  export declare class MergedColumnsCell {
7
8
  readonly value: any;
8
9
  readonly columnsCount: number;
9
- constructor(value: any, size: number);
10
+ readonly dataKey: string;
11
+ constructor(value: any, options: {
12
+ size: number;
13
+ dataKey: string;
14
+ });
10
15
  }
@@ -1,15 +1,15 @@
1
- import { DTValue, DTKey, DTUse } from '../DataTable/DataTable.types';
1
+ /// <reference types="react" />
2
+ import { DTValue, DTUse, DataTableData } from '../DataTable/DataTable.types';
2
3
  import { DTColumn } from '../Head/Column.types';
3
4
  import { MergedColumnsCell, MergedRowsCell } from './MergedCells';
4
- export type DTRow = Record<DTKey, DTValue | MergedRowsCell | MergedColumnsCell>;
5
+ import { ACCORDION } from '../DataTable/DataTable';
6
+ export type DTRow = {
7
+ [key: string]: DTValue | MergedRowsCell | MergedColumnsCell;
8
+ [ACCORDION]?: React.ReactNode | DataTableData | undefined;
9
+ };
10
+ export type DTRows = Array<DTRow | DTRow[]>;
5
11
  export type DataTableRowProps = {
6
- columns: DTColumn[];
7
12
  row: DTRow;
8
- rows: DTRow[];
9
- rowIndex: number;
10
- headerRows: number;
11
- expandedRows?: number[];
12
- onExpandRow?: (expandedRowIndex: number) => void;
13
13
  };
14
14
  export type RowPropsInner = {
15
15
  use: DTUse;
@@ -18,7 +18,16 @@ export type RowPropsInner = {
18
18
  * @default false
19
19
  */
20
20
  expanded?: boolean;
21
- gridTemplateAreas: string;
22
- gridTemplateColumns: string;
21
+ columns: DTColumn[];
22
+ row: DTRow | DTRow[];
23
+ rows: DTRows;
24
+ flatRows: DTRow[];
25
+ rowIndex: number;
26
+ ariaRowIndex: number;
27
+ expandedRows: number[];
28
+ onExpandRow: (expandedRowIndex: number) => void;
29
+ gridTemplateAreas: string[];
30
+ gridTemplateColumns: string[];
23
31
  accordionDataGridArea: string;
32
+ inert?: '';
24
33
  };
@@ -1,9 +1,9 @@
1
- import { Intergalactic } from '@semcore/core';
2
- import { DataTableProps } from './DataTable.types';
1
+ import { DataTableProps, DataTableData } from './DataTable.types';
3
2
  import { Head } from '../Head/Head';
4
3
  import { Body } from '../Body/Body';
5
4
  export declare const ACCORDION: unique symbol;
6
- export declare const DataTable: (<Tag extends Intergalactic.InternalTypings.ComponentTag = "div", Props extends DataTableProps = DataTableProps>(props: Intergalactic.InternalTypings.ComponentProps<Tag, "div", Props, {}, never[]>) => Intergalactic.InternalTypings.ComponentRenderingResults) & Intergalactic.InternalTypings.ComponentAdditive<"div", Intergalactic.InternalTypings.ComponentTag, DataTableProps, {}, never[]> & {
5
+ export declare const ROW_GROUP: unique symbol;
6
+ export declare const DataTable: (<Data extends DataTableData, Tag extends import("@semcore/core").Intergalactic.InternalTypings.ComponentTag = "div">(props: import("@semcore/core").Intergalactic.InternalTypings.ComponentProps<Tag, "div", DataTableProps<Data>, never, never[]>) => import("@semcore/core").Intergalactic.InternalTypings.ComponentRenderingResults) & import("@semcore/core").Intergalactic.InternalTypings.ComponentAdditive<"div", "div", DataTableProps<any>, {}, {}> & {
7
7
  Head: typeof Head;
8
8
  Body: typeof Body;
9
9
  };
@@ -1,6 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import { Intergalactic } from '@semcore/core';
3
3
  import { BoxProps } from '@semcore/base-components';
4
+ import { ACCORDION, ROW_GROUP } from './DataTable';
4
5
  /**
5
6
  * Datatable must have an accessible name (aria-table-name).
6
7
  * It should describe table content.
@@ -11,15 +12,23 @@ type DataTableAriaProps = Intergalactic.RequireAtLeastOne<{
11
12
  title?: string;
12
13
  }>;
13
14
  export type SortDirection = 'asc' | 'desc';
14
- export type DataTableSort<Column = string> = [sortBy: Column, sortDirection: SortDirection];
15
- export type DTKey = string | symbol;
16
- export type DTValue = string | number | boolean;
17
- export type DataTableData = Array<Record<DTKey, any>>;
15
+ export type DataTableSort<Column> = [sortBy: Column, sortDirection: SortDirection];
16
+ export type DataTableChangeSort<Column> = (sort: [sortBy: Column, sortDirection: SortDirection], e?: React.SyntheticEvent) => void;
17
+ export type DataRowItem = {
18
+ [key: string]: DTValue | undefined;
19
+ [ACCORDION]?: React.ReactNode | DataTableData;
20
+ [ROW_GROUP]?: DataTableData;
21
+ };
22
+ export interface DTValue {
23
+ toString(): string;
24
+ [ACCORDION]?: React.ReactNode | DataTableData;
25
+ }
26
+ export type DataTableData = DataRowItem[];
18
27
  export type DTUse = 'primary' | 'secondary';
19
28
  type Sizes = Pick<BoxProps, 'w' | 'wMax' | 'wMin' | 'h' | 'hMax' | 'hMin'>;
20
- export type DataTableProps = DataTableAriaProps & Sizes & {
29
+ export type DataTableProps<D extends DataTableData> = DataTableAriaProps & Sizes & {
21
30
  /** Data for table */
22
- data: DataTableData;
31
+ data: D;
23
32
  /** Count of total rows if table using virtual scroll. Needs for accessibility */
24
33
  totalRows?: number;
25
34
  /** Table theme according to visual hierarchy on the page
@@ -27,16 +36,16 @@ export type DataTableProps = DataTableAriaProps & Sizes & {
27
36
  * */
28
37
  use?: DTUse;
29
38
  /** Active sort object */
30
- sort?: DataTableSort;
39
+ sort?: DataTableSort<keyof D[0]>;
31
40
  /** Handler call when request will change sort */
32
- onSortChange?: (sort: DataTableSort, e?: React.SyntheticEvent) => void;
41
+ onSortChange?: DataTableChangeSort<keyof D[0]>;
33
42
  /**
34
43
  *
35
44
  * @default auto
36
45
  */
37
46
  defaultGridTemplateColumnWidth?: 'auto' | '1fr';
38
47
  /**
39
- * Flag for compact view (less paddings)
48
+ * Flag for compact view (fewer paddings)
40
49
  */
41
50
  compact?: boolean;
42
51
  /**
@@ -44,7 +53,12 @@ export type DataTableProps = DataTableAriaProps & Sizes & {
44
53
  */
45
54
  loading?: boolean;
46
55
  children?: any;
56
+ /**
57
+ *
58
+ */
59
+ expandedRows?: number[];
47
60
  };
48
61
  export type RowIndex = number;
49
62
  export type ColIndex = number;
63
+ export type DataTableType = (<Data extends DataTableData, Tag extends Intergalactic.Tag = 'div'>(props: Intergalactic.InternalTypings.ComponentProps<Tag, 'div', DataTableProps<Data>>) => Intergalactic.InternalTypings.ComponentRenderingResults) & Intergalactic.InternalTypings.ComponentAdditive<'div', 'div', DataTableProps<any>>;
50
64
  export {};
@@ -1,10 +1,12 @@
1
1
  import * as React from 'react';
2
2
  import { Component } from '@semcore/core';
3
3
  import { ColumnPropsInner, DataTableColumnProps } from './Column.types';
4
+ import type { DataTableData } from '../DataTable/DataTable.types';
4
5
  type State = {
5
6
  sortVisible: boolean;
6
7
  };
7
- export declare class Column extends Component<DataTableColumnProps, {}, {}, [], ColumnPropsInner> {
8
+ export declare class Column<D extends DataTableData> extends Component<DataTableColumnProps, {}, {}, [
9
+ ], ColumnPropsInner<D>> {
8
10
  static displayName: string;
9
11
  static style: {
10
12
  [key: string]: string;
@@ -13,11 +15,12 @@ export declare class Column extends Component<DataTableColumnProps, {}, {}, [],
13
15
  columnRef: React.RefObject<HTMLDivElement>;
14
16
  sortWrapperRef: React.RefObject<HTMLDivElement>;
15
17
  state: State;
16
- componentDidUpdate(prevProps: DataTableColumnProps & ColumnPropsInner): void;
18
+ componentDidMount(): void;
19
+ componentDidUpdate(prevProps: DataTableColumnProps & ColumnPropsInner<D>): void;
17
20
  calculateActiveColumnMinWidth: () => number | null;
18
21
  handleMouseEnter: () => void;
19
22
  handleMouseLeave: () => void;
20
- handleBlur: () => void;
23
+ handleBlur: (e: React.FocusEvent<HTMLElement>) => void;
21
24
  handleSortClick: (e: React.SyntheticEvent<HTMLButtonElement>) => void;
22
25
  handleKeyDown: (e: React.KeyboardEvent) => void;
23
26
  handleFocusCell: (e: React.FocusEvent<HTMLElement, HTMLElement>) => void;
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import { DataTableProps, DTUse } from '../DataTable/DataTable.types';
2
+ import { DataTableData, DataTableProps, DTUse } from '../DataTable/DataTable.types';
3
3
  import { Property } from 'csstype';
4
4
  export type CommonColumnType = {
5
5
  /**
@@ -65,11 +65,11 @@ export type DataTableColumnProps = CommonColumnType & {
65
65
  changeSortSize?: boolean;
66
66
  children?: React.ReactElement[];
67
67
  };
68
- export type ColumnPropsInner = {
68
+ export type ColumnPropsInner<D extends DataTableData> = {
69
69
  use: DTUse;
70
70
  borders?: 'both' | 'left' | 'right';
71
- sort?: DataTableProps['sort'];
72
- onSortChange?: DataTableProps['onSortChange'];
71
+ sort?: DataTableProps<D>['sort'];
72
+ onSortChange?: DataTableProps<D>['onSortChange'];
73
73
  uid: string;
74
74
  parent?: DTColumn;
75
75
  sortableColumnDescribeId: string;
@@ -77,4 +77,5 @@ export type ColumnPropsInner = {
77
77
  tableRef: React.RefObject<HTMLElement>;
78
78
  gridTemplateColumns: string[];
79
79
  gridTemplateAreas: string[];
80
+ sticky: boolean;
80
81
  };
@@ -6,7 +6,6 @@ export declare class Group extends Component<DataTableGroupProps, {}, {}, [], Gr
6
6
  static style: {
7
7
  [key: string]: string;
8
8
  };
9
- mounted: boolean;
10
9
  componentDidMount(): void;
11
10
  render(): React.ReactNode;
12
11
  }
@@ -1,8 +1,11 @@
1
1
  import { DTUse } from '../DataTable/DataTable.types';
2
+ import { ReactElement } from 'react';
3
+ import { DataTableColumnProps } from './Column.types';
2
4
  export type DataTableGroupProps = {
3
- title: string;
5
+ title: React.ReactNode;
4
6
  borders?: 'both' | 'left' | 'right';
5
7
  fixed?: 'left' | 'right';
8
+ children: Array<ReactElement<DataTableColumnProps>>;
6
9
  };
7
10
  export type GroupPropsInner = {
8
11
  use: DTUse;
@@ -1,8 +1,11 @@
1
- import { Component, Intergalactic } from '@semcore/core';
1
+ import { Intergalactic } from '@semcore/core';
2
2
  import { DataTableHeadProps } from './Head.types';
3
+ import Tooltip from '@semcore/tooltip';
3
4
  import { DataTableColumnProps } from './Column.types';
4
5
  import { DataTableGroupProps } from './Group.type';
5
6
  export declare const Head: (<Tag extends Intergalactic.InternalTypings.ComponentTag = "div", Props extends DataTableHeadProps = DataTableHeadProps>(props: Intergalactic.InternalTypings.ComponentProps<Tag, "div", Props, {}, never[]>) => Intergalactic.InternalTypings.ComponentRenderingResults) & Intergalactic.InternalTypings.ComponentAdditive<"div", Intergalactic.InternalTypings.ComponentTag, DataTableHeadProps, {}, never[]> & {
6
- Column: Intergalactic.Component<'div', DataTableColumnProps>;
7
- Group: Intergalactic.Component<'div', DataTableGroupProps>;
7
+ Column: (props: Intergalactic.InternalTypings.ComponentProps<'div' | typeof Tooltip, 'div', DataTableColumnProps, {}, [
8
+ ]>) => Intergalactic.InternalTypings.ComponentRenderingResults;
9
+ Group: (props: Intergalactic.InternalTypings.ComponentProps<'div' | typeof Tooltip, 'div', DataTableGroupProps, {}, [
10
+ ]>) => Intergalactic.InternalTypings.ComponentRenderingResults;
8
11
  };
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import { DataTableProps, DTUse } from '../DataTable/DataTable.types';
2
+ import { DataTableData, DataTableProps, DTUse } from '../DataTable/DataTable.types';
3
3
  import { DTColumn } from './Column.types';
4
4
  export type DataTableHeadProps = {
5
5
  /**
@@ -7,16 +7,20 @@ export type DataTableHeadProps = {
7
7
  * @default false
8
8
  */
9
9
  sticky?: boolean;
10
+ /**
11
+ * offset for sticky header
12
+ */
13
+ top?: number;
10
14
  /** Enable scroll bar element in header */
11
15
  withScrollBar?: boolean;
12
16
  };
13
- export type HeadPropsInner = {
17
+ export type HeadPropsInner<D extends DataTableData> = {
14
18
  use: DTUse;
15
19
  tableRef: React.RefObject<HTMLElement>;
16
20
  columns: DTColumn[];
17
21
  compact: boolean;
18
- sort?: DataTableProps['sort'];
19
- onSortChange?: DataTableProps['onSortChange'];
22
+ sort?: DataTableProps<D>['sort'];
23
+ onSortChange?: DataTableProps<D>['onSortChange'];
20
24
  getI18nText: (key: string) => string;
21
25
  uid: string;
22
26
  ref: React.RefObject<HTMLDivElement>;
@@ -1,4 +1,10 @@
1
- import { DataTable, ACCORDION } from './components/DataTable/DataTable';
2
- export { default } from './DataTable';
3
- export * from './DataTable';
4
- export { DataTable, ACCORDION };
1
+ import { DataTable, ACCORDION, ROW_GROUP } from './components/DataTable/DataTable';
2
+ import type { DataTableSort, DataTableType, DataTableData } from './components/DataTable/DataTable.types';
3
+ import { Intergalactic } from '@semcore/core';
4
+ import React from 'react';
5
+ declare const wrapDataTable: <PropsExtending extends {}>(wrapper: (props: Intergalactic.InternalTypings.EfficientOmit<Intergalactic.InternalTypings.ComponentPropsNesting<DataTableType>, "tag" | "ref"> & {
6
+ ref: React.Ref<any>;
7
+ tag: Intergalactic.InternalTypings.ComponentTag;
8
+ } & PropsExtending) => React.ReactNode) => DataTableType;
9
+ export { DataTable, ACCORDION, ROW_GROUP, wrapDataTable };
10
+ export type { DataTableSort, DataTableData };