@semcore/data-table 17.0.0-prerelease.30 → 17.0.0-prerelease.34

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 (88) hide show
  1. package/CHANGELOG.md +9 -1
  2. package/lib/cjs/components/AccordionRows/AccordionRows.js +50 -51
  3. package/lib/cjs/components/AccordionRows/AccordionRows.js.map +1 -1
  4. package/lib/cjs/components/Body/Body.js +65 -88
  5. package/lib/cjs/components/Body/Body.js.map +1 -1
  6. package/lib/cjs/components/Body/Body.types.js.map +1 -1
  7. package/lib/cjs/components/Body/Cell.js +50 -51
  8. package/lib/cjs/components/Body/Cell.js.map +1 -1
  9. package/lib/cjs/components/Body/LimitOverlay.js +50 -51
  10. package/lib/cjs/components/Body/LimitOverlay.js.map +1 -1
  11. package/lib/cjs/components/Body/Row.js +65 -90
  12. package/lib/cjs/components/Body/Row.js.map +1 -1
  13. package/lib/cjs/components/Body/Row.types.js.map +1 -1
  14. package/lib/cjs/components/Body/RowGroup.js +133 -0
  15. package/lib/cjs/components/Body/RowGroup.js.map +1 -0
  16. package/lib/cjs/components/Body/style.shadow.css +86 -152
  17. package/lib/cjs/components/DataTable/DataTable.js +35 -12
  18. package/lib/cjs/components/DataTable/DataTable.js.map +1 -1
  19. package/lib/cjs/components/DataTable/DataTable.types.js.map +1 -1
  20. package/lib/cjs/components/Head/Column.js +37 -36
  21. package/lib/cjs/components/Head/Column.js.map +1 -1
  22. package/lib/cjs/components/Head/Group.js +36 -36
  23. package/lib/cjs/components/Head/Head.js +81 -50
  24. package/lib/cjs/components/Head/Head.js.map +1 -1
  25. package/lib/cjs/components/Head/Head.types.js.map +1 -1
  26. package/lib/cjs/components/Head/style.shadow.css +0 -1
  27. package/lib/cjs/components/RowSelector/RowsSelector.js +112 -0
  28. package/lib/cjs/components/RowSelector/RowsSelector.js.map +1 -0
  29. package/lib/cjs/index.js +7 -0
  30. package/lib/cjs/index.js.map +1 -1
  31. package/lib/cjs/store/SelectableRows.js +129 -0
  32. package/lib/cjs/store/SelectableRows.js.map +1 -0
  33. package/lib/es6/components/AccordionRows/AccordionRows.js +50 -51
  34. package/lib/es6/components/AccordionRows/AccordionRows.js.map +1 -1
  35. package/lib/es6/components/Body/Body.js +67 -90
  36. package/lib/es6/components/Body/Body.js.map +1 -1
  37. package/lib/es6/components/Body/Body.types.js.map +1 -1
  38. package/lib/es6/components/Body/Cell.js +50 -51
  39. package/lib/es6/components/Body/Cell.js.map +1 -1
  40. package/lib/es6/components/Body/LimitOverlay.js +50 -51
  41. package/lib/es6/components/Body/LimitOverlay.js.map +1 -1
  42. package/lib/es6/components/Body/Row.js +66 -91
  43. package/lib/es6/components/Body/Row.js.map +1 -1
  44. package/lib/es6/components/Body/Row.types.js.map +1 -1
  45. package/lib/es6/components/Body/RowGroup.js +125 -0
  46. package/lib/es6/components/Body/RowGroup.js.map +1 -0
  47. package/lib/es6/components/Body/style.shadow.css +86 -152
  48. package/lib/es6/components/DataTable/DataTable.js +35 -12
  49. package/lib/es6/components/DataTable/DataTable.js.map +1 -1
  50. package/lib/es6/components/DataTable/DataTable.types.js.map +1 -1
  51. package/lib/es6/components/Head/Column.js +37 -36
  52. package/lib/es6/components/Head/Column.js.map +1 -1
  53. package/lib/es6/components/Head/Group.js +36 -36
  54. package/lib/es6/components/Head/Head.js +81 -50
  55. package/lib/es6/components/Head/Head.js.map +1 -1
  56. package/lib/es6/components/Head/Head.types.js.map +1 -1
  57. package/lib/es6/components/Head/style.shadow.css +0 -1
  58. package/lib/es6/components/RowSelector/RowsSelector.js +104 -0
  59. package/lib/es6/components/RowSelector/RowsSelector.js.map +1 -0
  60. package/lib/es6/index.js +2 -1
  61. package/lib/es6/index.js.map +1 -1
  62. package/lib/es6/store/SelectableRows.js +121 -0
  63. package/lib/es6/store/SelectableRows.js.map +1 -0
  64. package/lib/esm/components/AccordionRows/AccordionRows.mjs +51 -52
  65. package/lib/esm/components/Body/Body.mjs +68 -91
  66. package/lib/esm/components/Body/Cell.mjs +51 -52
  67. package/lib/esm/components/Body/LimitOverlay.mjs +51 -52
  68. package/lib/esm/components/Body/Row.mjs +66 -90
  69. package/lib/esm/components/Body/RowGroup.mjs +124 -0
  70. package/lib/esm/components/Body/style.shadow.css +86 -152
  71. package/lib/esm/components/DataTable/DataTable.mjs +34 -12
  72. package/lib/esm/components/Head/Column.mjs +38 -37
  73. package/lib/esm/components/Head/Group.mjs +37 -37
  74. package/lib/esm/components/Head/Head.mjs +83 -51
  75. package/lib/esm/components/Head/style.shadow.css +0 -1
  76. package/lib/esm/components/RowSelector/RowsSelector.mjs +107 -0
  77. package/lib/esm/index.mjs +2 -0
  78. package/lib/esm/store/SelectableRows.mjs +123 -0
  79. package/lib/types/components/Body/Body.types.d.ts +2 -1
  80. package/lib/types/components/Body/Row.d.ts +0 -2
  81. package/lib/types/components/Body/Row.types.d.ts +2 -1
  82. package/lib/types/components/Body/RowGroup.d.ts +19 -0
  83. package/lib/types/components/DataTable/DataTable.types.d.ts +21 -12
  84. package/lib/types/components/Head/Head.types.d.ts +2 -1
  85. package/lib/types/components/RowSelector/RowsSelector.d.ts +31 -0
  86. package/lib/types/index.d.ts +2 -1
  87. package/lib/types/store/SelectableRows.d.ts +56 -0
  88. package/package.json +18 -18
@@ -13,65 +13,75 @@ var _checkbox = _interopRequireDefault(require("@semcore/checkbox"));
13
13
  var _react = _interopRequireDefault(require("react"));
14
14
  var _Column = require("./Column");
15
15
  var _Group = require("./Group");
16
+ var _SelectableRows = require("../../store/SelectableRows");
16
17
  var _DataTable = require("../DataTable/DataTable");
17
18
  /*!__reshadow-styles__:"./style.shadow.css"*/
18
- const style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___SGroupContainer_16i6f_gg_,.___SHead_16i6f_gg_{display:contents}.___SHead_16i6f_gg_.__isDataEmpty_16i6f_gg_.__gridTemplateColumns_16i6f_gg_{display:grid;grid-template-columns:var(--gridTemplateColumns_16i6f);overflow:auto;scrollbar-width:thin}.___SHead_16i6f_gg_.__animationDuration_16i6f_gg_>.___SColumn_16i6f_gg_{transition:top var(--animationDuration_16i6f) ease-out}.___SHead_16i6f_gg_.__sticky_16i6f_gg_ .___SColumn_16i6f_gg_,.___SHead_16i6f_gg_.__sticky_16i6f_gg_ .___SGroup_16i6f_gg_{position:sticky;top:0;z-index:18}.___SHead_16i6f_gg_.__sticky_16i6f_gg_ .___SGroupContainer_16i6f_gg_>.___SColumn_16i6f_gg_{position:sticky;z-index:18}.___SHead_16i6f_gg_.__compact_16i6f_gg_ .___SColumn_16i6f_gg_{padding:var(--intergalactic-spacing-3x, 12px) var(--intergalactic-spacing-2x, 8px)}.___SColumn_16i6f_gg_,.___SGroup_16i6f_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;line-height:var(--intergalactic-lh-100, 133%)}.___SGroup_16i6f_gg_{justify-content:center;text-align:center;background-color:var(--intergalactic-table-th-primary-cell, #f4f5f9)}.___SGroup_16i6f_gg_._use_primary_16i6f_gg_{padding:var(--intergalactic-spacing-3x, 12px)}.___SGroup_16i6f_gg_._use_primary_16i6f_gg_:has(~.___SColumn_16i6f_gg_.__visibleSort_16i6f_gg_){background-color:var(--intergalactic-table-th-primary-cell-hover, #e0e1e9)}.___SGroup_16i6f_gg_._use_secondary_16i6f_gg_{padding:var(--intergalactic-spacing-2x, 8px)}.___SColumn_16i6f_gg_._borders_both_16i6f_gg_,.___SColumn_16i6f_gg_._borders_left_16i6f_gg_,.___SGroup_16i6f_gg_._borders_both_16i6f_gg_,.___SGroup_16i6f_gg_._borders_left_16i6f_gg_{border-left:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SColumn_16i6f_gg_._borders_both_16i6f_gg_,.___SColumn_16i6f_gg_._borders_right_16i6f_gg_,.___SGroup_16i6f_gg_._borders_both_16i6f_gg_,.___SGroup_16i6f_gg_._borders_right_16i6f_gg_{border-right:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SColumn_16i6f_gg_._use_primary_16i6f_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_16i6f_gg_._use_primary_16i6f_gg_ .___SSortWrapper_16i6f_gg_::before{background:linear-gradient(270deg,var(--intergalactic-table-th-primary-cell-hover, #e0e1e9) 67.5%,rgba(224,225,233,0) 105%)}.___SColumn_16i6f_gg_._use_primary_16i6f_gg_.__visibleSort_16i6f_gg_{background-color:var(--intergalactic-table-th-primary-cell-hover, #e0e1e9)}.___SColumn_16i6f_gg_._use_primary_16i6f_gg_.__visibleSort_16i6f_gg_ .___SSortWrapper_16i6f_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}.___SColumn_16i6f_gg_._use_primary_16i6f_gg_.__visibleSort_16i6f_gg_ .___SSortButton_16i6f_gg_,.___SColumn_16i6f_gg_._use_primary_16i6f_gg_.__visibleSort_16i6f_gg_ .___SSortWrapper_16i6f_gg_::before,.___SColumn_16i6f_gg_._use_secondary_16i6f_gg_.__visibleSort_16i6f_gg_ .___SSortWrapper_16i6f_gg_::before{display:flex;opacity:1}.___SColumn_16i6f_gg_._use_primary_16i6f_gg_._justifyContent_right_16i6f_gg_ .___SSortWrapper_16i6f_gg_{position:absolute}.___SColumn_16i6f_gg_._use_primary_16i6f_gg_._justifyContent_right_16i6f_gg_.__changeSortSize_16i6f_gg_.__isSorted_16i6f_gg_ .___SSortWrapper_16i6f_gg_,.___SColumn_16i6f_gg_._use_secondary_16i6f_gg_._justifyContent_right_16i6f_gg_.__changeSortSize_16i6f_gg_.__isSorted_16i6f_gg_ .___SSortWrapper_16i6f_gg_{position:relative}.___SColumn_16i6f_gg_._use_secondary_16i6f_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_16i6f_gg_._use_secondary_16i6f_gg_ .___SSortWrapper_16i6f_gg_::before{background:linear-gradient(270deg,var(--intergalactic-table-th-secondary-cell, #ffffff) 67.5%,rgba(255,255,255,0) 105%)}.___SColumn_16i6f_gg_._use_secondary_16i6f_gg_.__visibleSort_16i6f_gg_ .___SSortWrapper_16i6f_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}.___SColumn_16i6f_gg_._use_secondary_16i6f_gg_.__visibleSort_16i6f_gg_ .___SSortButton_16i6f_gg_{display:flex;opacity:1}.___SColumn_16i6f_gg_._use_secondary_16i6f_gg_._justifyContent_right_16i6f_gg_ .___SSortWrapper_16i6f_gg_{position:absolute}.___SColumn_16i6f_gg_.__gridArea_16i6f_gg_,.___SGroupTitle_16i6f_gg_.__gridArea_16i6f_gg_,.___SGroup_16i6f_gg_.__gridArea_16i6f_gg_{grid-area:var(--gridArea_16i6f)}.___SHead_16i6f_gg_ .___SColumn_16i6f_gg_.__fixed_16i6f_gg_,.___SHead_16i6f_gg_ .___SGroup_16i6f_gg_.__fixed_16i6f_gg_,.___SHead_16i6f_gg_.__sticky_16i6f_gg_ .___SColumn_16i6f_gg_.__fixed_16i6f_gg_{position:sticky;z-index:19}@media (hover:hover){.___SColumn_16i6f_gg_.__sortable_16i6f_gg_:hover{cursor:pointer}}.___SSortWrapper_16i6f_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_16i6f_gg_,.___SSortWrapper_16i6f_gg_:before{display:none;position:absolute;right:0;opacity:0;transition:opacity .3s ease}.___SSortWrapper_16i6f_gg_:before{content:\"\";top:0;width:20px;height:100%}.___SSortButton_16i6f_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_16i6f_gg_._sideIndents_wide_16i6f_gg_ .___SColumn_16i6f_gg_:first-child{padding-left:var(--intergalactic-spacing-5x, 20px)}.___SHead_16i6f_gg_._sideIndents_wide_16i6f_gg_ .___SColumn_16i6f_gg_:last-child{padding-right:var(--intergalactic-spacing-5x, 20px)}.___SHeadCheckboxCol_16i6f_gg_{cursor:pointer}.___SColumn_16i6f_gg_.__fixed_16i6f_gg_.__shadowVertical_16i6f_gg_:after,.___SGroup_16i6f_gg_.__fixed_16i6f_gg_.__shadowVertical_16i6f_gg_:after{content:\"\";position:absolute;pointer-events:none;display:none;top:0;width:5px;height:100%;z-index:5}.___SColumn_16i6f_gg_._fixed_left_16i6f_gg_._shadowVertical_median_16i6f_gg_,.___SColumn_16i6f_gg_._fixed_left_16i6f_gg_._shadowVertical_start_16i6f_gg_,.___SGroup_16i6f_gg_._fixed_left_16i6f_gg_._shadowVertical_median_16i6f_gg_,.___SGroup_16i6f_gg_._fixed_left_16i6f_gg_._shadowVertical_start_16i6f_gg_{margin-right:-5px;border-right-color:transparent}.___SColumn_16i6f_gg_._fixed_left_16i6f_gg_._shadowVertical_median_16i6f_gg_._use_primary_16i6f_gg_,.___SColumn_16i6f_gg_._fixed_left_16i6f_gg_._shadowVertical_start_16i6f_gg_._use_primary_16i6f_gg_,.___SGroup_16i6f_gg_._fixed_left_16i6f_gg_._shadowVertical_median_16i6f_gg_._use_primary_16i6f_gg_,.___SGroup_16i6f_gg_._fixed_left_16i6f_gg_._shadowVertical_start_16i6f_gg_._use_primary_16i6f_gg_{padding-right:calc(var(--intergalactic-spacing-3x, 12px) + 5px)}.___SColumn_16i6f_gg_._fixed_left_16i6f_gg_._shadowVertical_median_16i6f_gg_._use_secondary_16i6f_gg_,.___SColumn_16i6f_gg_._fixed_left_16i6f_gg_._shadowVertical_start_16i6f_gg_._use_secondary_16i6f_gg_,.___SGroup_16i6f_gg_._fixed_left_16i6f_gg_._shadowVertical_median_16i6f_gg_._use_secondary_16i6f_gg_,.___SGroup_16i6f_gg_._fixed_left_16i6f_gg_._shadowVertical_start_16i6f_gg_._use_secondary_16i6f_gg_{padding-right:calc(var(--intergalactic-spacing-2x, 8px) + 5px)}.___SColumn_16i6f_gg_._fixed_left_16i6f_gg_._shadowVertical_median_16i6f_gg_:after,.___SColumn_16i6f_gg_._fixed_left_16i6f_gg_._shadowVertical_start_16i6f_gg_:after,.___SGroup_16i6f_gg_._fixed_left_16i6f_gg_._shadowVertical_median_16i6f_gg_:after,.___SGroup_16i6f_gg_._fixed_left_16i6f_gg_._shadowVertical_start_16i6f_gg_:after{display:block;right:0;background:var(--intergalactic-scroll-area-shadow-left,\n linear-gradient(to right, rgba(25, 27, 35, 0.1) 20.55%, rgba(255, 255, 255, 0.0001) 100%))}.___SColumn_16i6f_gg_._fixed_right_16i6f_gg_._shadowVertical_end_16i6f_gg_,.___SColumn_16i6f_gg_._fixed_right_16i6f_gg_._shadowVertical_median_16i6f_gg_,.___SGroup_16i6f_gg_._fixed_right_16i6f_gg_._shadowVertical_end_16i6f_gg_,.___SGroup_16i6f_gg_._fixed_right_16i6f_gg_._shadowVertical_median_16i6f_gg_{margin-left:-5px;border-left-color:transparent}.___SColumn_16i6f_gg_._fixed_right_16i6f_gg_._shadowVertical_end_16i6f_gg_._use_primary_16i6f_gg_,.___SColumn_16i6f_gg_._fixed_right_16i6f_gg_._shadowVertical_median_16i6f_gg_._use_primary_16i6f_gg_,.___SGroup_16i6f_gg_._fixed_right_16i6f_gg_._shadowVertical_end_16i6f_gg_._use_primary_16i6f_gg_,.___SGroup_16i6f_gg_._fixed_right_16i6f_gg_._shadowVertical_median_16i6f_gg_._use_primary_16i6f_gg_{padding-left:calc(var(--intergalactic-spacing-3x, 12px) + 5px)}.___SColumn_16i6f_gg_._fixed_right_16i6f_gg_._shadowVertical_end_16i6f_gg_._use_secondary_16i6f_gg_,.___SColumn_16i6f_gg_._fixed_right_16i6f_gg_._shadowVertical_median_16i6f_gg_._use_secondary_16i6f_gg_,.___SGroup_16i6f_gg_._fixed_right_16i6f_gg_._shadowVertical_end_16i6f_gg_._use_secondary_16i6f_gg_,.___SGroup_16i6f_gg_._fixed_right_16i6f_gg_._shadowVertical_median_16i6f_gg_._use_secondary_16i6f_gg_{padding-left:calc(var(--intergalactic-spacing-2x, 8px) + 5px)}.___SColumn_16i6f_gg_._fixed_right_16i6f_gg_._shadowVertical_end_16i6f_gg_:after,.___SColumn_16i6f_gg_._fixed_right_16i6f_gg_._shadowVertical_median_16i6f_gg_:after,.___SGroup_16i6f_gg_._fixed_right_16i6f_gg_._shadowVertical_end_16i6f_gg_:after,.___SGroup_16i6f_gg_._fixed_right_16i6f_gg_._shadowVertical_median_16i6f_gg_:after{display:block;left:0;background:var(--intergalactic-scroll-area-shadow-right,\n linear-gradient(to left, rgba(25, 27, 35, 0.1) 20.55%, rgba(255, 255, 255, 0.0001) 100%))}", /*__inner_css_end__*/"16i6f_gg_"),
19
+ const style = (/*__reshadow_css_start__*/_core.sstyled.insert(/*__inner_css_start__*/".___SGroupContainer_1mbam_gg_,.___SHead_1mbam_gg_{display:contents}.___SHead_1mbam_gg_.__isDataEmpty_1mbam_gg_.__gridTemplateColumns_1mbam_gg_{display:grid;grid-template-columns:var(--gridTemplateColumns_1mbam);overflow:auto;scrollbar-width:thin}.___SHead_1mbam_gg_.__animationDuration_1mbam_gg_>.___SColumn_1mbam_gg_{transition:top var(--animationDuration_1mbam) ease-out}.___SHead_1mbam_gg_.__sticky_1mbam_gg_ .___SColumn_1mbam_gg_,.___SHead_1mbam_gg_.__sticky_1mbam_gg_ .___SGroup_1mbam_gg_{position:sticky;top:0;z-index:18}.___SHead_1mbam_gg_.__sticky_1mbam_gg_ .___SGroupContainer_1mbam_gg_>.___SColumn_1mbam_gg_{position:sticky;z-index:18}.___SHead_1mbam_gg_.__compact_1mbam_gg_ .___SColumn_1mbam_gg_{padding:var(--intergalactic-spacing-3x, 12px) var(--intergalactic-spacing-2x, 8px)}.___SColumn_1mbam_gg_,.___SGroup_1mbam_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;line-height:var(--intergalactic-lh-100, 133%)}.___SGroup_1mbam_gg_{justify-content:center;text-align:center;background-color:var(--intergalactic-table-th-primary-cell, #f4f5f9)}.___SGroup_1mbam_gg_._use_primary_1mbam_gg_{padding:var(--intergalactic-spacing-3x, 12px)}.___SGroup_1mbam_gg_._use_primary_1mbam_gg_:has(~.___SColumn_1mbam_gg_.__visibleSort_1mbam_gg_){background-color:var(--intergalactic-table-th-primary-cell-hover, #e0e1e9)}.___SGroup_1mbam_gg_._use_secondary_1mbam_gg_{padding:var(--intergalactic-spacing-2x, 8px)}.___SColumn_1mbam_gg_._borders_both_1mbam_gg_,.___SColumn_1mbam_gg_._borders_left_1mbam_gg_,.___SGroup_1mbam_gg_._borders_both_1mbam_gg_,.___SGroup_1mbam_gg_._borders_left_1mbam_gg_{border-left:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SColumn_1mbam_gg_._borders_both_1mbam_gg_,.___SColumn_1mbam_gg_._borders_right_1mbam_gg_,.___SGroup_1mbam_gg_._borders_both_1mbam_gg_,.___SGroup_1mbam_gg_._borders_right_1mbam_gg_{border-right:1px solid var(--intergalactic-border-secondary, #e0e1e9)}.___SColumn_1mbam_gg_._use_primary_1mbam_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_1mbam_gg_._use_primary_1mbam_gg_ .___SSortWrapper_1mbam_gg_::before{background:linear-gradient(270deg,var(--intergalactic-table-th-primary-cell-hover, #e0e1e9) 67.5%,rgba(224,225,233,0) 105%)}.___SColumn_1mbam_gg_._use_primary_1mbam_gg_.__visibleSort_1mbam_gg_{background-color:var(--intergalactic-table-th-primary-cell-hover, #e0e1e9)}.___SColumn_1mbam_gg_._use_primary_1mbam_gg_.__visibleSort_1mbam_gg_ .___SSortWrapper_1mbam_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}.___SColumn_1mbam_gg_._use_primary_1mbam_gg_.__visibleSort_1mbam_gg_ .___SSortButton_1mbam_gg_,.___SColumn_1mbam_gg_._use_primary_1mbam_gg_.__visibleSort_1mbam_gg_ .___SSortWrapper_1mbam_gg_::before,.___SColumn_1mbam_gg_._use_secondary_1mbam_gg_.__visibleSort_1mbam_gg_ .___SSortWrapper_1mbam_gg_::before{display:flex;opacity:1}.___SColumn_1mbam_gg_._use_primary_1mbam_gg_._justifyContent_right_1mbam_gg_ .___SSortWrapper_1mbam_gg_{position:absolute}.___SColumn_1mbam_gg_._use_primary_1mbam_gg_._justifyContent_right_1mbam_gg_.__changeSortSize_1mbam_gg_.__isSorted_1mbam_gg_ .___SSortWrapper_1mbam_gg_,.___SColumn_1mbam_gg_._use_secondary_1mbam_gg_._justifyContent_right_1mbam_gg_.__changeSortSize_1mbam_gg_.__isSorted_1mbam_gg_ .___SSortWrapper_1mbam_gg_{position:relative}.___SColumn_1mbam_gg_._use_secondary_1mbam_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_1mbam_gg_._use_secondary_1mbam_gg_ .___SSortWrapper_1mbam_gg_::before{background:linear-gradient(270deg,var(--intergalactic-table-th-secondary-cell, #ffffff) 67.5%,rgba(255,255,255,0) 105%)}.___SColumn_1mbam_gg_._use_secondary_1mbam_gg_.__visibleSort_1mbam_gg_ .___SSortWrapper_1mbam_gg_{flex-basis:calc(var(--intergalactic-spacing-1x, 4px) + 16px);opacity:1}.___SColumn_1mbam_gg_._use_secondary_1mbam_gg_.__visibleSort_1mbam_gg_ .___SSortButton_1mbam_gg_{display:flex;opacity:1}.___SColumn_1mbam_gg_._use_secondary_1mbam_gg_._justifyContent_right_1mbam_gg_ .___SSortWrapper_1mbam_gg_{position:absolute}.___SColumn_1mbam_gg_.__gridArea_1mbam_gg_,.___SGroupTitle_1mbam_gg_.__gridArea_1mbam_gg_,.___SGroup_1mbam_gg_.__gridArea_1mbam_gg_{grid-area:var(--gridArea_1mbam)}.___SHead_1mbam_gg_ .___SColumn_1mbam_gg_.__fixed_1mbam_gg_,.___SHead_1mbam_gg_ .___SGroup_1mbam_gg_.__fixed_1mbam_gg_,.___SHead_1mbam_gg_.__sticky_1mbam_gg_ .___SColumn_1mbam_gg_.__fixed_1mbam_gg_{position:sticky;z-index:19}@media (hover:hover){.___SColumn_1mbam_gg_.__sortable_1mbam_gg_:hover{cursor:pointer}}.___SSortWrapper_1mbam_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_1mbam_gg_,.___SSortWrapper_1mbam_gg_:before{display:none;position:absolute;right:0;opacity:0;transition:opacity .3s ease}.___SSortWrapper_1mbam_gg_:before{content:\"\";top:0;width:20px;height:100%}.___SSortButton_1mbam_gg_{fill:var(--intergalactic-icon-secondary-neutral-hover-active, #878992);margin-left:var(--intergalactic-spacing-1x, 4px)}.___SHead_1mbam_gg_._sideIndents_wide_1mbam_gg_ .___SColumn_1mbam_gg_:first-child{padding-left:var(--intergalactic-spacing-5x, 20px)}.___SHead_1mbam_gg_._sideIndents_wide_1mbam_gg_ .___SColumn_1mbam_gg_:last-child{padding-right:var(--intergalactic-spacing-5x, 20px)}.___SHeadCheckboxCol_1mbam_gg_{cursor:pointer}.___SColumn_1mbam_gg_.__fixed_1mbam_gg_.__shadowVertical_1mbam_gg_:after,.___SGroup_1mbam_gg_.__fixed_1mbam_gg_.__shadowVertical_1mbam_gg_:after{content:\"\";position:absolute;pointer-events:none;display:none;top:0;width:5px;height:100%;z-index:5}.___SColumn_1mbam_gg_._fixed_left_1mbam_gg_._shadowVertical_median_1mbam_gg_,.___SColumn_1mbam_gg_._fixed_left_1mbam_gg_._shadowVertical_start_1mbam_gg_,.___SGroup_1mbam_gg_._fixed_left_1mbam_gg_._shadowVertical_median_1mbam_gg_,.___SGroup_1mbam_gg_._fixed_left_1mbam_gg_._shadowVertical_start_1mbam_gg_{margin-right:-5px;border-right-color:transparent}.___SColumn_1mbam_gg_._fixed_left_1mbam_gg_._shadowVertical_median_1mbam_gg_._use_primary_1mbam_gg_,.___SColumn_1mbam_gg_._fixed_left_1mbam_gg_._shadowVertical_start_1mbam_gg_._use_primary_1mbam_gg_,.___SGroup_1mbam_gg_._fixed_left_1mbam_gg_._shadowVertical_median_1mbam_gg_._use_primary_1mbam_gg_,.___SGroup_1mbam_gg_._fixed_left_1mbam_gg_._shadowVertical_start_1mbam_gg_._use_primary_1mbam_gg_{padding-right:calc(var(--intergalactic-spacing-3x, 12px) + 5px)}.___SColumn_1mbam_gg_._fixed_left_1mbam_gg_._shadowVertical_median_1mbam_gg_._use_secondary_1mbam_gg_,.___SColumn_1mbam_gg_._fixed_left_1mbam_gg_._shadowVertical_start_1mbam_gg_._use_secondary_1mbam_gg_,.___SGroup_1mbam_gg_._fixed_left_1mbam_gg_._shadowVertical_median_1mbam_gg_._use_secondary_1mbam_gg_,.___SGroup_1mbam_gg_._fixed_left_1mbam_gg_._shadowVertical_start_1mbam_gg_._use_secondary_1mbam_gg_{padding-right:calc(var(--intergalactic-spacing-2x, 8px) + 5px)}.___SColumn_1mbam_gg_._fixed_left_1mbam_gg_._shadowVertical_median_1mbam_gg_:after,.___SColumn_1mbam_gg_._fixed_left_1mbam_gg_._shadowVertical_start_1mbam_gg_:after,.___SGroup_1mbam_gg_._fixed_left_1mbam_gg_._shadowVertical_median_1mbam_gg_:after,.___SGroup_1mbam_gg_._fixed_left_1mbam_gg_._shadowVertical_start_1mbam_gg_:after{display:block;right:0;background:var(--intergalactic-scroll-area-shadow-left,\n linear-gradient(to right, rgba(25, 27, 35, 0.1) 20.55%, rgba(255, 255, 255, 0.0001) 100%))}.___SColumn_1mbam_gg_._fixed_right_1mbam_gg_._shadowVertical_end_1mbam_gg_,.___SColumn_1mbam_gg_._fixed_right_1mbam_gg_._shadowVertical_median_1mbam_gg_,.___SGroup_1mbam_gg_._fixed_right_1mbam_gg_._shadowVertical_end_1mbam_gg_,.___SGroup_1mbam_gg_._fixed_right_1mbam_gg_._shadowVertical_median_1mbam_gg_{margin-left:-5px;border-left-color:transparent}.___SColumn_1mbam_gg_._fixed_right_1mbam_gg_._shadowVertical_end_1mbam_gg_._use_primary_1mbam_gg_,.___SColumn_1mbam_gg_._fixed_right_1mbam_gg_._shadowVertical_median_1mbam_gg_._use_primary_1mbam_gg_,.___SGroup_1mbam_gg_._fixed_right_1mbam_gg_._shadowVertical_end_1mbam_gg_._use_primary_1mbam_gg_,.___SGroup_1mbam_gg_._fixed_right_1mbam_gg_._shadowVertical_median_1mbam_gg_._use_primary_1mbam_gg_{padding-left:calc(var(--intergalactic-spacing-3x, 12px) + 5px)}.___SColumn_1mbam_gg_._fixed_right_1mbam_gg_._shadowVertical_end_1mbam_gg_._use_secondary_1mbam_gg_,.___SColumn_1mbam_gg_._fixed_right_1mbam_gg_._shadowVertical_median_1mbam_gg_._use_secondary_1mbam_gg_,.___SGroup_1mbam_gg_._fixed_right_1mbam_gg_._shadowVertical_end_1mbam_gg_._use_secondary_1mbam_gg_,.___SGroup_1mbam_gg_._fixed_right_1mbam_gg_._shadowVertical_median_1mbam_gg_._use_secondary_1mbam_gg_{padding-left:calc(var(--intergalactic-spacing-2x, 8px) + 5px)}.___SColumn_1mbam_gg_._fixed_right_1mbam_gg_._shadowVertical_end_1mbam_gg_:after,.___SColumn_1mbam_gg_._fixed_right_1mbam_gg_._shadowVertical_median_1mbam_gg_:after,.___SGroup_1mbam_gg_._fixed_right_1mbam_gg_._shadowVertical_end_1mbam_gg_:after,.___SGroup_1mbam_gg_._fixed_right_1mbam_gg_._shadowVertical_median_1mbam_gg_:after{display:block;left:0;background:var(--intergalactic-scroll-area-shadow-right,\n linear-gradient(to left, rgba(25, 27, 35, 0.1) 20.55%, rgba(255, 255, 255, 0.0001) 100%))}", /*__inner_css_end__*/"1mbam_gg_"),
19
20
  /*__reshadow_css_end__*/
20
21
  {
21
- "__SHead": "___SHead_16i6f_gg_",
22
- "__SGroupContainer": "___SGroupContainer_16i6f_gg_",
23
- "_isDataEmpty": "__isDataEmpty_16i6f_gg_",
24
- "_gridTemplateColumns": "__gridTemplateColumns_16i6f_gg_",
25
- "--gridTemplateColumns": "--gridTemplateColumns_16i6f",
26
- "_animationDuration": "__animationDuration_16i6f_gg_",
27
- "__SColumn": "___SColumn_16i6f_gg_",
28
- "--animationDuration": "--animationDuration_16i6f",
29
- "_sticky": "__sticky_16i6f_gg_",
30
- "__SGroup": "___SGroup_16i6f_gg_",
31
- "_compact": "__compact_16i6f_gg_",
32
- "_use_secondary": "_use_secondary_16i6f_gg_",
33
- "_borders_both": "_borders_both_16i6f_gg_",
34
- "_borders_left": "_borders_left_16i6f_gg_",
35
- "_borders_right": "_borders_right_16i6f_gg_",
36
- "_gridArea": "__gridArea_16i6f_gg_",
37
- "__SGroupTitle": "___SGroupTitle_16i6f_gg_",
38
- "--gridArea": "--gridArea_16i6f",
39
- "_fixed": "__fixed_16i6f_gg_",
40
- "_sortable": "__sortable_16i6f_gg_",
41
- "__SSortWrapper": "___SSortWrapper_16i6f_gg_",
42
- "__SSortButton": "___SSortButton_16i6f_gg_",
43
- "__SHeadCheckboxCol": "___SHeadCheckboxCol_16i6f_gg_",
44
- "_use_primary": "_use_primary_16i6f_gg_",
45
- "_visibleSort": "__visibleSort_16i6f_gg_",
46
- "_justifyContent_right": "_justifyContent_right_16i6f_gg_",
47
- "_changeSortSize": "__changeSortSize_16i6f_gg_",
48
- "_isSorted": "__isSorted_16i6f_gg_",
49
- "_sideIndents_wide": "_sideIndents_wide_16i6f_gg_",
50
- "_shadowVertical": "__shadowVertical_16i6f_gg_",
51
- "_fixed_left": "_fixed_left_16i6f_gg_",
52
- "_shadowVertical_median": "_shadowVertical_median_16i6f_gg_",
53
- "_shadowVertical_start": "_shadowVertical_start_16i6f_gg_",
54
- "_fixed_right": "_fixed_right_16i6f_gg_",
55
- "_shadowVertical_end": "_shadowVertical_end_16i6f_gg_"
22
+ "__SHead": "___SHead_1mbam_gg_",
23
+ "__SGroupContainer": "___SGroupContainer_1mbam_gg_",
24
+ "_isDataEmpty": "__isDataEmpty_1mbam_gg_",
25
+ "_gridTemplateColumns": "__gridTemplateColumns_1mbam_gg_",
26
+ "--gridTemplateColumns": "--gridTemplateColumns_1mbam",
27
+ "_animationDuration": "__animationDuration_1mbam_gg_",
28
+ "__SColumn": "___SColumn_1mbam_gg_",
29
+ "--animationDuration": "--animationDuration_1mbam",
30
+ "_sticky": "__sticky_1mbam_gg_",
31
+ "__SGroup": "___SGroup_1mbam_gg_",
32
+ "_compact": "__compact_1mbam_gg_",
33
+ "_use_secondary": "_use_secondary_1mbam_gg_",
34
+ "_borders_both": "_borders_both_1mbam_gg_",
35
+ "_borders_left": "_borders_left_1mbam_gg_",
36
+ "_borders_right": "_borders_right_1mbam_gg_",
37
+ "_gridArea": "__gridArea_1mbam_gg_",
38
+ "__SGroupTitle": "___SGroupTitle_1mbam_gg_",
39
+ "--gridArea": "--gridArea_1mbam",
40
+ "_fixed": "__fixed_1mbam_gg_",
41
+ "_sortable": "__sortable_1mbam_gg_",
42
+ "__SSortWrapper": "___SSortWrapper_1mbam_gg_",
43
+ "__SSortButton": "___SSortButton_1mbam_gg_",
44
+ "__SHeadCheckboxCol": "___SHeadCheckboxCol_1mbam_gg_",
45
+ "_use_primary": "_use_primary_1mbam_gg_",
46
+ "_visibleSort": "__visibleSort_1mbam_gg_",
47
+ "_justifyContent_right": "_justifyContent_right_1mbam_gg_",
48
+ "_changeSortSize": "__changeSortSize_1mbam_gg_",
49
+ "_isSorted": "__isSorted_1mbam_gg_",
50
+ "_sideIndents_wide": "_sideIndents_wide_1mbam_gg_",
51
+ "_shadowVertical": "__shadowVertical_1mbam_gg_",
52
+ "_fixed_left": "_fixed_left_1mbam_gg_",
53
+ "_shadowVertical_median": "_shadowVertical_median_1mbam_gg_",
54
+ "_shadowVertical_start": "_shadowVertical_start_1mbam_gg_",
55
+ "_fixed_right": "_fixed_right_1mbam_gg_",
56
+ "_shadowVertical_end": "_shadowVertical_end_1mbam_gg_"
56
57
  });
57
58
  class HeadRoot extends _core.Component {
58
59
  constructor(...args) {
59
60
  super(...args);
61
+ (0, _defineProperty2.default)(this, "unsubscribeSelectAll", undefined);
60
62
  (0, _defineProperty2.default)(this, "handleSelectAll", (value, event) => {
61
63
  const {
62
- selectedRows = []
64
+ selectedRows
63
65
  } = this.asProps;
64
- const idsSet = new Set(selectedRows);
65
- if (value) {
66
- this.selectableRows.forEach(row => {
67
- idsSet.add(row[_DataTable.UNIQ_ROW_KEY]);
68
- });
69
- } else {
70
- this.selectableRows.forEach(row => {
71
- idsSet.delete(row[_DataTable.UNIQ_ROW_KEY]);
72
- });
66
+ if (Array.isArray(selectedRows)) {
67
+ const idsSet = new Set(selectedRows);
68
+ if (value) {
69
+ this.selectableRows.forEach(row => {
70
+ idsSet.add(row[_DataTable.UNIQ_ROW_KEY]);
71
+ });
72
+ } else {
73
+ this.selectableRows.forEach(row => {
74
+ idsSet.delete(row[_DataTable.UNIQ_ROW_KEY]);
75
+ });
76
+ }
77
+ this.asProps.onChangeSelectAll?.(Array.from(idsSet), event);
78
+ } else if (selectedRows) {
79
+ if (value) {
80
+ selectedRows.selectAll();
81
+ } else {
82
+ selectedRows.clearAllAvailable();
83
+ }
73
84
  }
74
- this.asProps.onChangeSelectAll?.(Array.from(idsSet), event);
75
85
  });
76
86
  (0, _defineProperty2.default)(this, "handleClickSelectAll", value => event => {
77
87
  event?.preventDefault();
@@ -79,6 +89,19 @@ class HeadRoot extends _core.Component {
79
89
  this.handleSelectAll(value, event);
80
90
  });
81
91
  }
92
+ componentDidMount() {
93
+ const {
94
+ selectedRows
95
+ } = this.asProps;
96
+ if (selectedRows && !Array.isArray(selectedRows)) {
97
+ this.unsubscribeSelectAll = selectedRows.subscribe(_SelectableRows.SelectableRows.SELECT_ALL_EVENT, () => {
98
+ this.forceUpdate();
99
+ });
100
+ }
101
+ }
102
+ componentWillUnmount() {
103
+ this.unsubscribeSelectAll?.();
104
+ }
82
105
  sortableColumnDescribeId() {
83
106
  const {
84
107
  uid
@@ -188,15 +211,23 @@ class HeadRoot extends _core.Component {
188
211
  }
189
212
  get areAllRowsSelected() {
190
213
  const {
191
- selectedRows = []
214
+ selectedRows
192
215
  } = this.asProps;
193
- return selectedRows.length > 0 && this.selectableRows.every(row => selectedRows?.includes(row[_DataTable.UNIQ_ROW_KEY]));
216
+ if (Array.isArray(selectedRows)) {
217
+ return selectedRows.length > 0 && this.selectableRows.every(row => selectedRows?.includes(row[_DataTable.UNIQ_ROW_KEY]));
218
+ } else if (selectedRows) {
219
+ return selectedRows.isAllSelected();
220
+ }
194
221
  }
195
222
  get isIndeterminate() {
196
223
  const {
197
224
  selectedRows
198
225
  } = this.asProps;
199
- return this.selectableRows.some(row => selectedRows?.includes(row[_DataTable.UNIQ_ROW_KEY]));
226
+ if (Array.isArray(selectedRows)) {
227
+ return this.selectableRows.some(row => selectedRows?.includes(row[_DataTable.UNIQ_ROW_KEY]));
228
+ } else if (selectedRows) {
229
+ return selectedRows.isIndeterminate();
230
+ }
200
231
  }
201
232
  get selectableRows() {
202
233
  const {
@@ -1 +1 @@
1
- {"version":3,"file":"Head.js","names":["_core","require","_baseComponents","_checkbox","_interopRequireDefault","_react","_Column","_Group","_DataTable","style","sstyled","insert","HeadRoot","Component","constructor","args","_defineProperty2","default","value","event","selectedRows","asProps","idsSet","Set","selectableRows","forEach","row","add","UNIQ_ROW_KEY","delete","onChangeSelectAll","Array","from","preventDefault","stopPropagation","handleSelectAll","sortableColumnDescribeId","uid","getGroupProps","props","index","fixed","columns","use","gridAreaGroupMap","children","getFixedStyle","shadowVertical","top","scrollDirection","groupColumns","firstColumn","lastColumn","length","name","undefined","gridArea","get","withConfig","showShadowVertical","getColumnProps","_","sort","onSortChange","tableRef","gridTemplateColumns","gridTemplateAreas","sticky","h","onCellClick","column","borders","parent","areAllRowsSelected","every","includes","isIndeterminate","some","flatRows","mappedFlatRows","filter","r","nextColumnName","render","_ref","_ref2","SHead","Box","SHeadCheckboxCol","Head","Column","Children","styles","getI18nText","treeColumns","animationDuration","isDataEmpty","indeterminate","createElement","Fragment","cn","assignProps","join","SELECT_ALL","toString","handleClickSelectAll","Value","Control","CheckMark","mt","map","_i","columnsName","c","DataTable","Group","_extends2","key","title","ScreenReaderOnly","exports","createComponent"],"sources":["../../../../src/components/Head/Head.tsx"],"sourcesContent":["import { Box, ScreenReaderOnly } from '@semcore/base-components';\nimport Checkbox from '@semcore/checkbox';\nimport { Component, createComponent, type Intergalactic, Root, sstyled } from '@semcore/core';\nimport type Tooltip from '@semcore/tooltip';\nimport React from 'react';\n\nimport { Column } from './Column';\nimport type { DataTableColumnProps } from './Column.types';\nimport { Group } from './Group';\nimport type { DataTableGroupProps } from './Group.type';\nimport type { DataTableHeadProps, HeadPropsInner } from './Head.types';\nimport style from './style.shadow.css';\nimport type { DTRow } from '../Body/Row.types';\nimport { DataTable, type ROW_GROUP, SELECT_ALL, UNIQ_ROW_KEY } from '../DataTable/DataTable';\nimport type { DataTableData } from '../DataTable/DataTable.types';\n\nclass HeadRoot<\n Data extends DataTableData,\n UniqKey extends (Data[number] extends { [ROW_GROUP]: DataTableData } ? keyof Data[number][typeof ROW_GROUP][number] : keyof Data[number]),\n UniqKeyType extends (Data[number] extends { [ROW_GROUP]: DataTableData } ? Data[number][typeof ROW_GROUP][number][UniqKey] : Data[number][UniqKey]),\n> extends Component<\n DataTableHeadProps,\n [],\n {},\n HeadPropsInner<Data, UniqKey, UniqKeyType>\n > {\n static displayName = 'Head';\n static style = style;\n\n sortableColumnDescribeId() {\n const { uid } = this.asProps;\n return `${uid}-column-sortable-describer`;\n }\n\n getGroupProps(props: any, index: number) {\n const { fixed, columns } = props;\n const { use, gridAreaGroupMap, children, getFixedStyle, shadowVertical, top, scrollDirection } = this.asProps;\n const groupColumns = columns ?? [];\n\n const firstColumn = groupColumns[0];\n const lastColumn = groupColumns[groupColumns.length - 1];\n\n const style: any = {};\n\n if (fixed === 'left' && firstColumn) {\n const [name, value] = getFixedStyle({ name: firstColumn.name, fixed: 'left' });\n if (name !== undefined && value !== undefined) {\n style[name] = value;\n }\n }\n if (fixed === 'right' && lastColumn) {\n const [name, value] = getFixedStyle({ name: lastColumn.name, fixed: 'right' });\n if (name !== undefined && value !== undefined) {\n style[name] = value;\n }\n }\n if (top && scrollDirection !== 'horizontal') {\n style.top = `${top}px`;\n }\n\n return {\n use,\n gridArea: gridAreaGroupMap.get(index),\n withConfig: children === undefined,\n getFixedStyle,\n shadowVertical: (firstColumn.showShadowVertical || lastColumn.showShadowVertical) ? shadowVertical : undefined,\n style,\n scrollDirection,\n };\n }\n\n getColumnProps(_: any, index: number) {\n const {\n use,\n columns,\n sort,\n onSortChange,\n tableRef,\n gridTemplateColumns,\n gridTemplateAreas,\n sticky,\n top,\n selectedRows,\n h,\n getFixedStyle,\n onCellClick,\n shadowVertical,\n scrollDirection,\n } = this.asProps;\n const column = columns[index];\n\n if (index === 0 && selectedRows && columns[index + 1].fixed) {\n column.fixed = 'left';\n }\n\n const [name, value] = getFixedStyle(column);\n const style: any = {};\n\n if (top && scrollDirection !== 'horizontal') {\n style.top = `${top}px`;\n }\n\n if (name !== undefined && value !== undefined) {\n style[name] = value;\n }\n\n return {\n use,\n 'aria-colindex': index + 1,\n style,\n 'gridArea': column.gridArea,\n 'fixed': column.fixed,\n sticky,\n 'borders': column.borders,\n sort,\n onSortChange,\n 'parent': column.parent,\n 'sortableColumnDescribeId': this.sortableColumnDescribeId(),\n 'columnIndex': index,\n tableRef,\n gridTemplateColumns,\n gridTemplateAreas,\n h,\n 'onClick': onCellClick,\n 'shadowVertical': column.showShadowVertical ? shadowVertical : undefined,\n scrollDirection,\n };\n }\n\n handleSelectAll = (value: boolean, event?: React.SyntheticEvent<HTMLElement>) => {\n const { selectedRows = [] } = this.asProps;\n const idsSet = new Set<UniqKeyType>(selectedRows);\n\n if (value) {\n this.selectableRows.forEach((row) => {\n idsSet.add(row[UNIQ_ROW_KEY]);\n });\n } else {\n this.selectableRows.forEach((row) => {\n idsSet.delete(row[UNIQ_ROW_KEY]);\n });\n }\n\n this.asProps.onChangeSelectAll?.(Array.from(idsSet), event);\n };\n\n handleClickSelectAll = (value: boolean) => (event?: React.SyntheticEvent<HTMLElement>) => {\n event?.preventDefault();\n event?.stopPropagation();\n\n this.handleSelectAll(value, event);\n };\n\n get areAllRowsSelected() {\n const { selectedRows = [] } = this.asProps;\n\n return selectedRows.length > 0 && this.selectableRows.every((row) => selectedRows?.includes(row[UNIQ_ROW_KEY]));\n }\n\n get isIndeterminate() {\n const { selectedRows } = this.asProps;\n\n return this.selectableRows.some((row) => selectedRows?.includes(row[UNIQ_ROW_KEY]));\n }\n\n get selectableRows(): DTRow<UniqKeyType>[] {\n const { columns, flatRows } = this.asProps;\n const mappedFlatRows = flatRows\n .filter((r) => {\n const nextColumnName = columns[1]?.name;\n return r[nextColumnName] !== undefined;\n });\n\n return mappedFlatRows;\n }\n\n render() {\n const SHead = Root;\n const SHeadCheckboxCol = Head.Column;\n const { Children, styles, getI18nText, children, treeColumns, selectedRows, sticky, animationDuration, isDataEmpty, gridTemplateColumns } = this.asProps;\n\n const areAllRowsSelected = this.areAllRowsSelected;\n const indeterminate = this.isIndeterminate && !areAllRowsSelected;\n\n return sstyled(styles)(\n <>\n <SHead\n render={Box}\n role='row'\n aria-rowindex={1}\n sticky={sticky}\n use:animationDuration={animationDuration ? `${animationDuration}ms` : undefined}\n isDataEmpty={isDataEmpty}\n use:gridTemplateColumns={gridTemplateColumns.join(' ')}\n tabIndex={isDataEmpty ? 0 : undefined}\n >\n {selectedRows && (\n <SHeadCheckboxCol\n name={SELECT_ALL.toString()}\n onClick={this.handleClickSelectAll(!areAllRowsSelected)}\n >\n <Checkbox\n checked={areAllRowsSelected}\n indeterminate={indeterminate}\n aria-label={getI18nText('DataTable.Header.selectAllCheckbox:aria-label')}\n onChange={this.handleSelectAll}\n >\n <Checkbox.Value>\n <Checkbox.Value.Control />\n <Checkbox.Value.CheckMark mt={0} />\n </Checkbox.Value>\n </Checkbox>\n </SHeadCheckboxCol>\n )}\n\n {children\n ? (\n <Children />\n )\n : (\n <>\n {treeColumns.map((column, _i) => {\n if ('columns' in column) {\n const columnsName = column.columns?.map((c) => c.name).join('/');\n return (\n <DataTable.Head.Group\n key={columnsName}\n {...column}\n name={columnsName}\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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","ignoreList":[]}
1
+ {"version":3,"file":"Head.js","names":["_core","require","_baseComponents","_checkbox","_interopRequireDefault","_react","_Column","_Group","_SelectableRows","_DataTable","style","sstyled","insert","HeadRoot","Component","constructor","args","_defineProperty2","default","undefined","value","event","selectedRows","asProps","Array","isArray","idsSet","Set","selectableRows","forEach","row","add","UNIQ_ROW_KEY","delete","onChangeSelectAll","from","selectAll","clearAllAvailable","preventDefault","stopPropagation","handleSelectAll","componentDidMount","unsubscribeSelectAll","subscribe","SelectableRows","SELECT_ALL_EVENT","forceUpdate","componentWillUnmount","sortableColumnDescribeId","uid","getGroupProps","props","index","fixed","columns","use","gridAreaGroupMap","children","getFixedStyle","shadowVertical","top","scrollDirection","groupColumns","firstColumn","lastColumn","length","name","gridArea","get","withConfig","showShadowVertical","getColumnProps","_","sort","onSortChange","tableRef","gridTemplateColumns","gridTemplateAreas","sticky","h","onCellClick","column","borders","parent","areAllRowsSelected","every","includes","isAllSelected","isIndeterminate","some","flatRows","mappedFlatRows","filter","r","nextColumnName","render","_ref","_ref2","SHead","Box","SHeadCheckboxCol","Head","Column","Children","styles","getI18nText","treeColumns","animationDuration","isDataEmpty","indeterminate","createElement","Fragment","cn","assignProps","join","SELECT_ALL","toString","handleClickSelectAll","Value","Control","CheckMark","mt","map","_i","columnsName","c","DataTable","Group","_extends2","key","title","ScreenReaderOnly","exports","createComponent"],"sources":["../../../../src/components/Head/Head.tsx"],"sourcesContent":["import { Box, ScreenReaderOnly } from '@semcore/base-components';\nimport Checkbox from '@semcore/checkbox';\nimport { Component, createComponent, type Intergalactic, Root, sstyled } from '@semcore/core';\nimport type Tooltip from '@semcore/tooltip';\nimport React from 'react';\n\nimport { Column } from './Column';\nimport type { DataTableColumnProps } from './Column.types';\nimport { Group } from './Group';\nimport type { DataTableGroupProps } from './Group.type';\nimport type { DataTableHeadProps, HeadPropsInner } from './Head.types';\nimport style from './style.shadow.css';\nimport { SelectableRows } from '../../store/SelectableRows';\nimport type { DTRow } from '../Body/Row.types';\nimport { DataTable, type ROW_GROUP, SELECT_ALL, UNIQ_ROW_KEY } from '../DataTable/DataTable';\nimport type { DataTableData } from '../DataTable/DataTable.types';\n\nclass HeadRoot<\n Data extends DataTableData,\n UniqKey extends (Data[number] extends { [ROW_GROUP]: DataTableData } ? keyof Data[number][typeof ROW_GROUP][number] : keyof Data[number]),\n UniqKeyType extends (Data[number] extends { [ROW_GROUP]: DataTableData } ? Data[number][typeof ROW_GROUP][number][UniqKey] : Data[number][UniqKey]),\n> extends Component<\n DataTableHeadProps,\n [],\n {},\n HeadPropsInner<Data, UniqKey, UniqKeyType>\n > {\n static displayName = 'Head';\n static style = style;\n\n private unsubscribeSelectAll: undefined | (() => void) = undefined;\n\n componentDidMount() {\n const { selectedRows } = this.asProps;\n\n if (selectedRows && !Array.isArray(selectedRows)) {\n this.unsubscribeSelectAll = selectedRows.subscribe(SelectableRows.SELECT_ALL_EVENT, () => {\n this.forceUpdate();\n });\n }\n }\n\n componentWillUnmount() {\n this.unsubscribeSelectAll?.();\n }\n\n sortableColumnDescribeId() {\n const { uid } = this.asProps;\n return `${uid}-column-sortable-describer`;\n }\n\n getGroupProps(props: any, index: number) {\n const { fixed, columns } = props;\n const { use, gridAreaGroupMap, children, getFixedStyle, shadowVertical, top, scrollDirection } = this.asProps;\n const groupColumns = columns ?? [];\n\n const firstColumn = groupColumns[0];\n const lastColumn = groupColumns[groupColumns.length - 1];\n\n const style: any = {};\n\n if (fixed === 'left' && firstColumn) {\n const [name, value] = getFixedStyle({ name: firstColumn.name, fixed: 'left' });\n if (name !== undefined && value !== undefined) {\n style[name] = value;\n }\n }\n if (fixed === 'right' && lastColumn) {\n const [name, value] = getFixedStyle({ name: lastColumn.name, fixed: 'right' });\n if (name !== undefined && value !== undefined) {\n style[name] = value;\n }\n }\n if (top && scrollDirection !== 'horizontal') {\n style.top = `${top}px`;\n }\n\n return {\n use,\n gridArea: gridAreaGroupMap.get(index),\n withConfig: children === undefined,\n getFixedStyle,\n shadowVertical: (firstColumn.showShadowVertical || lastColumn.showShadowVertical) ? shadowVertical : undefined,\n style,\n scrollDirection,\n };\n }\n\n getColumnProps(_: any, index: number) {\n const {\n use,\n columns,\n sort,\n onSortChange,\n tableRef,\n gridTemplateColumns,\n gridTemplateAreas,\n sticky,\n top,\n selectedRows,\n h,\n getFixedStyle,\n onCellClick,\n shadowVertical,\n scrollDirection,\n } = this.asProps;\n const column = columns[index];\n\n if (index === 0 && selectedRows && columns[index + 1].fixed) {\n column.fixed = 'left';\n }\n\n const [name, value] = getFixedStyle(column);\n const style: any = {};\n\n if (top && scrollDirection !== 'horizontal') {\n style.top = `${top}px`;\n }\n\n if (name !== undefined && value !== undefined) {\n style[name] = value;\n }\n\n return {\n use,\n 'aria-colindex': index + 1,\n style,\n 'gridArea': column.gridArea,\n 'fixed': column.fixed,\n sticky,\n 'borders': column.borders,\n sort,\n onSortChange,\n 'parent': column.parent,\n 'sortableColumnDescribeId': this.sortableColumnDescribeId(),\n 'columnIndex': index,\n tableRef,\n gridTemplateColumns,\n gridTemplateAreas,\n h,\n 'onClick': onCellClick,\n 'shadowVertical': column.showShadowVertical ? shadowVertical : undefined,\n scrollDirection,\n };\n }\n\n handleSelectAll = (value: boolean, event?: React.SyntheticEvent<HTMLElement>) => {\n const { selectedRows } = this.asProps;\n\n if (Array.isArray(selectedRows)) {\n const idsSet = new Set<UniqKeyType>(selectedRows);\n\n if (value) {\n this.selectableRows.forEach((row) => {\n idsSet.add(row[UNIQ_ROW_KEY]);\n });\n } else {\n this.selectableRows.forEach((row) => {\n idsSet.delete(row[UNIQ_ROW_KEY]);\n });\n }\n\n this.asProps.onChangeSelectAll?.(Array.from(idsSet), event);\n } else if (selectedRows) {\n if (value) {\n selectedRows.selectAll();\n } else {\n selectedRows.clearAllAvailable();\n }\n }\n };\n\n handleClickSelectAll = (value: boolean) => (event?: React.SyntheticEvent<HTMLElement>) => {\n event?.preventDefault();\n event?.stopPropagation();\n\n this.handleSelectAll(value, event);\n };\n\n get areAllRowsSelected() {\n const { selectedRows } = this.asProps;\n\n if (Array.isArray(selectedRows)) {\n return selectedRows.length > 0 && this.selectableRows.every((row) => selectedRows?.includes(row[UNIQ_ROW_KEY]));\n } else if (selectedRows) {\n return selectedRows.isAllSelected();\n }\n }\n\n get isIndeterminate() {\n const { selectedRows } = this.asProps;\n\n if (Array.isArray(selectedRows)) {\n return this.selectableRows.some((row) => selectedRows?.includes(row[UNIQ_ROW_KEY]));\n } else if (selectedRows) {\n return selectedRows.isIndeterminate();\n }\n }\n\n get selectableRows(): DTRow<UniqKeyType>[] {\n const { columns, flatRows } = this.asProps;\n const mappedFlatRows = flatRows\n .filter((r) => {\n const nextColumnName = columns[1]?.name;\n return r[nextColumnName] !== undefined;\n });\n\n return mappedFlatRows;\n }\n\n render() {\n const SHead = Root;\n const SHeadCheckboxCol = Head.Column;\n const { Children, styles, getI18nText, children, treeColumns, selectedRows, sticky, animationDuration, isDataEmpty, gridTemplateColumns } = this.asProps;\n\n const areAllRowsSelected = this.areAllRowsSelected;\n const indeterminate = this.isIndeterminate && !areAllRowsSelected;\n\n return sstyled(styles)(\n <>\n <SHead\n render={Box}\n role='row'\n aria-rowindex={1}\n sticky={sticky}\n use:animationDuration={animationDuration ? `${animationDuration}ms` : undefined}\n isDataEmpty={isDataEmpty}\n use:gridTemplateColumns={gridTemplateColumns.join(' ')}\n tabIndex={isDataEmpty ? 0 : undefined}\n >\n {selectedRows && (\n <SHeadCheckboxCol\n name={SELECT_ALL.toString()}\n onClick={this.handleClickSelectAll(!areAllRowsSelected)}\n >\n <Checkbox\n checked={areAllRowsSelected}\n indeterminate={indeterminate}\n aria-label={getI18nText('DataTable.Header.selectAllCheckbox:aria-label')}\n onChange={this.handleSelectAll}\n >\n <Checkbox.Value>\n <Checkbox.Value.Control />\n <Checkbox.Value.CheckMark mt={0} />\n </Checkbox.Value>\n </Checkbox>\n </SHeadCheckboxCol>\n )}\n\n {children\n ? (\n <Children />\n )\n : (\n <>\n {treeColumns.map((column, _i) => {\n if ('columns' in column) {\n const columnsName = column.columns?.map((c) => c.name).join('/');\n return (\n <DataTable.Head.Group\n key={columnsName}\n {...column}\n name={columnsName}\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":";;;;;;;;;AAEA,IAAAA,KAAA,GAAAC,OAAA;AAFA,IAAAC,eAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAC,sBAAA,CAAAH,OAAA;AAGA,IAAAI,MAAA,GAAAD,sBAAA,CAAAH,OAAA;AAEA,IAAAK,OAAA,GAAAL,OAAA;AAEA,IAAAM,MAAA,GAAAN,OAAA;AAIA,IAAAO,eAAA,GAAAP,OAAA;AAEA,IAAAQ,UAAA,GAAAR,OAAA;AAA6F;AAAA,MAAAS,KAAA,8BAAAV,KAAA,CAAAW,OAAA,CAAAC,MAAA;AAAA;AAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;AAAA;AAG7F,MAAMC,QAAQ,SAIJC,eAAS,CAKf;EAAAC,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAA,IAAAC,gBAAA,CAAAC,OAAA,gCAIuDC,SAAS;IAAA,IAAAF,gBAAA,CAAAC,OAAA,2BAoHhD,CAACE,KAAc,EAAEC,KAAyC,KAAK;MAC/E,MAAM;QAAEC;MAAa,CAAC,GAAG,IAAI,CAACC,OAAO;MAErC,IAAIC,KAAK,CAACC,OAAO,CAACH,YAAY,CAAC,EAAE;QAC/B,MAAMI,MAAM,GAAG,IAAIC,GAAG,CAAcL,YAAY,CAAC;QAEjD,IAAIF,KAAK,EAAE;UACT,IAAI,CAACQ,cAAc,CAACC,OAAO,CAAEC,GAAG,IAAK;YACnCJ,MAAM,CAACK,GAAG,CAACD,GAAG,CAACE,uBAAY,CAAC,CAAC;UAC/B,CAAC,CAAC;QACJ,CAAC,MAAM;UACL,IAAI,CAACJ,cAAc,CAACC,OAAO,CAAEC,GAAG,IAAK;YACnCJ,MAAM,CAACO,MAAM,CAACH,GAAG,CAACE,uBAAY,CAAC,CAAC;UAClC,CAAC,CAAC;QACJ;QAEA,IAAI,CAACT,OAAO,CAACW,iBAAiB,GAAGV,KAAK,CAACW,IAAI,CAACT,MAAM,CAAC,EAAEL,KAAK,CAAC;MAC7D,CAAC,MAAM,IAAIC,YAAY,EAAE;QACvB,IAAIF,KAAK,EAAE;UACTE,YAAY,CAACc,SAAS,CAAC,CAAC;QAC1B,CAAC,MAAM;UACLd,YAAY,CAACe,iBAAiB,CAAC,CAAC;QAClC;MACF;IACF,CAAC;IAAA,IAAApB,gBAAA,CAAAC,OAAA,gCAEuBE,KAAc,IAAMC,KAAyC,IAAK;MACxFA,KAAK,EAAEiB,cAAc,CAAC,CAAC;MACvBjB,KAAK,EAAEkB,eAAe,CAAC,CAAC;MAExB,IAAI,CAACC,eAAe,CAACpB,KAAK,EAAEC,KAAK,CAAC;IACpC,CAAC;EAAA;EAjJDoB,iBAAiBA,CAAA,EAAG;IAClB,MAAM;MAAEnB;IAAa,CAAC,GAAG,IAAI,CAACC,OAAO;IAErC,IAAID,YAAY,IAAI,CAACE,KAAK,CAACC,OAAO,CAACH,YAAY,CAAC,EAAE;MAChD,IAAI,CAACoB,oBAAoB,GAAGpB,YAAY,CAACqB,SAAS,CAACC,8BAAc,CAACC,gBAAgB,EAAE,MAAM;QACxF,IAAI,CAACC,WAAW,CAAC,CAAC;MACpB,CAAC,CAAC;IACJ;EACF;EAEAC,oBAAoBA,CAAA,EAAG;IACrB,IAAI,CAACL,oBAAoB,GAAG,CAAC;EAC/B;EAEAM,wBAAwBA,CAAA,EAAG;IACzB,MAAM;MAAEC;IAAI,CAAC,GAAG,IAAI,CAAC1B,OAAO;IAC5B,OAAO,GAAG0B,GAAG,4BAA4B;EAC3C;EAEAC,aAAaA,CAACC,KAAU,EAAEC,KAAa,EAAE;IACvC,MAAM;MAAEC,KAAK;MAAEC;IAAQ,CAAC,GAAGH,KAAK;IAChC,MAAM;MAAEI,GAAG;MAAEC,gBAAgB;MAAEC,QAAQ;MAAEC,aAAa;MAAEC,cAAc;MAAEC,GAAG;MAAEC;IAAgB,CAAC,GAAG,IAAI,CAACtC,OAAO;IAC7G,MAAMuC,YAAY,GAAGR,OAAO,IAAI,EAAE;IAElC,MAAMS,WAAW,GAAGD,YAAY,CAAC,CAAC,CAAC;IACnC,MAAME,UAAU,GAAGF,YAAY,CAACA,YAAY,CAACG,MAAM,GAAG,CAAC,CAAC;IAExD,MAAMvD,KAAU,GAAG,CAAC,CAAC;IAErB,IAAI2C,KAAK,KAAK,MAAM,IAAIU,WAAW,EAAE;MACnC,MAAM,CAACG,IAAI,EAAE9C,KAAK,CAAC,GAAGsC,aAAa,CAAC;QAAEQ,IAAI,EAAEH,WAAW,CAACG,IAAI;QAAEb,KAAK,EAAE;MAAO,CAAC,CAAC;MAC9E,IAAIa,IAAI,KAAK/C,SAAS,IAAIC,KAAK,KAAKD,SAAS,EAAE;QAC7CT,KAAK,CAACwD,IAAI,CAAC,GAAG9C,KAAK;MACrB;IACF;IACA,IAAIiC,KAAK,KAAK,OAAO,IAAIW,UAAU,EAAE;MACnC,MAAM,CAACE,IAAI,EAAE9C,KAAK,CAAC,GAAGsC,aAAa,CAAC;QAAEQ,IAAI,EAAEF,UAAU,CAACE,IAAI;QAAEb,KAAK,EAAE;MAAQ,CAAC,CAAC;MAC9E,IAAIa,IAAI,KAAK/C,SAAS,IAAIC,KAAK,KAAKD,SAAS,EAAE;QAC7CT,KAAK,CAACwD,IAAI,CAAC,GAAG9C,KAAK;MACrB;IACF;IACA,IAAIwC,GAAG,IAAIC,eAAe,KAAK,YAAY,EAAE;MAC3CnD,KAAK,CAACkD,GAAG,GAAG,GAAGA,GAAG,IAAI;IACxB;IAEA,OAAO;MACLL,GAAG;MACHY,QAAQ,EAAEX,gBAAgB,CAACY,GAAG,CAAChB,KAAK,CAAC;MACrCiB,UAAU,EAAEZ,QAAQ,KAAKtC,SAAS;MAClCuC,aAAa;MACbC,cAAc,EAAGI,WAAW,CAACO,kBAAkB,IAAIN,UAAU,CAACM,kBAAkB,GAAIX,cAAc,GAAGxC,SAAS;MAC9GT,KAAK;MACLmD;IACF,CAAC;EACH;EAEAU,cAAcA,CAACC,CAAM,EAAEpB,KAAa,EAAE;IACpC,MAAM;MACJG,GAAG;MACHD,OAAO;MACPmB,IAAI;MACJC,YAAY;MACZC,QAAQ;MACRC,mBAAmB;MACnBC,iBAAiB;MACjBC,MAAM;MACNlB,GAAG;MACHtC,YAAY;MACZyD,CAAC;MACDrB,aAAa;MACbsB,WAAW;MACXrB,cAAc;MACdE;IACF,CAAC,GAAG,IAAI,CAACtC,OAAO;IAChB,MAAM0D,MAAM,GAAG3B,OAAO,CAACF,KAAK,CAAC;IAE7B,IAAIA,KAAK,KAAK,CAAC,IAAI9B,YAAY,IAAIgC,OAAO,CAACF,KAAK,GAAG,CAAC,CAAC,CAACC,KAAK,EAAE;MAC3D4B,MAAM,CAAC5B,KAAK,GAAG,MAAM;IACvB;IAEA,MAAM,CAACa,IAAI,EAAE9C,KAAK,CAAC,GAAGsC,aAAa,CAACuB,MAAM,CAAC;IAC3C,MAAMvE,KAAU,GAAG,CAAC,CAAC;IAErB,IAAIkD,GAAG,IAAIC,eAAe,KAAK,YAAY,EAAE;MAC3CnD,KAAK,CAACkD,GAAG,GAAG,GAAGA,GAAG,IAAI;IACxB;IAEA,IAAIM,IAAI,KAAK/C,SAAS,IAAIC,KAAK,KAAKD,SAAS,EAAE;MAC7CT,KAAK,CAACwD,IAAI,CAAC,GAAG9C,KAAK;IACrB;IAEA,OAAO;MACLmC,GAAG;MACH,eAAe,EAAEH,KAAK,GAAG,CAAC;MAC1B1C,KAAK;MACL,UAAU,EAAEuE,MAAM,CAACd,QAAQ;MAC3B,OAAO,EAAEc,MAAM,CAAC5B,KAAK;MACrByB,MAAM;MACN,SAAS,EAAEG,MAAM,CAACC,OAAO;MACzBT,IAAI;MACJC,YAAY;MACZ,QAAQ,EAAEO,MAAM,CAACE,MAAM;MACvB,0BAA0B,EAAE,IAAI,CAACnC,wBAAwB,CAAC,CAAC;MAC3D,aAAa,EAAEI,KAAK;MACpBuB,QAAQ;MACRC,mBAAmB;MACnBC,iBAAiB;MACjBE,CAAC;MACD,SAAS,EAAEC,WAAW;MACtB,gBAAgB,EAAEC,MAAM,CAACX,kBAAkB,GAAGX,cAAc,GAAGxC,SAAS;MACxE0C;IACF,CAAC;EACH;EAmCA,IAAIuB,kBAAkBA,CAAA,EAAG;IACvB,MAAM;MAAE9D;IAAa,CAAC,GAAG,IAAI,CAACC,OAAO;IAErC,IAAIC,KAAK,CAACC,OAAO,CAACH,YAAY,CAAC,EAAE;MAC/B,OAAOA,YAAY,CAAC2C,MAAM,GAAG,CAAC,IAAI,IAAI,CAACrC,cAAc,CAACyD,KAAK,CAAEvD,GAAG,IAAKR,YAAY,EAAEgE,QAAQ,CAACxD,GAAG,CAACE,uBAAY,CAAC,CAAC,CAAC;IACjH,CAAC,MAAM,IAAIV,YAAY,EAAE;MACvB,OAAOA,YAAY,CAACiE,aAAa,CAAC,CAAC;IACrC;EACF;EAEA,IAAIC,eAAeA,CAAA,EAAG;IACpB,MAAM;MAAElE;IAAa,CAAC,GAAG,IAAI,CAACC,OAAO;IAErC,IAAIC,KAAK,CAACC,OAAO,CAACH,YAAY,CAAC,EAAE;MAC/B,OAAO,IAAI,CAACM,cAAc,CAAC6D,IAAI,CAAE3D,GAAG,IAAKR,YAAY,EAAEgE,QAAQ,CAACxD,GAAG,CAACE,uBAAY,CAAC,CAAC,CAAC;IACrF,CAAC,MAAM,IAAIV,YAAY,EAAE;MACvB,OAAOA,YAAY,CAACkE,eAAe,CAAC,CAAC;IACvC;EACF;EAEA,IAAI5D,cAAcA,CAAA,EAAyB;IACzC,MAAM;MAAE0B,OAAO;MAAEoC;IAAS,CAAC,GAAG,IAAI,CAACnE,OAAO;IAC1C,MAAMoE,cAAc,GAAGD,QAAQ,CAC5BE,MAAM,CAAEC,CAAC,IAAK;MACb,MAAMC,cAAc,GAAGxC,OAAO,CAAC,CAAC,CAAC,EAAEY,IAAI;MACvC,OAAO2B,CAAC,CAACC,cAAc,CAAC,KAAK3E,SAAS;IACxC,CAAC,CAAC;IAEJ,OAAOwE,cAAc;EACvB;EAEAI,MAAMA,CAAA,EAAG;IAAA,IAAAC,IAAA,QAAAzE,OAAA;MAAA0E,KAAA;IACP,MAAMC,KAAK,GAUGC,mBAAG;IATjB,MAAMC,gBAAgB,GAAGC,IAAI,CAACC,MAAM;IACpC,MAAM;MAAEC,QAAQ;MAAEC,MAAM;MAAEC,WAAW;MAAEhD,QAAQ;MAAEiD,WAAW;MAAEpF,YAAY;MAAEwD,MAAM;MAAE6B,iBAAiB;MAAEC,WAAW;MAAEhC;IAAoB,CAAC,GAAG,IAAI,CAACrD,OAAO;IAExJ,MAAM6D,kBAAkB,GAAG,IAAI,CAACA,kBAAkB;IAClD,MAAMyB,aAAa,GAAG,IAAI,CAACrB,eAAe,IAAI,CAACJ,kBAAkB;IAEjE,OAAAa,KAAA,GAAO,IAAAtF,aAAO,EAAC6F,MAAM,CAAC,eACpBnG,MAAA,CAAAa,OAAA,CAAA4F,aAAA,CAAAzG,MAAA,CAAAa,OAAA,CAAA6F,QAAA,qBACE1G,MAAA,CAAAa,OAAA,CAAA4F,aAAA,CAACZ,KAAK,EAAAD,KAAA,CAAAe,EAAA;MAAA,OAAAhH,KAAA,CAAAiH,WAAA;QAAA,QAEC,KAAK;QAAA,iBACK,CAAC;QAAA,UACRnC,MAAM;QAAA,yBACS6B,iBAAiB,GAAG,GAAGA,iBAAiB,IAAI,GAAGxF,SAAS;QAAA,eAClEyF,WAAW;QAAA,2BACChC,mBAAmB,CAACsC,IAAI,CAAC,GAAG,CAAC;QAAA,YAC5CN,WAAW,GAAG,CAAC,GAAGzF;MAAS,GAAA6E,IAAA;IAAA,IAEpC1E,YAAY,iBACXjB,MAAA,CAAAa,OAAA,CAAA4F,aAAA,CAACV,gBAAgB,EAAAH,KAAA,CAAAe,EAAA;MAAA,QACTG,qBAAU,CAACC,QAAQ,CAAC,CAAC;MAAA,WAClB,IAAI,CAACC,oBAAoB,CAAC,CAACjC,kBAAkB;IAAC,iBAEvD/E,MAAA,CAAAa,OAAA,CAAA4F,aAAA,CAAC3G,SAAA,CAAAe,OAAQ,EAAA+E,KAAA,CAAAe,EAAA;MAAA,WACE5B,kBAAkB;MAAA,iBACZyB,aAAa;MAAA,cAChBJ,WAAW,CAAC,+CAA+C,CAAC;MAAA,YAC9D,IAAI,CAACjE;IAAe,iBAE9BnC,MAAA,CAAAa,OAAA,CAAA4F,aAAA,CAAC3G,SAAA,CAAAe,OAAQ,CAACoG,KAAK,qBACbjH,MAAA,CAAAa,OAAA,CAAA4F,aAAA,CAAC3G,SAAA,CAAAe,OAAQ,CAACoG,KAAK,CAACC,OAAO,MAAE,CAAC,eAC1BlH,MAAA,CAAAa,OAAA,CAAA4F,aAAA,CAAC3G,SAAA,CAAAe,OAAQ,CAACoG,KAAK,CAACE,SAAS;MAACC,EAAE,EAAE;IAAE,CAAE,CACpB,CACR,CACM,CACnB,EAEAhE,QAAQ,gBAEHpD,MAAA,CAAAa,OAAA,CAAA4F,aAAA,CAACP,QAAQ,EAAAN,KAAA,CAAAe,EAAA,gBAAE,CAAC,gBAGZ3G,MAAA,CAAAa,OAAA,CAAA4F,aAAA,CAAAzG,MAAA,CAAAa,OAAA,CAAA6F,QAAA,QACGL,WAAW,CAACgB,GAAG,CAAC,CAACzC,MAAM,EAAE0C,EAAE,KAAK;MAC/B,IAAI,SAAS,IAAI1C,MAAM,EAAE;QACvB,MAAM2C,WAAW,GAAG3C,MAAM,CAAC3B,OAAO,EAAEoE,GAAG,CAAEG,CAAC,IAAKA,CAAC,CAAC3D,IAAI,CAAC,CAACgD,IAAI,CAAC,GAAG,CAAC;QAChE,oBACE7G,MAAA,CAAAa,OAAA,CAAA4F,aAAA,CAACrG,UAAA,CAAAqH,SAAS,CAACzB,IAAI,CAAC0B,KAAK,MAAAC,SAAA,CAAA9G,OAAA;UACnB+G,GAAG,EAAEL;QAAY,GACb3C,MAAM;UACVf,IAAI,EAAE0D,WAAY;UAClBM,KAAK,EAAC;QAAE,EACT,CAAC;MAEN;MAEA,oBAAO7H,MAAA,CAAAa,OAAA,CAAA4F,aAAA,CAACrG,UAAA,CAAAqH,SAAS,CAACzB,IAAI,CAACC,MAAM,MAAA0B,SAAA,CAAA9G,OAAA;QAAC+G,GAAG,EAAEhD,MAAM,CAACf;MAAK,GAAKe,MAAM,CAAG,CAAC;IAChE,CAAC,CACD,CAEH,CAAC,eAER5E,MAAA,CAAAa,OAAA,CAAA4F,aAAA,CAAC5G,eAAA,CAAAiI,gBAAgB,EAAAlC,KAAA,CAAAe,EAAA;MAAA,eAAc,IAAI;MAAA,MAAM,IAAI,CAAChE,wBAAwB,CAAC;IAAC,IACrEyD,WAAW,CAAC,gBAAgB,CACb,CAClB,CAAC;EAEP;AACF;AAAC,IAAAxF,gBAAA,CAAAC,OAAA,EAvQKL,QAAQ,iBAUS,MAAM;AAAA,IAAAI,gBAAA,CAAAC,OAAA,EAVvBL,QAAQ,WAWGH,KAAK;AA8Pf,MAAM2F,IAAI,GAAA+B,OAAA,CAAA/B,IAAA,GAAG,IAAAgC,qBAAe,EAACxH,QAAQ,EAAE;EAAEyF,MAAM,EAANA,cAAM;EAAEyB,KAAK,EAALA;AAAM,CAAC,CAU9D","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"Head.types.js","names":[],"sources":["../../../../src/components/Head/Head.types.ts"],"sourcesContent":["import type { ColumnPropsInner, DTColumn } from './Column.types';\nimport type { BodyPropsInner } from '../Body/Body.types';\nimport type { DataTableCellProps } from '../Body/Cell.types';\nimport type { DTRow } from '../Body/Row.types';\nimport type { ROW_GROUP } from '../DataTable/DataTable';\nimport type { DataTableData, DataTableProps, DTUse } from '../DataTable/DataTable.types';\n\nexport type DataTableHeadProps = {\n /**\n * Sticky header\n * @default false\n */\n sticky?: boolean;\n\n /**\n * offset for sticky header\n */\n top?: number;\n\n /**\n * Height of header in px\n */\n h?: number;\n\n /** Enable scroll bar element in header */\n withScrollBar?: boolean;\n\n /** Animation duration for a top property. When it's set adds animation for top changes */\n animationDuration?: number;\n\n /** Outer ref for the header */\n ref?: React.Ref<HTMLDivElement>;\n};\n\nexport type HeadPropsInner<\n Data extends DataTableData,\n UniqKey extends (Data[number] extends { [ROW_GROUP]: DataTableData } ? keyof Data[number][typeof ROW_GROUP][number] : keyof Data[number]),\n UniqKeyType extends (Data[number] extends { [ROW_GROUP]: DataTableData } ? Data[number][typeof ROW_GROUP][number][UniqKey] : Data[number][UniqKey]),\n> = {\n use: DTUse;\n tableRef: React.RefObject<HTMLElement>;\n columns: DTColumn[];\n treeColumns: DTColumn[];\n compact: boolean;\n sort?: DataTableProps<Data, UniqKey, UniqKeyType>['sort'];\n onSortChange?: DataTableProps<Data, UniqKey, UniqKeyType>['onSortChange'];\n getI18nText: (key: string) => string;\n uid: string;\n ref: React.Ref<HTMLDivElement>;\n\n gridAreaGroupMap: Map<number, string>;\n gridTemplateColumns: string[];\n gridTemplateAreas: string[];\n sideIndents?: 'wide';\n\n totalRows: number;\n selectedRows?: UniqKeyType[];\n onChangeSelectAll?: (selectedRows: UniqKeyType[], event?: React.SyntheticEvent<HTMLElement>) => void;\n flatRows: DTRow<UniqKeyType>[];\n\n getFixedStyle: (\n cell: Pick<DTColumn, 'name' | 'fixed'>,\n ) => [side: 'left' | 'right', style: string | number] | [side: undefined, style: undefined];\n onCellClick: DataTableCellProps<Data, UniqKeyType>['onClick'];\n shadowVertical?: BodyPropsInner<Data, UniqKeyType>['shadowVertical'];\n scrollDirection?: ColumnPropsInner<Data, UniqKey, UniqKeyType>['scrollDirection'];\n isDataEmpty: boolean;\n};\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"Head.types.js","names":[],"sources":["../../../../src/components/Head/Head.types.ts"],"sourcesContent":["import type { ColumnPropsInner, DTColumn } from './Column.types';\nimport type { ISelectedRows } from '../../store/SelectableRows';\nimport type { BodyPropsInner } from '../Body/Body.types';\nimport type { DataTableCellProps } from '../Body/Cell.types';\nimport type { DTRow } from '../Body/Row.types';\nimport type { ROW_GROUP } from '../DataTable/DataTable';\nimport type { DataTableData, DataTableProps, DTUse } from '../DataTable/DataTable.types';\n\nexport type DataTableHeadProps = {\n /**\n * Sticky header\n * @default false\n */\n sticky?: boolean;\n\n /**\n * offset for sticky header\n */\n top?: number;\n\n /**\n * Height of header in px\n */\n h?: number;\n\n /** Enable scroll bar element in header */\n withScrollBar?: boolean;\n\n /** Animation duration for a top property. When it's set adds animation for top changes */\n animationDuration?: number;\n\n /** Outer ref for the header */\n ref?: React.Ref<HTMLDivElement>;\n};\n\nexport type HeadPropsInner<\n Data extends DataTableData,\n UniqKey extends (Data[number] extends { [ROW_GROUP]: DataTableData } ? keyof Data[number][typeof ROW_GROUP][number] : keyof Data[number]),\n UniqKeyType extends (Data[number] extends { [ROW_GROUP]: DataTableData } ? Data[number][typeof ROW_GROUP][number][UniqKey] : Data[number][UniqKey]),\n> = {\n use: DTUse;\n tableRef: React.RefObject<HTMLElement>;\n columns: DTColumn[];\n treeColumns: DTColumn[];\n compact: boolean;\n sort?: DataTableProps<Data, UniqKey, UniqKeyType>['sort'];\n onSortChange?: DataTableProps<Data, UniqKey, UniqKeyType>['onSortChange'];\n getI18nText: (key: string) => string;\n uid: string;\n ref: React.Ref<HTMLDivElement>;\n\n gridAreaGroupMap: Map<number, string>;\n gridTemplateColumns: string[];\n gridTemplateAreas: string[];\n sideIndents?: 'wide';\n\n totalRows: number;\n selectedRows?: UniqKeyType[] | ISelectedRows<UniqKeyType>;\n onChangeSelectAll?: (selectedRows: UniqKeyType[], event?: React.SyntheticEvent<HTMLElement>) => void;\n flatRows: DTRow<UniqKeyType>[];\n\n getFixedStyle: (\n cell: Pick<DTColumn, 'name' | 'fixed'>,\n ) => [side: 'left' | 'right', style: string | number] | [side: undefined, style: undefined];\n onCellClick: DataTableCellProps<Data, UniqKeyType>['onClick'];\n shadowVertical?: BodyPropsInner<Data, UniqKeyType>['shadowVertical'];\n scrollDirection?: ColumnPropsInner<Data, UniqKey, UniqKeyType>['scrollDirection'];\n isDataEmpty: boolean;\n};\n"],"mappings":"","ignoreList":[]}
@@ -195,7 +195,6 @@ SSortButton {
195
195
  display: none;
196
196
  fill: var(--intergalactic-icon-secondary-neutral-hover-active, #878992);
197
197
  position: absolute;
198
- top: calc(-1 * (1em * 1.25 - 16px));
199
198
  right: 0;
200
199
  margin-left: var(--intergalactic-spacing-1x, 4px);
201
200
  opacity: 0;
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.RowSelector = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _checkbox = _interopRequireDefault(require("@semcore/checkbox"));
10
+ var _react = _interopRequireDefault(require("react"));
11
+ var _SelectableRows = require("../../store/SelectableRows");
12
+ var _Row = require("../Body/Row");
13
+ var _DataTable = require("../DataTable/DataTable");
14
+ class RowSelector extends _react.default.PureComponent {
15
+ constructor(props) {
16
+ super(props);
17
+ (0, _defineProperty2.default)(this, "state", {
18
+ checked: false
19
+ });
20
+ (0, _defineProperty2.default)(this, "unsubscribeToggle", undefined);
21
+ (0, _defineProperty2.default)(this, "handleSelectRow", (value, event) => {
22
+ const {
23
+ row,
24
+ rowIndex,
25
+ onSelectRow,
26
+ selectedRows
27
+ } = this.props;
28
+ onSelectRow?.(value, rowIndex, row, event);
29
+ if (selectedRows && !Array.isArray(selectedRows)) {
30
+ selectedRows.toggle(value, row);
31
+ }
32
+ });
33
+ (0, _defineProperty2.default)(this, "handleClickCheckbox", value => event => {
34
+ event?.preventDefault();
35
+ event?.stopPropagation();
36
+ const {
37
+ row,
38
+ rowIndex,
39
+ onSelectRow,
40
+ selectedRows
41
+ } = this.props;
42
+ onSelectRow?.(value, rowIndex, row, event);
43
+ if (selectedRows && !Array.isArray(selectedRows)) {
44
+ selectedRows.toggle(value, row);
45
+ }
46
+ });
47
+ const {
48
+ row: _row,
49
+ selectedRows: _selectedRows
50
+ } = props;
51
+ if (_selectedRows && !Array.isArray(_selectedRows)) {
52
+ this.state.checked = _selectedRows.has(_row[_DataTable.UNIQ_ROW_KEY]);
53
+ }
54
+ }
55
+ componentDidMount() {
56
+ const {
57
+ row,
58
+ selectedRows
59
+ } = this.props;
60
+ if (selectedRows && !Array.isArray(selectedRows)) {
61
+ this.unsubscribeToggle = selectedRows.subscribe(_SelectableRows.SelectableRows.TOGGLE_EVENT, key => {
62
+ if (row[_DataTable.UNIQ_ROW_KEY] === key) {
63
+ this.setState({
64
+ checked: selectedRows.has(row[_DataTable.UNIQ_ROW_KEY])
65
+ });
66
+ }
67
+ });
68
+ }
69
+ }
70
+ componentWillUnmount() {
71
+ this.unsubscribeToggle?.();
72
+ }
73
+ render() {
74
+ const SCheckboxCell = _Row.Row.Cell;
75
+ const {
76
+ row,
77
+ rowIndex,
78
+ gridRowIndex,
79
+ expanded,
80
+ withAccordion,
81
+ isAccordionRow,
82
+ isCellHidden,
83
+ theme,
84
+ uid,
85
+ selectedRows
86
+ } = this.props;
87
+ const rowUniqKey = row[_DataTable.UNIQ_ROW_KEY];
88
+ const checked = Array.isArray(selectedRows) ? selectedRows.includes(rowUniqKey) : this.state.checked;
89
+ return /*#__PURE__*/_react.default.createElement(SCheckboxCell, {
90
+ row: row,
91
+ rowIndex: rowIndex,
92
+ column: {
93
+ name: _DataTable.SELECT_ALL.toString()
94
+ },
95
+ columnIndex: 0,
96
+ gridRowIndex: gridRowIndex,
97
+ onClick: this.handleClickCheckbox(!checked),
98
+ expanded: expanded,
99
+ isAccordionRow: isAccordionRow,
100
+ "aria-hidden": isCellHidden,
101
+ withAccordion: withAccordion,
102
+ theme: theme,
103
+ "data-row-selector": true
104
+ }, /*#__PURE__*/_react.default.createElement(_checkbox.default, {
105
+ checked: checked,
106
+ "aria-labelledby": `${uid}_${rowUniqKey}_1`,
107
+ onChange: this.handleSelectRow
108
+ }, /*#__PURE__*/_react.default.createElement(_checkbox.default.Value, null)));
109
+ }
110
+ }
111
+ exports.RowSelector = RowSelector;
112
+ //# sourceMappingURL=RowsSelector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RowsSelector.js","names":["_checkbox","_interopRequireDefault","require","_react","_SelectableRows","_Row","_DataTable","RowSelector","React","PureComponent","constructor","props","_defineProperty2","default","checked","undefined","value","event","row","rowIndex","onSelectRow","selectedRows","Array","isArray","toggle","preventDefault","stopPropagation","state","has","UNIQ_ROW_KEY","componentDidMount","unsubscribeToggle","subscribe","SelectableRows","TOGGLE_EVENT","key","setState","componentWillUnmount","render","SCheckboxCell","Row","Cell","gridRowIndex","expanded","withAccordion","isAccordionRow","isCellHidden","theme","uid","rowUniqKey","includes","createElement","column","name","SELECT_ALL","toString","columnIndex","onClick","handleClickCheckbox","onChange","handleSelectRow","Value","exports"],"sources":["../../../../src/components/RowSelector/RowsSelector.tsx"],"sourcesContent":["import Checkbox from '@semcore/checkbox';\nimport React from 'react';\n\nimport type { ISelectedRows } from '../../store/SelectableRows';\nimport { SelectableRows } from '../../store/SelectableRows';\nimport type { Theme } from '../Body/Cell.types';\nimport { Row } from '../Body/Row';\nimport type { DTRow } from '../Body/Row.types';\nimport { UNIQ_ROW_KEY, SELECT_ALL } from '../DataTable/DataTable';\n\ntype RowSelectorProps<UniqKeyType> = {\n row: DTRow<UniqKeyType>;\n rowIndex: number;\n gridRowIndex: number;\n expanded: boolean;\n withAccordion: boolean;\n\n uid: string;\n theme?: Theme;\n isCellHidden?: boolean;\n isAccordionRow?: boolean;\n selectedRows?: UniqKeyType[] | ISelectedRows<UniqKeyType>;\n onSelectRow?: (\n isSelect: boolean,\n selectedRowIndex: number,\n row: DTRow<UniqKeyType>,\n event?: React.SyntheticEvent<HTMLElement>,\n ) => void;\n};\n\ntype State = {\n checked: boolean;\n};\n\nexport class RowSelector<UniqKeyType> extends React.PureComponent<RowSelectorProps<UniqKeyType>, State> {\n state: State = {\n checked: false,\n };\n\n private unsubscribeToggle: undefined | (() => void) = undefined;\n\n constructor(props: RowSelectorProps<UniqKeyType>) {\n super(props);\n\n const { row, selectedRows } = props;\n if (selectedRows && !Array.isArray(selectedRows)) {\n this.state.checked = selectedRows.has(row[UNIQ_ROW_KEY]);\n }\n }\n\n componentDidMount(): void {\n const { row, selectedRows } = this.props;\n if (selectedRows && !Array.isArray(selectedRows)) {\n this.unsubscribeToggle = selectedRows.subscribe(SelectableRows.TOGGLE_EVENT, (key: UniqKeyType) => {\n if (row[UNIQ_ROW_KEY] === key) {\n this.setState({ checked: selectedRows.has(row[UNIQ_ROW_KEY]) });\n }\n });\n }\n }\n\n componentWillUnmount(): void {\n this.unsubscribeToggle?.();\n }\n\n handleSelectRow = (value: boolean, event?: React.SyntheticEvent<HTMLElement>) => {\n const { row, rowIndex, onSelectRow, selectedRows } = this.props;\n\n onSelectRow?.(value, rowIndex, row, event);\n\n if (selectedRows && !Array.isArray(selectedRows)) {\n selectedRows.toggle(value, row);\n }\n };\n\n handleClickCheckbox = (value: boolean) => (event?: React.SyntheticEvent<HTMLElement>) => {\n event?.preventDefault();\n event?.stopPropagation();\n const { row, rowIndex, onSelectRow, selectedRows } = this.props;\n\n onSelectRow?.(value, rowIndex, row, event);\n\n if (selectedRows && !Array.isArray(selectedRows)) {\n selectedRows.toggle(value, row);\n }\n };\n\n render() {\n const SCheckboxCell = Row.Cell;\n\n const { row, rowIndex, gridRowIndex, expanded, withAccordion, isAccordionRow, isCellHidden, theme, uid, selectedRows } = this.props;\n const rowUniqKey = row[UNIQ_ROW_KEY];\n\n const checked = Array.isArray(selectedRows) ? selectedRows.includes(rowUniqKey) : this.state.checked;\n\n return (\n <SCheckboxCell\n row={row}\n rowIndex={rowIndex}\n column={{ name: SELECT_ALL.toString() }}\n columnIndex={0}\n gridRowIndex={gridRowIndex}\n onClick={this.handleClickCheckbox(!checked)}\n expanded={expanded}\n isAccordionRow={isAccordionRow}\n aria-hidden={isCellHidden}\n withAccordion={withAccordion}\n theme={theme}\n data-row-selector\n >\n <Checkbox\n checked={checked}\n aria-labelledby={`${uid}_${rowUniqKey}_1`}\n onChange={this.handleSelectRow}\n >\n <Checkbox.Value />\n </Checkbox>\n </SCheckboxCell>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
package/lib/cjs/index.js CHANGED
@@ -33,9 +33,16 @@ Object.defineProperty(exports, "ROW_GROUP", {
33
33
  return _DataTable.ROW_GROUP;
34
34
  }
35
35
  });
36
+ Object.defineProperty(exports, "SelectableRows", {
37
+ enumerable: true,
38
+ get: function () {
39
+ return _SelectableRows.SelectableRows;
40
+ }
41
+ });
36
42
  exports.wrapDataTable = void 0;
37
43
  var _MergedCells = require("./components/Body/MergedCells");
38
44
  var _DataTable = require("./components/DataTable/DataTable");
45
+ var _SelectableRows = require("./store/SelectableRows");
39
46
  const wrapDataTable = wrapper => wrapper;
40
47
  exports.wrapDataTable = wrapDataTable;
41
48
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_MergedCells","require","_DataTable","wrapDataTable","wrapper","exports"],"sources":["../../src/index.ts"],"sourcesContent":["import type { Intergalactic } from '@semcore/core';\nimport type React from 'react';\n\nimport type { CellRenderProps } from './components/Body/Body.types';\nimport { MergedRowsCell, MergedColumnsCell } from './components/Body/MergedCells';\nimport { DataTable, ACCORDION, ROW_GROUP } from './components/DataTable/DataTable';\nimport type {\n DataTableSort,\n DataTableType,\n DataTableData,\n DataTableProps,\n DataTableChangeSort,\n ColumnGroupConfig,\n ColumnItemConfig,\n} from './components/DataTable/DataTable.types';\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 {\n MergedRowsCell,\n MergedColumnsCell,\n DataTable,\n ACCORDION,\n ROW_GROUP,\n wrapDataTable,\n};\nexport type {\n DataTableSort,\n DataTableData,\n DataTableProps,\n DataTableChangeSort,\n ColumnGroupConfig,\n ColumnItemConfig,\n CellRenderProps,\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAWA,MAAME,aAAa,GACjBC,OAKoB,IACFA,OAAc;AAACC,OAAA,CAAAF,aAAA,GAAAA,aAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["_MergedCells","require","_DataTable","_SelectableRows","wrapDataTable","wrapper","exports"],"sources":["../../src/index.ts"],"sourcesContent":["import type { Intergalactic } from '@semcore/core';\nimport type React from 'react';\n\nimport type { CellRenderProps } from './components/Body/Body.types';\nimport { MergedRowsCell, MergedColumnsCell } from './components/Body/MergedCells';\nimport { DataTable, ACCORDION, ROW_GROUP } from './components/DataTable/DataTable';\nimport type {\n DataTableSort,\n DataTableType,\n DataTableData,\n DataTableProps,\n DataTableChangeSort,\n ColumnGroupConfig,\n ColumnItemConfig,\n} from './components/DataTable/DataTable.types';\nimport { SelectableRows } from './store/SelectableRows';\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 {\n MergedRowsCell,\n MergedColumnsCell,\n DataTable,\n ACCORDION,\n ROW_GROUP,\n wrapDataTable,\n SelectableRows,\n};\nexport type {\n DataTableSort,\n DataTableData,\n DataTableProps,\n DataTableChangeSort,\n ColumnGroupConfig,\n ColumnItemConfig,\n CellRenderProps,\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAUA,IAAAE,eAAA,GAAAF,OAAA;AAEA,MAAMG,aAAa,GACjBC,OAKoB,IACFA,OAAc;AAACC,OAAA,CAAAF,aAAA,GAAAA,aAAA","ignoreList":[]}
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.SelectableRows = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _eventEmitter = _interopRequireDefault(require("@semcore/core/lib/utils/eventEmitter"));
10
+ var _DataTable = require("../components/DataTable/DataTable");
11
+ class SelectableRows extends _eventEmitter.default {
12
+ constructor(initValues = []) {
13
+ super();
14
+ (0, _defineProperty2.default)(this, "values", void 0);
15
+ (0, _defineProperty2.default)(this, "availableKeys", new Set());
16
+ (0, _defineProperty2.default)(this, "lastSelectedRow", null);
17
+ (0, _defineProperty2.default)(this, "isPressedShift", false);
18
+ this.values = new Set(initValues);
19
+ }
20
+ setAvailableKeys(value) {
21
+ this.availableKeys = new Set(value);
22
+ }
23
+ get() {
24
+ return Array.from(this.values.keys());
25
+ }
26
+ isChecked(key) {
27
+ return this.values.has(key);
28
+ }
29
+ replace(value) {
30
+ this.clearAll();
31
+ value.forEach(val => {
32
+ this.values.add(val);
33
+ this.emit(SelectableRows.TOGGLE_EVENT, val);
34
+ });
35
+ }
36
+ has(value) {
37
+ return this.values.has(value);
38
+ }
39
+ isAllSelected() {
40
+ let isAllSelected = true;
41
+ if (this.availableKeys.size === 0 || this.values.size === 0) {
42
+ return false;
43
+ }
44
+ for (const key of this.availableKeys.values()) {
45
+ if (!this.values.has(key)) {
46
+ isAllSelected = false;
47
+ break;
48
+ }
49
+ }
50
+ return isAllSelected;
51
+ }
52
+ isIndeterminate() {
53
+ let isIndeterminate = false;
54
+ for (const key of this.availableKeys.values()) {
55
+ if (this.values.has(key)) {
56
+ isIndeterminate = true;
57
+ break;
58
+ }
59
+ }
60
+ return isIndeterminate;
61
+ }
62
+ selectAll() {
63
+ for (const key of this.availableKeys.values()) {
64
+ this.values.add(key);
65
+ this.emit(SelectableRows.TOGGLE_EVENT, key);
66
+ }
67
+ this.emit(SelectableRows.SELECT_ALL_EVENT);
68
+ }
69
+ clearAll() {
70
+ const keys = Array.from(this.values.values());
71
+ this.values.clear();
72
+ for (const key of keys) {
73
+ this.emit(SelectableRows.TOGGLE_EVENT, key);
74
+ }
75
+ this.emit(SelectableRows.SELECT_ALL_EVENT);
76
+ }
77
+ clearAllAvailable() {
78
+ for (const key of this.availableKeys.values()) {
79
+ this.values.delete(key);
80
+ this.emit(SelectableRows.TOGGLE_EVENT, key);
81
+ }
82
+ this.emit(SelectableRows.SELECT_ALL_EVENT);
83
+ }
84
+ toggle(selected, row) {
85
+ if (this.isPressedShift && this.values.size > 0 && this.lastSelectedRow && (selected ? this.values.has(this.lastSelectedRow) : true)) {
86
+ let select = false;
87
+ for (const item of this.availableKeys.values()) {
88
+ if (!select && (item === row[_DataTable.UNIQ_ROW_KEY] || item === this.lastSelectedRow)) {
89
+ select = true;
90
+ this.toggleOneRow(selected, item);
91
+ continue;
92
+ }
93
+ if (select) {
94
+ this.toggleOneRow(selected, item);
95
+ }
96
+ if (select && (item === row[_DataTable.UNIQ_ROW_KEY] || item === this.lastSelectedRow)) {
97
+ break;
98
+ }
99
+ }
100
+ } else {
101
+ this.toggleOneRow(selected, row[_DataTable.UNIQ_ROW_KEY]);
102
+ }
103
+ this.lastSelectedRow = row[_DataTable.UNIQ_ROW_KEY];
104
+ }
105
+ toggleOneRow(isSelected, key) {
106
+ if (isSelected) {
107
+ if (this.values.size === 0) {
108
+ this.emit(SelectableRows.SELECT_ALL_EVENT);
109
+ }
110
+ this.values.add(key);
111
+ if (this.values.size === this.availableKeys.size) {
112
+ this.emit(SelectableRows.SELECT_ALL_EVENT);
113
+ }
114
+ } else {
115
+ if (this.values.size === this.availableKeys.size) {
116
+ this.emit(SelectableRows.SELECT_ALL_EVENT);
117
+ }
118
+ this.values.delete(key);
119
+ if (this.values.size === 0) {
120
+ this.emit(SelectableRows.SELECT_ALL_EVENT);
121
+ }
122
+ }
123
+ this.emit(SelectableRows.TOGGLE_EVENT, key);
124
+ }
125
+ }
126
+ exports.SelectableRows = SelectableRows;
127
+ (0, _defineProperty2.default)(SelectableRows, "TOGGLE_EVENT", 'toggle_selected_row');
128
+ (0, _defineProperty2.default)(SelectableRows, "SELECT_ALL_EVENT", 'select_all_selected_rows');
129
+ //# sourceMappingURL=SelectableRows.js.map