@infomaximum/ui-kit 0.15.9 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (295) hide show
  1. package/dist/components/ConfigProvider/ConfigProvider.js +4 -2
  2. package/dist/components/ConfigProvider/ConfigProvider.types.d.ts +2 -3
  3. package/dist/components/ConfigProvider/contexts/ConfigContext.d.ts +2 -2
  4. package/dist/components/ConfigProvider/contexts/ConfigContext.types.d.ts +3 -1
  5. package/dist/components/ConfigProvider/contexts/index.d.ts +2 -1
  6. package/dist/components/ConfigProvider/hooks/useConfig/useConfig.d.ts +2 -2
  7. package/dist/components/ConfigProvider/index.d.ts +1 -1
  8. package/dist/components/Empty/Empty.js +3 -1
  9. package/dist/components/Empty/Empty.types.d.ts +5 -0
  10. package/dist/components/Radio/components/RadioInternal/RadioInternal.types.d.ts +1 -1
  11. package/dist/components/Table/Table.d.ts +7 -0
  12. package/dist/components/Table/Table.js +218 -0
  13. package/dist/components/Table/Table.styles.d.ts +12 -0
  14. package/dist/components/Table/Table.styles.js +62 -0
  15. package/dist/components/Table/Table.tokens.d.ts +19 -0
  16. package/dist/components/Table/Table.tokens.js +20 -0
  17. package/dist/components/Table/Table.types.d.ts +48 -0
  18. package/dist/components/Table/components/Body/Body.d.ts +5 -0
  19. package/dist/components/Table/components/Body/Body.js +56 -0
  20. package/dist/components/Table/components/Body/Body.styles.d.ts +4 -0
  21. package/dist/components/Table/components/Body/Body.styles.js +6 -0
  22. package/dist/components/Table/components/Body/Body.types.d.ts +6 -0
  23. package/dist/components/Table/components/Body/components/BodyCell/BodyCell.d.ts +3 -0
  24. package/dist/components/Table/components/Body/components/BodyCell/BodyCell.js +117 -0
  25. package/dist/components/Table/components/Body/components/BodyCell/BodyCell.styles.d.ts +27 -0
  26. package/dist/components/Table/components/Body/components/BodyCell/BodyCell.styles.js +32 -0
  27. package/dist/components/Table/components/Body/components/BodyCell/BodyCell.types.d.ts +12 -0
  28. package/dist/components/Table/components/Body/components/BodyColGroup/BodyColGroup.d.ts +3 -0
  29. package/dist/components/Table/components/Body/components/BodyColGroup/BodyColGroup.js +35 -0
  30. package/dist/components/Table/components/Body/components/BodyColGroup/BodyColGroup.types.d.ts +2 -0
  31. package/dist/components/Table/components/Body/components/BodyRow/BodyRow.d.ts +3 -0
  32. package/dist/components/Table/components/Body/components/BodyRow/BodyRow.js +41 -0
  33. package/dist/components/Table/components/Body/components/BodyRow/BodyRow.types.d.ts +8 -0
  34. package/dist/components/Table/components/Body/components/MeasureCell/MeasureCell.d.ts +3 -0
  35. package/dist/components/Table/components/Body/components/MeasureCell/MeasureCell.js +33 -0
  36. package/dist/components/Table/components/Body/components/MeasureCell/MeasureCell.styles.d.ts +10 -0
  37. package/dist/components/Table/components/Body/components/MeasureCell/MeasureCell.styles.js +14 -0
  38. package/dist/components/Table/components/Body/components/MeasureCell/MeasureCell.types.d.ts +6 -0
  39. package/dist/components/Table/components/Body/components/MeasureRow/MeasureRow.d.ts +5 -0
  40. package/dist/components/Table/components/Body/components/MeasureRow/MeasureRow.js +87 -0
  41. package/dist/components/Table/components/Body/components/MeasureRow/MeasureRow.types.d.ts +2 -0
  42. package/dist/components/Table/components/Body/components/MeasureRow/MeasureRow.utils.d.ts +4 -0
  43. package/dist/components/Table/components/Body/components/MeasureRow/MeasureRow.utils.js +13 -0
  44. package/dist/components/Table/components/Cell/Cell.d.ts +3 -0
  45. package/dist/components/Table/components/Cell/Cell.js +25 -0
  46. package/dist/components/Table/components/Cell/Cell.styles.d.ts +28 -0
  47. package/dist/components/Table/components/Cell/Cell.styles.js +31 -0
  48. package/dist/components/Table/components/Cell/Cell.types.d.ts +16 -0
  49. package/dist/components/Table/components/EmptyDataRow/EmptyDataRow.d.ts +3 -0
  50. package/dist/components/Table/components/EmptyDataRow/EmptyDataRow.js +69 -0
  51. package/dist/components/Table/components/EmptyDataRow/EmptyDataRow.styles.d.ts +15 -0
  52. package/dist/components/Table/components/EmptyDataRow/EmptyDataRow.styles.js +26 -0
  53. package/dist/components/Table/components/EmptyDataRow/EmptyDataRow.types.d.ts +2 -0
  54. package/dist/components/Table/components/EmptyDataRow/EmptyDataRow.utils.d.ts +7 -0
  55. package/dist/components/Table/components/EmptyDataRow/EmptyDataRow.utils.js +17 -0
  56. package/dist/components/Table/components/FixedHeader/FixedHeader.d.ts +2 -0
  57. package/dist/components/Table/components/FixedHeader/FixedHeader.js +25 -0
  58. package/dist/components/Table/components/FixedHeader/FixedHeader.types.d.ts +6 -0
  59. package/dist/components/Table/components/FixedHeader/components/FixedHeaderColGroup/FixedHeaderColGroup.d.ts +3 -0
  60. package/dist/components/Table/components/FixedHeader/components/FixedHeaderColGroup/FixedHeaderColGroup.js +33 -0
  61. package/dist/components/Table/components/FixedHeader/components/FixedHeaderColGroup/FixedHeaderColGroup.types.d.ts +2 -0
  62. package/dist/components/Table/components/Header/Header.d.ts +3 -0
  63. package/dist/components/Table/components/Header/Header.js +23 -0
  64. package/dist/components/Table/components/Header/Header.styles.d.ts +4 -0
  65. package/dist/components/Table/components/Header/Header.styles.js +6 -0
  66. package/dist/components/Table/components/Header/Header.types.d.ts +15 -0
  67. package/dist/components/Table/components/Header/components/HeaderCell/HeaderCell.d.ts +3 -0
  68. package/dist/components/Table/components/Header/components/HeaderCell/HeaderCell.js +63 -0
  69. package/dist/components/Table/components/Header/components/HeaderCell/HeaderCell.styles.d.ts +21 -0
  70. package/dist/components/Table/components/Header/components/HeaderCell/HeaderCell.styles.js +25 -0
  71. package/dist/components/Table/components/Header/components/HeaderCell/HeaderCell.types.d.ts +6 -0
  72. package/dist/components/Table/components/Header/components/HeaderCell/HeaderCell.utils.d.ts +2 -0
  73. package/dist/components/Table/components/Header/components/HeaderCell/HeaderCell.utils.js +4 -0
  74. package/dist/components/Table/components/Header/components/HeaderRow/HeaderRow.d.ts +3 -0
  75. package/dist/components/Table/components/Header/components/HeaderRow/HeaderRow.js +34 -0
  76. package/dist/components/Table/components/Header/components/HeaderRow/HeaderRow.styles.d.ts +6 -0
  77. package/dist/components/Table/components/Header/components/HeaderRow/HeaderRow.styles.js +8 -0
  78. package/dist/components/Table/components/Header/components/HeaderRow/HeaderRow.types.d.ts +6 -0
  79. package/dist/components/Table/components/Header/utils/index.d.ts +1 -0
  80. package/dist/components/Table/components/Header/utils/parseHeaderRows/parseHeaderRows.d.ts +4 -0
  81. package/dist/components/Table/components/Header/utils/parseHeaderRows/parseHeaderRows.js +50 -0
  82. package/dist/components/Table/contexts/index.d.ts +3 -0
  83. package/dist/components/Table/contexts/tableContext/TableContext.d.ts +3 -0
  84. package/dist/components/Table/contexts/tableContext/TableContext.js +21 -0
  85. package/dist/components/Table/contexts/tableContext/TableContext.types.d.ts +27 -0
  86. package/dist/components/Table/contexts/tableContext/useTableContext/useTableContext.d.ts +2 -0
  87. package/dist/components/Table/contexts/tableContext/useTableContext/useTableContext.js +8 -0
  88. package/dist/components/Table/features/tableExpand/components/DefaultExpandIcon/DefaultExpandIcon.d.ts +3 -0
  89. package/dist/components/Table/features/tableExpand/components/DefaultExpandIcon/DefaultExpandIcon.js +23 -0
  90. package/dist/components/Table/features/tableExpand/components/DefaultExpandIcon/DefaultExpandIcon.styles.d.ts +19 -0
  91. package/dist/components/Table/features/tableExpand/components/DefaultExpandIcon/DefaultExpandIcon.styles.js +22 -0
  92. package/dist/components/Table/features/tableExpand/components/DefaultExpandIcon/DefaultExpandIcon.types.d.ts +3 -0
  93. package/dist/components/Table/features/tableExpand/components/ExpandIconWrapper/ExpandIconWrapper.d.ts +3 -0
  94. package/dist/components/Table/features/tableExpand/components/ExpandIconWrapper/ExpandIconWrapper.js +24 -0
  95. package/dist/components/Table/features/tableExpand/components/ExpandIconWrapper/ExpandIconWrapper.types.d.ts +5 -0
  96. package/dist/components/Table/features/tableExpand/contexts/index.d.ts +3 -0
  97. package/dist/components/Table/features/tableExpand/contexts/tableExpandedContext/TableExpandedContext.d.ts +2 -0
  98. package/dist/components/Table/features/tableExpand/contexts/tableExpandedContext/TableExpandedContext.js +9 -0
  99. package/dist/components/Table/features/tableExpand/contexts/tableExpandedContext/TableExpandedContext.types.d.ts +7 -0
  100. package/dist/components/Table/features/tableExpand/contexts/tableExpandedContext/useTableExpandedContext/useTableExpandedContext.d.ts +1 -0
  101. package/dist/components/Table/features/tableExpand/contexts/tableExpandedContext/useTableExpandedContext/useTableExpandedContext.js +8 -0
  102. package/dist/components/Table/features/tableExpand/hooks/index.d.ts +2 -0
  103. package/dist/components/Table/features/tableExpand/hooks/useBodyExpand/useBodyExpand.d.ts +6 -0
  104. package/dist/components/Table/features/tableExpand/hooks/useBodyExpand/useBodyExpand.js +38 -0
  105. package/dist/components/Table/features/tableExpand/hooks/useBodyExpand/useBodyExpand.types.d.ts +3 -0
  106. package/dist/components/Table/features/tableExpand/hooks/useTableExpand/useTableExpand.d.ts +8 -0
  107. package/dist/components/Table/features/tableExpand/hooks/useTableExpand/useTableExpand.js +26 -0
  108. package/dist/components/Table/features/tableExpand/hooks/useTableExpand/useTableExpand.types.d.ts +3 -0
  109. package/dist/components/Table/features/tableExpand/index.d.ts +4 -0
  110. package/dist/components/Table/features/tableExpand/types.d.ts +16 -0
  111. package/dist/components/Table/features/tableRowSelection/components/CheckboxCellContentWrapper/CheckboxCellContentWrapper.d.ts +3 -0
  112. package/dist/components/Table/features/tableRowSelection/components/CheckboxCellContentWrapper/CheckboxCellContentWrapper.js +78 -0
  113. package/dist/components/Table/features/tableRowSelection/components/CheckboxCellContentWrapper/CheckboxCellContentWrapper.types.d.ts +4 -0
  114. package/dist/components/Table/features/tableRowSelection/components/CheckboxCellContentWrapper/CheckboxCellContentWrapper.utils.d.ts +3 -0
  115. package/dist/components/Table/features/tableRowSelection/components/CheckboxCellContentWrapper/CheckboxCellContentWrapper.utils.js +20 -0
  116. package/dist/components/Table/features/tableRowSelection/components/HeaderCheckboxCellContentWrapper/HeaderCheckboxCellContentWrapper.d.ts +2 -0
  117. package/dist/components/Table/features/tableRowSelection/components/HeaderCheckboxCellContentWrapper/HeaderCheckboxCellContentWrapper.js +73 -0
  118. package/dist/components/Table/features/tableRowSelection/components/HeaderCheckboxCellContentWrapper/HeaderCheckboxCellContentWrapper.types.d.ts +5 -0
  119. package/dist/components/Table/features/tableRowSelection/components/RadioCellContentWrapper/RadioCellContentWrapper.d.ts +3 -0
  120. package/dist/components/Table/features/tableRowSelection/components/RadioCellContentWrapper/RadioCellContentWrapper.js +43 -0
  121. package/dist/components/Table/features/tableRowSelection/components/RadioCellContentWrapper/RadioCellContentWrapper.types.d.ts +4 -0
  122. package/dist/components/Table/features/tableRowSelection/contexts/index.d.ts +3 -0
  123. package/dist/components/Table/features/tableRowSelection/contexts/tableRowSelectionContext/TableRowSelectionContext.d.ts +2 -0
  124. package/dist/components/Table/features/tableRowSelection/contexts/tableRowSelectionContext/TableRowSelectionContext.js +20 -0
  125. package/dist/components/Table/features/tableRowSelection/contexts/tableRowSelectionContext/TableRowSelectionContext.types.d.ts +18 -0
  126. package/dist/components/Table/features/tableRowSelection/contexts/tableRowSelectionContext/useTableRowSelectionContext/useTableRowSelectionContext.d.ts +1 -0
  127. package/dist/components/Table/features/tableRowSelection/contexts/tableRowSelectionContext/useTableRowSelectionContext/useTableRowSelectionContext.js +8 -0
  128. package/dist/components/Table/features/tableRowSelection/hooks/index.d.ts +4 -0
  129. package/dist/components/Table/features/tableRowSelection/hooks/useMultipleSelect/useMultipleSelect.d.ts +2 -0
  130. package/dist/components/Table/features/tableRowSelection/hooks/useMultipleSelect/useMultipleSelect.js +32 -0
  131. package/dist/components/Table/features/tableRowSelection/hooks/useMultipleSelect/useMultipleSelect.types.d.ts +4 -0
  132. package/dist/components/Table/features/tableRowSelection/hooks/useTableRowSelection/useTableRowSelection.d.ts +19 -0
  133. package/dist/components/Table/features/tableRowSelection/hooks/useTableRowSelection/useTableRowSelection.js +126 -0
  134. package/dist/components/Table/features/tableRowSelection/hooks/useTableRowSelection/useTableRowSelection.types.d.ts +8 -0
  135. package/dist/components/Table/features/tableRowSelection/hooks/useTableRowSelection/useTableRowSelection.utils.d.ts +2 -0
  136. package/dist/components/Table/features/tableRowSelection/hooks/useTableRowSelection/useTableRowSelection.utils.js +13 -0
  137. package/dist/components/Table/features/tableRowSelection/hooks/useTransformColumns/useTransformColumns.d.ts +6 -0
  138. package/dist/components/Table/features/tableRowSelection/hooks/useTransformColumns/useTransformColumns.js +59 -0
  139. package/dist/components/Table/features/tableRowSelection/hooks/useTransformColumns/useTransformColumns.types.d.ts +3 -0
  140. package/dist/components/Table/features/tableRowSelection/hooks/useTransformColumns/useTransformColumns.utils.d.ts +1 -0
  141. package/dist/components/Table/features/tableRowSelection/hooks/useTransformColumns/useTransformColumns.utils.js +12 -0
  142. package/dist/components/Table/features/tableRowSelection/index.d.ts +5 -0
  143. package/dist/components/Table/features/tableRowSelection/styles.d.ts +16 -0
  144. package/dist/components/Table/features/tableRowSelection/styles.js +25 -0
  145. package/dist/components/Table/features/tableRowSelection/types.d.ts +24 -0
  146. package/dist/components/Table/features/tableRowSelection/utils/const.d.ts +1 -0
  147. package/dist/components/Table/features/tableRowSelection/utils/const.js +4 -0
  148. package/dist/components/Table/features/tableRowSelection/utils/index.d.ts +1 -0
  149. package/dist/components/Table/features/tableSort/components/HeaderCellWithSort/HeaderCellWithSort.d.ts +3 -0
  150. package/dist/components/Table/features/tableSort/components/HeaderCellWithSort/HeaderCellWithSort.js +75 -0
  151. package/dist/components/Table/features/tableSort/components/HeaderCellWithSort/HeaderCellWithSort.styles.d.ts +7 -0
  152. package/dist/components/Table/features/tableSort/components/HeaderCellWithSort/HeaderCellWithSort.styles.js +9 -0
  153. package/dist/components/Table/features/tableSort/components/HeaderCellWithSort/HeaderCellWithSort.types.d.ts +6 -0
  154. package/dist/components/Table/features/tableSort/components/SortButton/SortButton.d.ts +2 -0
  155. package/dist/components/Table/features/tableSort/components/SortButton/SortButton.js +27 -0
  156. package/dist/components/Table/features/tableSort/components/SortButton/SortButton.styles.d.ts +17 -0
  157. package/dist/components/Table/features/tableSort/components/SortButton/SortButton.styles.js +20 -0
  158. package/dist/components/Table/features/tableSort/components/SortButton/SortButton.types.d.ts +4 -0
  159. package/dist/components/Table/features/tableSort/hooks/index.d.ts +5 -0
  160. package/dist/components/Table/features/tableSort/hooks/useHeaderCellSort/useHeaderCellSort.d.ts +6 -0
  161. package/dist/components/Table/features/tableSort/hooks/useHeaderCellSort/useHeaderCellSort.js +47 -0
  162. package/dist/components/Table/features/tableSort/hooks/useHeaderCellSort/useHeaderCellSort.types.d.ts +7 -0
  163. package/dist/components/Table/features/tableSort/hooks/useHeaderCellSort/useHeaderCellSort.utils.d.ts +2 -0
  164. package/dist/components/Table/features/tableSort/hooks/useHeaderCellSort/useHeaderCellSort.utils.js +9 -0
  165. package/dist/components/Table/features/tableSort/hooks/useSortState/useSortState.d.ts +5 -0
  166. package/dist/components/Table/features/tableSort/hooks/useSortState/useSortState.js +39 -0
  167. package/dist/components/Table/features/tableSort/hooks/useSortState/useSortState.types.d.ts +4 -0
  168. package/dist/components/Table/features/tableSort/hooks/useTableSort/useTableSort.d.ts +9 -0
  169. package/dist/components/Table/features/tableSort/hooks/useTableSort/useTableSort.js +54 -0
  170. package/dist/components/Table/features/tableSort/hooks/useTableSort/useTableSort.types.d.ts +14 -0
  171. package/dist/components/Table/features/tableSort/hooks/useTransformColumns/useTransformColumns.d.ts +5 -0
  172. package/dist/components/Table/features/tableSort/hooks/useTransformColumns/useTransformColumns.js +47 -0
  173. package/dist/components/Table/features/tableSort/hooks/useTransformColumns/useTransformColumns.styles.d.ts +6 -0
  174. package/dist/components/Table/features/tableSort/hooks/useTransformColumns/useTransformColumns.styles.js +8 -0
  175. package/dist/components/Table/features/tableSort/icons/ArrowFilled.d.ts +2 -0
  176. package/dist/components/Table/features/tableSort/icons/ArrowFilled.js +12 -0
  177. package/dist/components/Table/features/tableSort/icons/index.d.ts +1 -0
  178. package/dist/components/Table/features/tableSort/index.d.ts +5 -0
  179. package/dist/components/Table/features/tableSort/types.d.ts +10 -0
  180. package/dist/components/Table/features/tableSort/utils/const.d.ts +4 -0
  181. package/dist/components/Table/features/tableSort/utils/const.js +8 -0
  182. package/dist/components/Table/features/tableSort/utils/getSortFunction/getSortFunction.d.ts +2 -0
  183. package/dist/components/Table/features/tableSort/utils/getSortFunction/getSortFunction.js +9 -0
  184. package/dist/components/Table/features/tableSort/utils/getSortFunction/index.d.ts +1 -0
  185. package/dist/components/Table/features/tableSort/utils/getSortedData/getSortedData.d.ts +3 -0
  186. package/dist/components/Table/features/tableSort/utils/getSortedData/getSortedData.js +48 -0
  187. package/dist/components/Table/features/tableSort/utils/getSortedData/index.d.ts +1 -0
  188. package/dist/components/Table/features/tableSort/utils/index.d.ts +2 -0
  189. package/dist/components/Table/features/tableStaticContext/contexts/index.d.ts +1 -0
  190. package/dist/components/Table/features/tableStaticContext/contexts/tableStaticContext/TableStaticContext.d.ts +21 -0
  191. package/dist/components/Table/features/tableStaticContext/contexts/tableStaticContext/TableStaticContext.js +29 -0
  192. package/dist/components/Table/features/tableStaticContext/contexts/tableStaticContext/TableStaticContext.types.d.ts +24 -0
  193. package/dist/components/Table/features/tableStaticContext/contexts/tableStaticContext/useTableStaticContext/useTableStaticContext.d.ts +2 -0
  194. package/dist/components/Table/features/tableStaticContext/contexts/tableStaticContext/useTableStaticContext/useTableStaticContext.js +8 -0
  195. package/dist/components/Table/features/tableStaticContext/hocs/index.d.ts +1 -0
  196. package/dist/components/Table/features/tableStaticContext/hocs/withTableStaticContext.d.ts +3 -0
  197. package/dist/components/Table/features/tableStaticContext/hocs/withTableStaticContext.js +15 -0
  198. package/dist/components/Table/features/tableStaticContext/index.d.ts +2 -0
  199. package/dist/components/Table/features/typedEventBus/hooks.d.ts +3 -0
  200. package/dist/components/Table/features/typedEventBus/hooks.js +8 -0
  201. package/dist/components/Table/features/typedEventBus/index.d.ts +2 -0
  202. package/dist/components/Table/features/typedEventBus/types.d.ts +22 -0
  203. package/dist/components/Table/forStories/components.d.ts +2 -0
  204. package/dist/components/Table/forStories/example_1.d.ts +11 -0
  205. package/dist/components/Table/forStories/example_2.d.ts +11 -0
  206. package/dist/components/Table/forStories/example_3.d.ts +10 -0
  207. package/dist/components/Table/forStories/example_4.d.ts +10 -0
  208. package/dist/components/Table/forStories/example_5.d.ts +9 -0
  209. package/dist/components/Table/forStories/example_6.d.ts +9 -0
  210. package/dist/components/Table/forStories/example_7.d.ts +9 -0
  211. package/dist/components/Table/forStories/index.d.ts +7 -0
  212. package/dist/components/Table/hooks/useBodyCellRender/index.d.ts +1 -0
  213. package/dist/components/Table/hooks/useBodyCellRender/useBodyCellRender.d.ts +4 -0
  214. package/dist/components/Table/hooks/useBodyCellRender/useBodyCellRender.js +27 -0
  215. package/dist/components/Table/hooks/useBodyCellRender/useBodyCellRender.types.d.ts +7 -0
  216. package/dist/components/Table/hooks/useBodyFlattenData/index.d.ts +1 -0
  217. package/dist/components/Table/hooks/useBodyFlattenData/useBodyFlattenData.d.ts +5 -0
  218. package/dist/components/Table/hooks/useBodyFlattenData/useBodyFlattenData.js +31 -0
  219. package/dist/components/Table/hooks/useBodyFlattenData/useBodyFlattenData.types.d.ts +11 -0
  220. package/dist/components/Table/hooks/useBodyFlattenData/useBodyFlattenData.utils.d.ts +3 -0
  221. package/dist/components/Table/hooks/useBodyFlattenData/useBodyFlattenData.utils.js +19 -0
  222. package/dist/components/Table/hooks/useCellFixedInfo/index.d.ts +3 -0
  223. package/dist/components/Table/hooks/useCellFixedInfo/useCellFixedInfo.d.ts +12 -0
  224. package/dist/components/Table/hooks/useCellFixedInfo/useCellFixedInfo.js +117 -0
  225. package/dist/components/Table/hooks/useCellFixedInfo/useCellFixedInfo.styles.d.ts +26 -0
  226. package/dist/components/Table/hooks/useCellFixedInfo/useCellFixedInfo.styles.js +33 -0
  227. package/dist/components/Table/hooks/useCellFixedInfo/useCellFixedInfo.types.d.ts +19 -0
  228. package/dist/components/Table/hooks/useCellFixedInfo/useCellFixedInfo.utils.d.ts +9 -0
  229. package/dist/components/Table/hooks/useCellFixedInfo/useCellFixedInfo.utils.js +75 -0
  230. package/dist/components/Table/hooks/useCellHover/index.d.ts +1 -0
  231. package/dist/components/Table/hooks/useCellHover/useCellHover.d.ts +8 -0
  232. package/dist/components/Table/hooks/useCellHover/useCellHover.js +34 -0
  233. package/dist/components/Table/hooks/useCellHover/useCellHover.types.d.ts +5 -0
  234. package/dist/components/Table/hooks/useCellHover/useCellHover.utils.d.ts +1 -0
  235. package/dist/components/Table/hooks/useCellHover/useCellHover.utils.js +7 -0
  236. package/dist/components/Table/hooks/useTableColumns/index.d.ts +1 -0
  237. package/dist/components/Table/hooks/useTableColumns/useTableColumns.d.ts +7 -0
  238. package/dist/components/Table/hooks/useTableColumns/useTableColumns.js +39 -0
  239. package/dist/components/Table/hooks/useTableColumns/useTableColumns.types.d.ts +4 -0
  240. package/dist/components/Table/hooks/useTableColumns/useTableColumns.utils.d.ts +2 -0
  241. package/dist/components/Table/hooks/useTableColumns/useTableColumns.utils.js +24 -0
  242. package/dist/components/Table/hooks/useTableComponents/index.d.ts +1 -0
  243. package/dist/components/Table/hooks/useTableComponents/useTableComponents.d.ts +6 -0
  244. package/dist/components/Table/hooks/useTableComponents/useTableComponents.js +14 -0
  245. package/dist/components/Table/hooks/useTableComponents/useTableComponents.types.d.ts +3 -0
  246. package/dist/components/Table/hooks/useTableVisualParamsChange/index.d.ts +1 -0
  247. package/dist/components/Table/hooks/useTableVisualParamsChange/types.d.ts +4 -0
  248. package/dist/components/Table/hooks/useTableVisualParamsChange/useTableVisualParamsChange.d.ts +12 -0
  249. package/dist/components/Table/hooks/useTableVisualParamsChange/useTableVisualParamsChange.js +116 -0
  250. package/dist/components/Table/hooks/useTableVisualParamsChange/utils.d.ts +3 -0
  251. package/dist/components/Table/hooks/useTableVisualParamsChange/utils.js +35 -0
  252. package/dist/components/Table/index.d.ts +2 -0
  253. package/dist/components/Table/interfaces/tableColumns.types.d.ts +45 -0
  254. package/dist/components/Table/interfaces/tableComponents.types.d.ts +28 -0
  255. package/dist/components/Table/utils/getRowKey/getRowKey.d.ts +2 -0
  256. package/dist/components/Table/utils/getRowKey/getRowKey.js +4 -0
  257. package/dist/components/Table/utils/getRowKey/index.d.ts +2 -0
  258. package/dist/components/Table/utils/getRowKey/types.d.ts +2 -0
  259. package/dist/components/Table/utils/index.d.ts +2 -0
  260. package/dist/components/Table/utils/ref/index.d.ts +1 -0
  261. package/dist/components/Table/utils/ref/ref.d.ts +5 -0
  262. package/dist/components/Table/utils/ref/ref.js +16 -0
  263. package/dist/components/Table/utils/ref/types.d.ts +10 -0
  264. package/dist/hooks/useEvent/index.d.ts +1 -0
  265. package/dist/hooks/useEvent/useEvent.d.ts +2 -0
  266. package/dist/hooks/useEvent/useEvent.js +9 -0
  267. package/dist/hooks/useEvent/useEvent.types.d.ts +1 -0
  268. package/dist/hooks/useFirstMount/index.d.ts +1 -0
  269. package/dist/hooks/useFirstMount/useFirstMount.d.ts +1 -0
  270. package/dist/hooks/useFirstMount/useFirstMount.js +12 -0
  271. package/dist/hooks/useStatic/index.d.ts +1 -0
  272. package/dist/hooks/useStatic/useStatic.d.ts +1 -0
  273. package/dist/hooks/useStatic/useStatic.js +8 -0
  274. package/dist/index.d.ts +1 -0
  275. package/dist/index.js +2 -0
  276. package/dist/utils/eventBus/context/EventBusContext.d.ts +2 -0
  277. package/dist/utils/eventBus/context/EventBusContext.js +5 -0
  278. package/dist/utils/eventBus/context/EventBusContext.types.d.ts +5 -0
  279. package/dist/utils/eventBus/eventBus.d.ts +10 -0
  280. package/dist/utils/eventBus/eventBus.js +47 -0
  281. package/dist/utils/eventBus/hocs/withEventBus/index.d.ts +1 -0
  282. package/dist/utils/eventBus/hocs/withEventBus/withEventBus.d.ts +2 -0
  283. package/dist/utils/eventBus/hocs/withEventBus/withEventBus.js +15 -0
  284. package/dist/utils/eventBus/hooks/useEmitter/useEmitter.d.ts +2 -0
  285. package/dist/utils/eventBus/hooks/useEmitter/useEmitter.js +8 -0
  286. package/dist/utils/eventBus/hooks/useEventBus/useEventBus.d.ts +3 -0
  287. package/dist/utils/eventBus/hooks/useEventBus/useEventBus.js +12 -0
  288. package/dist/utils/eventBus/hooks/useSubscribe/useSubscribe.d.ts +3 -0
  289. package/dist/utils/eventBus/hooks/useSubscribe/useSubscribe.js +18 -0
  290. package/dist/utils/eventBus/index.d.ts +6 -0
  291. package/dist/utils/eventBus/provider/EventBusProvider.d.ts +3 -0
  292. package/dist/utils/eventBus/provider/EventBusProvider.js +16 -0
  293. package/dist/utils/eventBus/provider/EventBusProvider.types.d.ts +6 -0
  294. package/dist/utils/eventBus/types.d.ts +6 -0
  295. package/package.json +7 -6
@@ -0,0 +1,8 @@
1
+ import { useContext } from "react";
2
+ import { createTableContext } from "../TableContext.js";
3
+ const useTableContext = () => {
4
+ return useContext(createTableContext());
5
+ };
6
+ export {
7
+ useTableContext
8
+ };
@@ -0,0 +1,3 @@
1
+ import { DefaultExpandIconProps } from './DefaultExpandIcon.types';
2
+ import { DefaultRecord } from 'components/Table/Table.types';
3
+ export declare const DefaultExpandIcon: import('react').MemoExoticComponent<(<Record extends DefaultRecord>(props: DefaultExpandIconProps<Record>) => import("@emotion/react/jsx-runtime").JSX.Element)>;
@@ -0,0 +1,23 @@
1
+ import { jsx } from "@emotion/react/jsx-runtime";
2
+ import { memo } from "react";
3
+ import { CaretRightOutlined } from "@infomaximum/icons";
4
+ import { expandIconWrapperStyle, nonExpandableExpandIconWrapperStyle } from "./DefaultExpandIcon.styles.js";
5
+ import { useTheme } from "../../../../../../hooks/useTheme/useTheme.js";
6
+ const DefaultExpandIconComponent = (props) => {
7
+ const {
8
+ record,
9
+ onExpand,
10
+ expanded,
11
+ expandable
12
+ } = props;
13
+ const theme = useTheme();
14
+ const handleClick = (event) => {
15
+ onExpand(record, event);
16
+ event.stopPropagation();
17
+ };
18
+ return /* @__PURE__ */ jsx("button", { onClick: handleClick, css: [expandIconWrapperStyle(theme), expandable ? void 0 : nonExpandableExpandIconWrapperStyle, process.env.NODE_ENV === "production" ? "" : ";label:DefaultExpandIconComponent;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9idWlsZHMvZnJvbnRlbmQvbGlicy91aS1raXQvc3JjL2NvbXBvbmVudHMvVGFibGUvZmVhdHVyZXMvdGFibGVFeHBhbmQvY29tcG9uZW50cy9EZWZhdWx0RXhwYW5kSWNvbi9EZWZhdWx0RXhwYW5kSWNvbi50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBd0JNIiwiZmlsZSI6Ii9idWlsZHMvZnJvbnRlbmQvbGlicy91aS1raXQvc3JjL2NvbXBvbmVudHMvVGFibGUvZmVhdHVyZXMvdGFibGVFeHBhbmQvY29tcG9uZW50cy9EZWZhdWx0RXhwYW5kSWNvbi9EZWZhdWx0RXhwYW5kSWNvbi50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBtZW1vIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgdHlwZSB7IERlZmF1bHRFeHBhbmRJY29uUHJvcHMgfSBmcm9tIFwiLi9EZWZhdWx0RXhwYW5kSWNvbi50eXBlc1wiO1xuaW1wb3J0IHR5cGUgeyBEZWZhdWx0UmVjb3JkIH0gZnJvbSBcImNvbXBvbmVudHMvVGFibGUvVGFibGUudHlwZXNcIjtcbmltcG9ydCB7IENhcmV0UmlnaHRPdXRsaW5lZCB9IGZyb20gXCJAaW5mb21heGltdW0vaWNvbnNcIjtcbmltcG9ydCB7IHVzZVRoZW1lIH0gZnJvbSBcImhvb2tzL3VzZVRoZW1lXCI7XG5pbXBvcnQge1xuICBleHBhbmRJY29uV3JhcHBlclN0eWxlLFxuICBub25FeHBhbmRhYmxlRXhwYW5kSWNvbldyYXBwZXJTdHlsZSxcbn0gZnJvbSBcIi4vRGVmYXVsdEV4cGFuZEljb24uc3R5bGVzXCI7XG5cbmNvbnN0IERlZmF1bHRFeHBhbmRJY29uQ29tcG9uZW50ID0gPFJlY29yZCBleHRlbmRzIERlZmF1bHRSZWNvcmQ+KFxuICBwcm9wczogRGVmYXVsdEV4cGFuZEljb25Qcm9wczxSZWNvcmQ+XG4pID0+IHtcbiAgY29uc3QgeyByZWNvcmQsIG9uRXhwYW5kLCBleHBhbmRlZCwgZXhwYW5kYWJsZSB9ID0gcHJvcHM7XG4gIGNvbnN0IHRoZW1lID0gdXNlVGhlbWUoKTtcblxuICBjb25zdCBoYW5kbGVDbGljazogUmVhY3QuTW91c2VFdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+ID0gKGV2ZW50KSA9PiB7XG4gICAgb25FeHBhbmQocmVjb3JkLCBldmVudCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8YnV0dG9uXG4gICAgICBvbkNsaWNrPXtoYW5kbGVDbGlja31cbiAgICAgIGNzcz17W1xuICAgICAgICBleHBhbmRJY29uV3JhcHBlclN0eWxlKHRoZW1lKSxcbiAgICAgICAgZXhwYW5kYWJsZSA/IHVuZGVmaW5lZCA6IG5vbkV4cGFuZGFibGVFeHBhbmRJY29uV3JhcHBlclN0eWxlLFxuICAgICAgXX1cbiAgICA+XG4gICAgICA8Q2FyZXRSaWdodE91dGxpbmVkIHJvdGF0ZT17ZXhwYW5kZWQgPyA5MCA6IHVuZGVmaW5lZH0gLz5cbiAgICA8L2J1dHRvbj5cbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBEZWZhdWx0RXhwYW5kSWNvbiA9IG1lbW8oRGVmYXVsdEV4cGFuZEljb25Db21wb25lbnQpO1xuIl19 */"], children: /* @__PURE__ */ jsx(CaretRightOutlined, { rotate: expanded ? 90 : void 0 }) });
19
+ };
20
+ const DefaultExpandIcon = memo(DefaultExpandIconComponent);
21
+ export {
22
+ DefaultExpandIcon
23
+ };
@@ -0,0 +1,19 @@
1
+ import { Theme } from 'themes';
2
+ export declare const expandIconWrapperStyle: (theme: Theme) => {
3
+ readonly cursor: "pointer";
4
+ readonly appearance: "none";
5
+ readonly display: "inline-flex";
6
+ readonly fontSize: 12;
7
+ readonly border: 0;
8
+ readonly padding: 4;
9
+ readonly borderRadius: 4;
10
+ readonly backgroundColor: "transparent";
11
+ readonly color: `rgba(${number}, ${number}, ${number}, 0.3)`;
12
+ readonly ":hover": {
13
+ readonly color: `rgba(${number}, ${number}, ${number}, 0.7)`;
14
+ readonly backgroundColor: `rgba(${number}, ${number}, ${number}, 0.08)`;
15
+ };
16
+ };
17
+ export declare const nonExpandableExpandIconWrapperStyle: {
18
+ readonly visibility: "hidden";
19
+ };
@@ -0,0 +1,22 @@
1
+ const expandIconWrapperStyle = (theme) => ({
2
+ cursor: "pointer",
3
+ appearance: "none",
4
+ display: "inline-flex",
5
+ fontSize: theme.iconS,
6
+ border: 0,
7
+ padding: theme.paddingXS,
8
+ borderRadius: theme.borderRadiusM,
9
+ backgroundColor: "transparent",
10
+ color: theme.textIcon,
11
+ ":hover": {
12
+ color: theme.textIconHover,
13
+ backgroundColor: theme.bgIconHover
14
+ }
15
+ });
16
+ const nonExpandableExpandIconWrapperStyle = {
17
+ visibility: "hidden"
18
+ };
19
+ export {
20
+ expandIconWrapperStyle,
21
+ nonExpandableExpandIconWrapperStyle
22
+ };
@@ -0,0 +1,3 @@
1
+ import { ExpandIconProps } from '../../types';
2
+ export interface DefaultExpandIconProps<Record> extends ExpandIconProps<Record> {
3
+ }
@@ -0,0 +1,3 @@
1
+ import { ExpandIconWrapperProps } from './ExpandIconWrapper.types';
2
+ import { DefaultRecord } from 'components/Table/Table.types';
3
+ export declare const ExpandIconWrapper: <Record extends DefaultRecord>(props: ExpandIconWrapperProps<Record>) => import("@emotion/react/jsx-runtime").JSX.Element;
@@ -0,0 +1,24 @@
1
+ import { jsx } from "@emotion/react/jsx-runtime";
2
+ import { useEvent } from "../../../../../../hooks/useEvent/useEvent.js";
3
+ import { useTableContext } from "../../../../contexts/tableContext/useTableContext/useTableContext.js";
4
+ import { useTableExpandedContext } from "../../contexts/tableExpandedContext/useTableExpandedContext/useTableExpandedContext.js";
5
+ const ExpandIconWrapperComponent = (props) => {
6
+ const {
7
+ expandable,
8
+ record,
9
+ rowKey
10
+ } = props;
11
+ const {
12
+ ExpandIcon
13
+ } = useTableContext();
14
+ const {
15
+ expandedKeys,
16
+ onTriggerExpand: onTriggerExpandProp
17
+ } = useTableExpandedContext();
18
+ const onTriggerExpand = useEvent(onTriggerExpandProp);
19
+ return /* @__PURE__ */ jsx(ExpandIcon, { expanded: expandedKeys.has(rowKey), record, expandable, onExpand: onTriggerExpand });
20
+ };
21
+ const ExpandIconWrapper = ExpandIconWrapperComponent;
22
+ export {
23
+ ExpandIconWrapper
24
+ };
@@ -0,0 +1,5 @@
1
+ import { DefaultRecord, Key } from 'components/Table/Table.types';
2
+ import { ExpandIconProps } from '../../types';
3
+ export interface ExpandIconWrapperProps<Record extends DefaultRecord> extends Omit<ExpandIconProps<Record>, "expanded" | "onExpand"> {
4
+ rowKey: Key;
5
+ }
@@ -0,0 +1,3 @@
1
+ export { TableExpandedContext } from './tableExpandedContext/TableExpandedContext';
2
+ export { useTableExpandedContext } from './tableExpandedContext/useTableExpandedContext/useTableExpandedContext';
3
+ export type { TableExpandedContextValue } from './tableExpandedContext/TableExpandedContext.types';
@@ -0,0 +1,2 @@
1
+ import { TableExpandedContextValue } from './TableExpandedContext.types';
2
+ export declare const TableExpandedContext: import('react').Context<TableExpandedContextValue>;
@@ -0,0 +1,9 @@
1
+ import { createContext } from "react";
2
+ import { identity } from "lodash-es";
3
+ const TableExpandedContext = createContext({
4
+ expandedKeys: /* @__PURE__ */ new Set(),
5
+ onTriggerExpand: identity
6
+ });
7
+ export {
8
+ TableExpandedContext
9
+ };
@@ -0,0 +1,7 @@
1
+ import { useBodyExpand } from '../../hooks';
2
+ type UseBodyExpandReturnType = ReturnType<typeof useBodyExpand>;
3
+ export interface TableExpandedContextValue {
4
+ expandedKeys: UseBodyExpandReturnType["expandedKeys"];
5
+ onTriggerExpand: UseBodyExpandReturnType["onTriggerExpand"];
6
+ }
7
+ export {};
@@ -0,0 +1 @@
1
+ export declare const useTableExpandedContext: () => import('../TableExpandedContext.types').TableExpandedContextValue;
@@ -0,0 +1,8 @@
1
+ import { useContext } from "react";
2
+ import { TableExpandedContext } from "../TableExpandedContext.js";
3
+ const useTableExpandedContext = () => {
4
+ return useContext(TableExpandedContext);
5
+ };
6
+ export {
7
+ useTableExpandedContext
8
+ };
@@ -0,0 +1,2 @@
1
+ export { useTableExpand } from './useTableExpand/useTableExpand';
2
+ export { useBodyExpand } from './useBodyExpand/useBodyExpand';
@@ -0,0 +1,6 @@
1
+ import { DefaultRecord } from 'components/Table/Table.types';
2
+ import { UseBodyExpandOptions } from './useBodyExpand.types';
3
+ export declare const useBodyExpand: <Record extends DefaultRecord>(options: UseBodyExpandOptions<Record>) => {
4
+ expandedKeys: Set<import('react').Key>;
5
+ onTriggerExpand: <Record_1 extends DefaultRecord>(record: Record_1) => void;
6
+ };
@@ -0,0 +1,38 @@
1
+ import { useState, useMemo, useCallback } from "react";
2
+ import { getRowKey } from "../../../../utils/getRowKey/getRowKey.js";
3
+ const useBodyExpand = (options) => {
4
+ const {
5
+ expandable
6
+ } = options;
7
+ const {
8
+ defaultExpandedRowKeys,
9
+ expandedRowKeys,
10
+ onExpandedRowsChange
11
+ } = expandable || {};
12
+ const [innerExpandedKeys, setInnerExpandedKeys] = useState(() => defaultExpandedRowKeys || []);
13
+ const expandedKeys = useMemo(() => {
14
+ return new Set(expandedRowKeys || innerExpandedKeys || []);
15
+ }, [expandedRowKeys, innerExpandedKeys]);
16
+ const handleTriggerExpand = useCallback((record) => {
17
+ const key = getRowKey(record);
18
+ let newExpandedKeys;
19
+ const hasKey = expandedKeys.has(key);
20
+ if (hasKey) {
21
+ expandedKeys.delete(key);
22
+ newExpandedKeys = [...expandedKeys];
23
+ } else {
24
+ newExpandedKeys = [...expandedKeys, key];
25
+ }
26
+ setInnerExpandedKeys(newExpandedKeys);
27
+ if (onExpandedRowsChange) {
28
+ onExpandedRowsChange(newExpandedKeys);
29
+ }
30
+ }, [expandedKeys, onExpandedRowsChange]);
31
+ return {
32
+ expandedKeys,
33
+ onTriggerExpand: handleTriggerExpand
34
+ };
35
+ };
36
+ export {
37
+ useBodyExpand
38
+ };
@@ -0,0 +1,3 @@
1
+ import { DefaultRecord, TableProps } from 'components/Table/Table.types';
2
+ export interface UseBodyExpandOptions<Record extends DefaultRecord> extends Pick<TableProps<Record>, "expandable"> {
3
+ }
@@ -0,0 +1,8 @@
1
+ import { UseTableExpandOptions } from './useTableExpand.types';
2
+ import { DefaultRecord } from '../../../../Table.types';
3
+ export declare const useTableExpand: <Record extends DefaultRecord>(options: UseTableExpandOptions<Record>) => {
4
+ expandIconColumnIndex: number;
5
+ isSomeRecordHasChildren: boolean;
6
+ indentSize: number;
7
+ ExpandIcon: import('react').MemoExoticComponent<(<Record_1 extends DefaultRecord>(props: import('../../components/DefaultExpandIcon/DefaultExpandIcon.types').DefaultExpandIconProps<Record_1>) => import("@emotion/react/jsx-runtime").JSX.Element)> | import('react').ComponentType<import('../..').ExpandIconProps<Record>>;
8
+ };
@@ -0,0 +1,26 @@
1
+ import { useMemo } from "react";
2
+ import { DefaultExpandIcon } from "../../components/DefaultExpandIcon/DefaultExpandIcon.js";
3
+ import { defaultIndentSize } from "../../../tableSort/utils/const.js";
4
+ const useTableExpand = (options) => {
5
+ const {
6
+ expandable,
7
+ dataSource,
8
+ rowSelection
9
+ } = options;
10
+ const {
11
+ indentSize = defaultIndentSize,
12
+ expandIcon: ExpandIconProp
13
+ } = expandable || {};
14
+ const expandIconColumnIndex = rowSelection ? 1 : 0;
15
+ const ExpandIcon = ExpandIconProp || DefaultExpandIcon;
16
+ const isSomeRecordHasChildren = useMemo(() => dataSource.some((record) => "children" in record && Array.isArray(record.children)), [dataSource]);
17
+ return {
18
+ expandIconColumnIndex,
19
+ isSomeRecordHasChildren,
20
+ indentSize,
21
+ ExpandIcon
22
+ };
23
+ };
24
+ export {
25
+ useTableExpand
26
+ };
@@ -0,0 +1,3 @@
1
+ import { DefaultRecord, TableProps } from '../../../../Table.types';
2
+ export interface UseTableExpandOptions<Record extends DefaultRecord> extends Pick<TableProps<Record>, "expandable" | "dataSource" | "rowSelection"> {
3
+ }
@@ -0,0 +1,4 @@
1
+ export { useBodyExpand, useTableExpand } from './hooks';
2
+ export { TableExpandedContext, useTableExpandedContext, type TableExpandedContextValue, } from './contexts';
3
+ export type { ExpandIconProps, ExpandableConfig } from './types';
4
+ export { ExpandIconWrapper } from './components/ExpandIconWrapper/ExpandIconWrapper';
@@ -0,0 +1,16 @@
1
+ import { Key } from 'components/Table/Table.types';
2
+ import { MouseEvent, ComponentType } from 'react';
3
+ export type TriggerEventHandler<Record> = (record: Record, event: MouseEvent<HTMLElement>) => void;
4
+ export interface ExpandIconProps<Record> {
5
+ expanded: boolean;
6
+ record: Record;
7
+ expandable: boolean;
8
+ onExpand: TriggerEventHandler<Record>;
9
+ }
10
+ export interface ExpandableConfig<Record> {
11
+ defaultExpandedRowKeys?: readonly Key[];
12
+ expandedRowKeys?: readonly Key[];
13
+ expandIcon?: ComponentType<ExpandIconProps<Record>>;
14
+ onExpandedRowsChange?: (expandedKeys: readonly Key[]) => void;
15
+ indentSize?: number;
16
+ }
@@ -0,0 +1,3 @@
1
+ import { CheckboxCellContentWrapperProps } from './CheckboxCellContentWrapper.types';
2
+ import { DefaultRecord } from 'components/Table/Table.types';
3
+ export declare const CheckboxCellContentWrapper: <Record extends DefaultRecord>(props: CheckboxCellContentWrapperProps<Record>) => import("@emotion/react/jsx-runtime").JSX.Element;
@@ -0,0 +1,78 @@
1
+ import { jsx } from "@emotion/react/jsx-runtime";
2
+ import { Fragment } from "react";
3
+ import { useEvent } from "../../../../../../hooks/useEvent/useEvent.js";
4
+ import { arrDel, arrAdd } from "./CheckboxCellContentWrapper.utils.js";
5
+ import { Checkbox } from "../../../../../Checkbox/index.js";
6
+ import { selectionItemContainerStyle, getBorderedSelectionItemContainerStyle } from "../../styles.js";
7
+ import { useTableRowSelectionContext } from "../../contexts/tableRowSelectionContext/useTableRowSelectionContext/useTableRowSelectionContext.js";
8
+ import { useTableContext } from "../../../../contexts/tableContext/useTableContext/useTableContext.js";
9
+ import { getRowKey } from "../../../../utils/getRowKey/getRowKey.js";
10
+ const CheckboxCellContentWrapperComponent = (props) => {
11
+ const {
12
+ renderCell: RenderCell,
13
+ record
14
+ } = props;
15
+ const {
16
+ checkboxPropsMap,
17
+ derivedSelectedKeySet,
18
+ derivedSelectedKeys,
19
+ derivedHalfSelectedKeySet,
20
+ recordKeys,
21
+ setSelectedKeys,
22
+ triggerSingleSelection,
23
+ multipleSelect,
24
+ updatePrevSelectedIndex
25
+ } = useTableRowSelectionContext();
26
+ const {
27
+ isSomeRecordHasChildren,
28
+ bordered
29
+ } = useTableContext();
30
+ const key = getRowKey(record);
31
+ const checked = derivedSelectedKeySet.has(key);
32
+ const indeterminate = derivedHalfSelectedKeySet.has(key);
33
+ const checkboxProps = checkboxPropsMap.get(key);
34
+ let mergedIndeterminate;
35
+ if (isSomeRecordHasChildren) {
36
+ mergedIndeterminate = indeterminate;
37
+ } else {
38
+ mergedIndeterminate = (checkboxProps == null ? void 0 : checkboxProps.indeterminate) ?? indeterminate;
39
+ }
40
+ const handleClick = useEvent((e) => {
41
+ var _a;
42
+ e.stopPropagation();
43
+ (_a = checkboxProps == null ? void 0 : checkboxProps.onClick) == null ? void 0 : _a.call(checkboxProps, e);
44
+ });
45
+ const handleChange = useEvent((event) => {
46
+ var _a;
47
+ const {
48
+ nativeEvent
49
+ } = event;
50
+ const {
51
+ shiftKey
52
+ } = nativeEvent;
53
+ const currentSelectedIndex = recordKeys.indexOf(key);
54
+ const isMultiple = derivedSelectedKeys.some((item) => recordKeys.includes(item));
55
+ if (shiftKey && isMultiple) {
56
+ const keySet = new Set(derivedSelectedKeySet);
57
+ multipleSelect(currentSelectedIndex, recordKeys, keySet);
58
+ const keys = Array.from(keySet);
59
+ setSelectedKeys(keys, "multiple");
60
+ } else {
61
+ const originCheckedKeys = derivedSelectedKeys;
62
+ const checkedKeys = checked ? arrDel(originCheckedKeys, key) : arrAdd(originCheckedKeys, key);
63
+ triggerSingleSelection(key, !checked, checkedKeys, nativeEvent);
64
+ }
65
+ if (checked) {
66
+ updatePrevSelectedIndex(null);
67
+ } else {
68
+ updatePrevSelectedIndex(currentSelectedIndex);
69
+ }
70
+ (_a = checkboxProps == null ? void 0 : checkboxProps.onChange) == null ? void 0 : _a.call(checkboxProps, event);
71
+ });
72
+ const Wrapper = RenderCell ?? Fragment;
73
+ return /* @__PURE__ */ jsx("div", { css: [selectionItemContainerStyle, bordered ? getBorderedSelectionItemContainerStyle() : void 0, process.env.NODE_ENV === "production" ? "" : ";label:CheckboxCellContentWrapperComponent;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9idWlsZHMvZnJvbnRlbmQvbGlicy91aS1raXQvc3JjL2NvbXBvbmVudHMvVGFibGUvZmVhdHVyZXMvdGFibGVSb3dTZWxlY3Rpb24vY29tcG9uZW50cy9DaGVja2JveENlbGxDb250ZW50V3JhcHBlci9DaGVja2JveENlbGxDb250ZW50V3JhcHBlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBaUZNIiwiZmlsZSI6Ii9idWlsZHMvZnJvbnRlbmQvbGlicy91aS1raXQvc3JjL2NvbXBvbmVudHMvVGFibGUvZmVhdHVyZXMvdGFibGVSb3dTZWxlY3Rpb24vY29tcG9uZW50cy9DaGVja2JveENlbGxDb250ZW50V3JhcHBlci9DaGVja2JveENlbGxDb250ZW50V3JhcHBlci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGcmFnbWVudCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHR5cGUgeyBDaGVja2JveENlbGxDb250ZW50V3JhcHBlclByb3BzIH0gZnJvbSBcIi4vQ2hlY2tib3hDZWxsQ29udGVudFdyYXBwZXIudHlwZXNcIjtcbmltcG9ydCB7IHVzZVRhYmxlQ29udGV4dCB9IGZyb20gXCJjb21wb25lbnRzL1RhYmxlL2NvbnRleHRzXCI7XG5pbXBvcnQgeyB1c2VFdmVudCB9IGZyb20gXCJob29rcy91c2VFdmVudFwiO1xuaW1wb3J0IHsgZ2V0Um93S2V5IH0gZnJvbSBcImNvbXBvbmVudHMvVGFibGUvdXRpbHNcIjtcbmltcG9ydCB7IGFyckFkZCwgYXJyRGVsIH0gZnJvbSBcIi4vQ2hlY2tib3hDZWxsQ29udGVudFdyYXBwZXIudXRpbHNcIjtcbmltcG9ydCB7IENoZWNrYm94LCB0eXBlIENoZWNrYm94UHJvcHMgfSBmcm9tIFwiY29tcG9uZW50cy9DaGVja2JveFwiO1xuaW1wb3J0IHsgZ2V0Qm9yZGVyZWRTZWxlY3Rpb25JdGVtQ29udGFpbmVyU3R5bGUsIHNlbGVjdGlvbkl0ZW1Db250YWluZXJTdHlsZSB9IGZyb20gXCIuLi8uLi9zdHlsZXNcIjtcbmltcG9ydCB7IHVzZVRhYmxlUm93U2VsZWN0aW9uQ29udGV4dCB9IGZyb20gXCIuLi8uLi9jb250ZXh0c1wiO1xuaW1wb3J0IHR5cGUgeyBEZWZhdWx0UmVjb3JkIH0gZnJvbSBcImNvbXBvbmVudHMvVGFibGUvVGFibGUudHlwZXNcIjtcblxuY29uc3QgQ2hlY2tib3hDZWxsQ29udGVudFdyYXBwZXJDb21wb25lbnQgPSA8UmVjb3JkIGV4dGVuZHMgRGVmYXVsdFJlY29yZD4oXG4gIHByb3BzOiBDaGVja2JveENlbGxDb250ZW50V3JhcHBlclByb3BzPFJlY29yZD5cbikgPT4ge1xuICBjb25zdCB7IHJlbmRlckNlbGw6IFJlbmRlckNlbGwsIHJlY29yZCB9ID0gcHJvcHM7XG4gIGNvbnN0IHtcbiAgICBjaGVja2JveFByb3BzTWFwLFxuICAgIGRlcml2ZWRTZWxlY3RlZEtleVNldCxcbiAgICBkZXJpdmVkU2VsZWN0ZWRLZXlzLFxuICAgIGRlcml2ZWRIYWxmU2VsZWN0ZWRLZXlTZXQsXG4gICAgcmVjb3JkS2V5cyxcbiAgICBzZXRTZWxlY3RlZEtleXMsXG4gICAgdHJpZ2dlclNpbmdsZVNlbGVjdGlvbixcbiAgICBtdWx0aXBsZVNlbGVjdCxcbiAgICB1cGRhdGVQcmV2U2VsZWN0ZWRJbmRleCxcbiAgfSA9IHVzZVRhYmxlUm93U2VsZWN0aW9uQ29udGV4dCgpO1xuICBjb25zdCB7IGlzU29tZVJlY29yZEhhc0NoaWxkcmVuLCBib3JkZXJlZCB9ID0gdXNlVGFibGVDb250ZXh0KCk7XG4gIGNvbnN0IGtleSA9IGdldFJvd0tleShyZWNvcmQpO1xuXG4gIGNvbnN0IGNoZWNrZWQgPSBkZXJpdmVkU2VsZWN0ZWRLZXlTZXQuaGFzKGtleSk7XG4gIGNvbnN0IGluZGV0ZXJtaW5hdGUgPSBkZXJpdmVkSGFsZlNlbGVjdGVkS2V5U2V0LmhhcyhrZXkpO1xuICBjb25zdCBjaGVja2JveFByb3BzID0gY2hlY2tib3hQcm9wc01hcC5nZXQoa2V5KTtcblxuICBsZXQgbWVyZ2VkSW5kZXRlcm1pbmF0ZTogYm9vbGVhbjtcblxuICBpZiAoaXNTb21lUmVjb3JkSGFzQ2hpbGRyZW4pIHtcbiAgICBtZXJnZWRJbmRldGVybWluYXRlID0gaW5kZXRlcm1pbmF0ZTtcbiAgfSBlbHNlIHtcbiAgICBtZXJnZWRJbmRldGVybWluYXRlID0gY2hlY2tib3hQcm9wcz8uaW5kZXRlcm1pbmF0ZSA/PyBpbmRldGVybWluYXRlO1xuICB9XG5cbiAgY29uc3QgaGFuZGxlQ2xpY2sgPSB1c2VFdmVudCgoKGUpID0+IHtcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGNoZWNrYm94UHJvcHM/Lm9uQ2xpY2s/LihlKTtcbiAgfSkgc2F0aXNmaWVzIENoZWNrYm94UHJvcHNbXCJvbkNsaWNrXCJdKTtcblxuICBjb25zdCBoYW5kbGVDaGFuZ2UgPSB1c2VFdmVudCgoKGV2ZW50KSA9PiB7XG4gICAgY29uc3QgeyBuYXRpdmVFdmVudCB9ID0gZXZlbnQ7XG4gICAgY29uc3QgeyBzaGlmdEtleSB9ID0gbmF0aXZlRXZlbnQ7XG5cbiAgICBjb25zdCBjdXJyZW50U2VsZWN0ZWRJbmRleCA9IHJlY29yZEtleXMuaW5kZXhPZihrZXkpO1xuICAgIGNvbnN0IGlzTXVsdGlwbGUgPSBkZXJpdmVkU2VsZWN0ZWRLZXlzLnNvbWUoKGl0ZW0pID0+IHJlY29yZEtleXMuaW5jbHVkZXMoaXRlbSkpO1xuXG4gICAgaWYgKHNoaWZ0S2V5ICYmIGlzTXVsdGlwbGUpIHtcbiAgICAgIGNvbnN0IGtleVNldCA9IG5ldyBTZXQoZGVyaXZlZFNlbGVjdGVkS2V5U2V0KTtcbiAgICAgIG11bHRpcGxlU2VsZWN0KGN1cnJlbnRTZWxlY3RlZEluZGV4LCByZWNvcmRLZXlzLCBrZXlTZXQpO1xuXG4gICAgICBjb25zdCBrZXlzID0gQXJyYXkuZnJvbShrZXlTZXQpO1xuXG4gICAgICBzZXRTZWxlY3RlZEtleXMoa2V5cywgXCJtdWx0aXBsZVwiKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qgb3JpZ2luQ2hlY2tlZEtleXMgPSBkZXJpdmVkU2VsZWN0ZWRLZXlzO1xuXG4gICAgICBjb25zdCBjaGVja2VkS2V5cyA9IGNoZWNrZWQgPyBhcnJEZWwob3JpZ2luQ2hlY2tlZEtleXMsIGtleSkgOiBhcnJBZGQob3JpZ2luQ2hlY2tlZEtleXMsIGtleSk7XG5cbiAgICAgIHRyaWdnZXJTaW5nbGVTZWxlY3Rpb24oa2V5LCAhY2hlY2tlZCwgY2hlY2tlZEtleXMsIG5hdGl2ZUV2ZW50KTtcbiAgICB9XG5cbiAgICBpZiAoY2hlY2tlZCkge1xuICAgICAgdXBkYXRlUHJldlNlbGVjdGVkSW5kZXgobnVsbCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHVwZGF0ZVByZXZTZWxlY3RlZEluZGV4KGN1cnJlbnRTZWxlY3RlZEluZGV4KTtcbiAgICB9XG5cbiAgICBjaGVja2JveFByb3BzPy5vbkNoYW5nZT8uKGV2ZW50KTtcbiAgfSkgc2F0aXNmaWVzIENoZWNrYm94UHJvcHNbXCJvbkNoYW5nZVwiXSk7XG5cbiAgY29uc3QgV3JhcHBlciA9IFJlbmRlckNlbGwgPz8gRnJhZ21lbnQ7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjc3M9e1tcbiAgICAgICAgc2VsZWN0aW9uSXRlbUNvbnRhaW5lclN0eWxlLFxuICAgICAgICBib3JkZXJlZCA/IGdldEJvcmRlcmVkU2VsZWN0aW9uSXRlbUNvbnRhaW5lclN0eWxlKCkgOiB1bmRlZmluZWQsXG4gICAgICBdfVxuICAgID5cbiAgICAgIDxXcmFwcGVyPlxuICAgICAgICA8Q2hlY2tib3hcbiAgICAgICAgICB7Li4uY2hlY2tib3hQcm9wc31cbiAgICAgICAgICBjaGVja2VkPXtjaGVja2VkfVxuICAgICAgICAgIGluZGV0ZXJtaW5hdGU9e21lcmdlZEluZGV0ZXJtaW5hdGV9XG4gICAgICAgICAgb25DbGljaz17aGFuZGxlQ2xpY2t9XG4gICAgICAgICAgb25DaGFuZ2U9e2hhbmRsZUNoYW5nZX1cbiAgICAgICAgLz5cbiAgICAgIDwvV3JhcHBlcj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBDaGVja2JveENlbGxDb250ZW50V3JhcHBlciA9IENoZWNrYm94Q2VsbENvbnRlbnRXcmFwcGVyQ29tcG9uZW50O1xuIl19 */"], children: /* @__PURE__ */ jsx(Wrapper, { children: /* @__PURE__ */ jsx(Checkbox, { ...checkboxProps, checked, indeterminate: mergedIndeterminate, onClick: handleClick, onChange: handleChange }) }) });
74
+ };
75
+ const CheckboxCellContentWrapper = CheckboxCellContentWrapperComponent;
76
+ export {
77
+ CheckboxCellContentWrapper
78
+ };
@@ -0,0 +1,4 @@
1
+ import { TableRowSelection } from '../../types';
2
+ export interface CheckboxCellContentWrapperProps<Record> extends Pick<TableRowSelection<Record>, "renderCell"> {
3
+ record: Record;
4
+ }
@@ -0,0 +1,3 @@
1
+ import { Key } from 'components/Table/Table.types';
2
+ export declare function arrDel(list: Key[], value: Key): import('react').Key[];
3
+ export declare function arrAdd(list: Key[], value: Key): import('react').Key[];
@@ -0,0 +1,20 @@
1
+ function arrDel(list, value) {
2
+ if (!list) return [];
3
+ const clone = list.slice();
4
+ const index = clone.indexOf(value);
5
+ if (index >= 0) {
6
+ clone.splice(index, 1);
7
+ }
8
+ return clone;
9
+ }
10
+ function arrAdd(list, value) {
11
+ const clone = (list || []).slice();
12
+ if (clone.indexOf(value) === -1) {
13
+ clone.push(value);
14
+ }
15
+ return clone;
16
+ }
17
+ export {
18
+ arrAdd,
19
+ arrDel
20
+ };
@@ -0,0 +1,2 @@
1
+ import { HeaderCheckboxCellContentWrapperProps } from './HeaderCheckboxCellContentWrapper.types';
2
+ export declare const HeaderCheckboxCellContentWrapper: <Record>(props: HeaderCheckboxCellContentWrapperProps<Record>) => import("@emotion/react/jsx-runtime").JSX.Element;
@@ -0,0 +1,73 @@
1
+ import { jsx } from "@emotion/react/jsx-runtime";
2
+ import { Fragment } from "react";
3
+ import { Checkbox } from "../../../../../Checkbox/index.js";
4
+ import { selectionItemContainerStyle, getBorderedSelectionItemContainerStyle } from "../../styles.js";
5
+ import { useTableContext } from "../../../../contexts/tableContext/useTableContext/useTableContext.js";
6
+ import { useTableRowSelectionContext } from "../../contexts/tableRowSelectionContext/useTableRowSelectionContext/useTableRowSelectionContext.js";
7
+ import { getRowKey } from "../../../../utils/getRowKey/getRowKey.js";
8
+ const HeaderCheckboxCellContentWrapperComponent = (props) => {
9
+ const {
10
+ columnTitle: ColumnTitle,
11
+ getTitleCheckboxProps
12
+ } = props;
13
+ const {
14
+ bordered
15
+ } = useTableContext();
16
+ const {
17
+ checkboxPropsMap,
18
+ flattedData,
19
+ checkedCurrentAll,
20
+ checkedCurrentSome,
21
+ keySet,
22
+ recordKeys,
23
+ setSelectedKeys,
24
+ updatePrevSelectedIndex
25
+ } = useTableRowSelectionContext();
26
+ const allDisabledData = flattedData.map((record) => {
27
+ const key = getRowKey(record);
28
+ const checkboxProps = checkboxPropsMap.get(key) || {};
29
+ return {
30
+ checked: keySet.has(key),
31
+ ...checkboxProps
32
+ };
33
+ }).filter(({
34
+ disabled: disabled2
35
+ }) => disabled2);
36
+ const allDisabled = !!allDisabledData.length && allDisabledData.length === flattedData.length;
37
+ const allDisabledAndChecked = allDisabled && allDisabledData.every(({
38
+ checked
39
+ }) => checked);
40
+ const allDisabledSomeChecked = allDisabled && allDisabledData.some(({
41
+ checked
42
+ }) => checked);
43
+ const customCheckboxProps = (getTitleCheckboxProps == null ? void 0 : getTitleCheckboxProps()) || {};
44
+ const {
45
+ onChange,
46
+ disabled
47
+ } = customCheckboxProps;
48
+ const onSelectAllChange = () => {
49
+ if (checkedCurrentAll) {
50
+ recordKeys.forEach((key) => {
51
+ keySet.delete(key);
52
+ });
53
+ } else {
54
+ recordKeys.forEach((key) => {
55
+ if (!keySet.has(key)) {
56
+ keySet.add(key);
57
+ }
58
+ });
59
+ }
60
+ const keys = Array.from(keySet);
61
+ setSelectedKeys(keys, "all");
62
+ updatePrevSelectedIndex(null);
63
+ };
64
+ const Wrapper = ColumnTitle ?? Fragment;
65
+ return /* @__PURE__ */ jsx("div", { css: [selectionItemContainerStyle, bordered ? getBorderedSelectionItemContainerStyle(true) : void 0, process.env.NODE_ENV === "production" ? "" : ";label:HeaderCheckboxCellContentWrapperComponent;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9idWlsZHMvZnJvbnRlbmQvbGlicy91aS1raXQvc3JjL2NvbXBvbmVudHMvVGFibGUvZmVhdHVyZXMvdGFibGVSb3dTZWxlY3Rpb24vY29tcG9uZW50cy9IZWFkZXJDaGVja2JveENlbGxDb250ZW50V3JhcHBlci9IZWFkZXJDaGVja2JveENlbGxDb250ZW50V3JhcHBlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBb0VNIiwiZmlsZSI6Ii9idWlsZHMvZnJvbnRlbmQvbGlicy91aS1raXQvc3JjL2NvbXBvbmVudHMvVGFibGUvZmVhdHVyZXMvdGFibGVSb3dTZWxlY3Rpb24vY29tcG9uZW50cy9IZWFkZXJDaGVja2JveENlbGxDb250ZW50V3JhcHBlci9IZWFkZXJDaGVja2JveENlbGxDb250ZW50V3JhcHBlci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGcmFnbWVudCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHR5cGUgeyBIZWFkZXJDaGVja2JveENlbGxDb250ZW50V3JhcHBlclByb3BzIH0gZnJvbSBcIi4vSGVhZGVyQ2hlY2tib3hDZWxsQ29udGVudFdyYXBwZXIudHlwZXNcIjtcbmltcG9ydCB0eXBlIHsgS2V5IH0gZnJvbSBcImNvbXBvbmVudHMvVGFibGUvVGFibGUudHlwZXNcIjtcbmltcG9ydCB7IHVzZVRhYmxlQ29udGV4dCB9IGZyb20gXCJjb21wb25lbnRzL1RhYmxlL2NvbnRleHRzXCI7XG5pbXBvcnQgeyBnZXRSb3dLZXkgfSBmcm9tIFwiY29tcG9uZW50cy9UYWJsZS91dGlsc1wiO1xuaW1wb3J0IHsgQ2hlY2tib3ggfSBmcm9tIFwiY29tcG9uZW50cy9DaGVja2JveFwiO1xuaW1wb3J0IHsgZ2V0Qm9yZGVyZWRTZWxlY3Rpb25JdGVtQ29udGFpbmVyU3R5bGUsIHNlbGVjdGlvbkl0ZW1Db250YWluZXJTdHlsZSB9IGZyb20gXCIuLi8uLi9zdHlsZXNcIjtcbmltcG9ydCB7IHVzZVRhYmxlUm93U2VsZWN0aW9uQ29udGV4dCB9IGZyb20gXCIuLi8uLi9jb250ZXh0c1wiO1xuXG5jb25zdCBIZWFkZXJDaGVja2JveENlbGxDb250ZW50V3JhcHBlckNvbXBvbmVudCA9IDxSZWNvcmQsPihcbiAgcHJvcHM6IEhlYWRlckNoZWNrYm94Q2VsbENvbnRlbnRXcmFwcGVyUHJvcHM8UmVjb3JkPlxuKSA9PiB7XG4gIGNvbnN0IHsgY29sdW1uVGl0bGU6IENvbHVtblRpdGxlLCBnZXRUaXRsZUNoZWNrYm94UHJvcHMgfSA9IHByb3BzO1xuICBjb25zdCB7IGJvcmRlcmVkIH0gPSB1c2VUYWJsZUNvbnRleHQoKTtcbiAgY29uc3Qge1xuICAgIGNoZWNrYm94UHJvcHNNYXAsXG4gICAgZmxhdHRlZERhdGEsXG4gICAgY2hlY2tlZEN1cnJlbnRBbGwsXG4gICAgY2hlY2tlZEN1cnJlbnRTb21lLFxuICAgIGtleVNldCxcbiAgICByZWNvcmRLZXlzLFxuICAgIHNldFNlbGVjdGVkS2V5cyxcbiAgICB1cGRhdGVQcmV2U2VsZWN0ZWRJbmRleCxcbiAgfSA9IHVzZVRhYmxlUm93U2VsZWN0aW9uQ29udGV4dCgpO1xuXG4gIGNvbnN0IGFsbERpc2FibGVkRGF0YSA9IGZsYXR0ZWREYXRhXG4gICAgLm1hcCgocmVjb3JkKSA9PiB7XG4gICAgICBjb25zdCBrZXkgPSBnZXRSb3dLZXkocmVjb3JkKTtcbiAgICAgIGNvbnN0IGNoZWNrYm94UHJvcHMgPSBjaGVja2JveFByb3BzTWFwLmdldChrZXkpIHx8IHt9O1xuXG4gICAgICByZXR1cm4geyBjaGVja2VkOiBrZXlTZXQuaGFzKGtleSksIC4uLmNoZWNrYm94UHJvcHMgfTtcbiAgICB9KVxuICAgIC5maWx0ZXIoKHsgZGlzYWJsZWQgfSkgPT4gZGlzYWJsZWQpO1xuXG4gIGNvbnN0IGFsbERpc2FibGVkID0gISFhbGxEaXNhYmxlZERhdGEubGVuZ3RoICYmIGFsbERpc2FibGVkRGF0YS5sZW5ndGggPT09IGZsYXR0ZWREYXRhLmxlbmd0aDtcblxuICBjb25zdCBhbGxEaXNhYmxlZEFuZENoZWNrZWQgPSBhbGxEaXNhYmxlZCAmJiBhbGxEaXNhYmxlZERhdGEuZXZlcnkoKHsgY2hlY2tlZCB9KSA9PiBjaGVja2VkKTtcbiAgY29uc3QgYWxsRGlzYWJsZWRTb21lQ2hlY2tlZCA9IGFsbERpc2FibGVkICYmIGFsbERpc2FibGVkRGF0YS5zb21lKCh7IGNoZWNrZWQgfSkgPT4gY2hlY2tlZCk7XG4gIGNvbnN0IGN1c3RvbUNoZWNrYm94UHJvcHMgPSBnZXRUaXRsZUNoZWNrYm94UHJvcHM/LigpIHx8IHt9O1xuICBjb25zdCB7IG9uQ2hhbmdlLCBkaXNhYmxlZCB9ID0gY3VzdG9tQ2hlY2tib3hQcm9wcztcblxuICBjb25zdCBvblNlbGVjdEFsbENoYW5nZSA9ICgpID0+IHtcbiAgICBjb25zdCBjaGFuZ2VLZXlzOiBLZXlbXSA9IFtdO1xuXG4gICAgaWYgKGNoZWNrZWRDdXJyZW50QWxsKSB7XG4gICAgICByZWNvcmRLZXlzLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgICBrZXlTZXQuZGVsZXRlKGtleSk7XG4gICAgICAgIGNoYW5nZUtleXMucHVzaChrZXkpO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlY29yZEtleXMuZm9yRWFjaCgoa2V5KSA9PiB7XG4gICAgICAgIGlmICgha2V5U2V0LmhhcyhrZXkpKSB7XG4gICAgICAgICAga2V5U2V0LmFkZChrZXkpO1xuICAgICAgICAgIGNoYW5nZUtleXMucHVzaChrZXkpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBjb25zdCBrZXlzID0gQXJyYXkuZnJvbShrZXlTZXQpO1xuXG4gICAgc2V0U2VsZWN0ZWRLZXlzKGtleXMsIFwiYWxsXCIpO1xuICAgIHVwZGF0ZVByZXZTZWxlY3RlZEluZGV4KG51bGwpO1xuICB9O1xuXG4gIGNvbnN0IFdyYXBwZXIgPSBDb2x1bW5UaXRsZSA/PyBGcmFnbWVudDtcblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGNzcz17W1xuICAgICAgICBzZWxlY3Rpb25JdGVtQ29udGFpbmVyU3R5bGUsXG4gICAgICAgIGJvcmRlcmVkID8gZ2V0Qm9yZGVyZWRTZWxlY3Rpb25JdGVtQ29udGFpbmVyU3R5bGUodHJ1ZSkgOiB1bmRlZmluZWQsXG4gICAgICBdfVxuICAgID5cbiAgICAgIDxXcmFwcGVyPlxuICAgICAgICA8Q2hlY2tib3hcbiAgICAgICAgICBhcmlhLWxhYmVsPVwiU2VsZWN0IGFsbFwiXG4gICAgICAgICAgey4uLmN1c3RvbUNoZWNrYm94UHJvcHN9XG4gICAgICAgICAgY2hlY2tlZD17IWFsbERpc2FibGVkID8gISFmbGF0dGVkRGF0YS5sZW5ndGggJiYgY2hlY2tlZEN1cnJlbnRBbGwgOiBhbGxEaXNhYmxlZEFuZENoZWNrZWR9XG4gICAgICAgICAgaW5kZXRlcm1pbmF0ZT17XG4gICAgICAgICAgICAhYWxsRGlzYWJsZWRcbiAgICAgICAgICAgICAgPyAhY2hlY2tlZEN1cnJlbnRBbGwgJiYgY2hlY2tlZEN1cnJlbnRTb21lXG4gICAgICAgICAgICAgIDogIWFsbERpc2FibGVkQW5kQ2hlY2tlZCAmJiBhbGxEaXNhYmxlZFNvbWVDaGVja2VkXG4gICAgICAgICAgfVxuICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4ge1xuICAgICAgICAgICAgb25TZWxlY3RBbGxDaGFuZ2UoKTtcbiAgICAgICAgICAgIG9uQ2hhbmdlPy4oZSk7XG4gICAgICAgICAgfX1cbiAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWQgPz8gKGZsYXR0ZWREYXRhLmxlbmd0aCA9PT0gMCB8fCBhbGxEaXNhYmxlZCl9XG4gICAgICAgIC8+XG4gICAgICA8L1dyYXBwZXI+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgSGVhZGVyQ2hlY2tib3hDZWxsQ29udGVudFdyYXBwZXIgPSBIZWFkZXJDaGVja2JveENlbGxDb250ZW50V3JhcHBlckNvbXBvbmVudDtcbiJdfQ== */"], children: /* @__PURE__ */ jsx(Wrapper, { children: /* @__PURE__ */ jsx(Checkbox, { "aria-label": "Select all", ...customCheckboxProps, checked: !allDisabled ? !!flattedData.length && checkedCurrentAll : allDisabledAndChecked, indeterminate: !allDisabled ? !checkedCurrentAll && checkedCurrentSome : !allDisabledAndChecked && allDisabledSomeChecked, onChange: (e) => {
66
+ onSelectAllChange();
67
+ onChange == null ? void 0 : onChange(e);
68
+ }, disabled: disabled ?? (flattedData.length === 0 || allDisabled) }) }) });
69
+ };
70
+ const HeaderCheckboxCellContentWrapper = HeaderCheckboxCellContentWrapperComponent;
71
+ export {
72
+ HeaderCheckboxCellContentWrapper
73
+ };
@@ -0,0 +1,5 @@
1
+ import { ComponentType } from 'react';
2
+ import { TableRowSelection } from '../../types';
3
+ export interface HeaderCheckboxCellContentWrapperProps<Record> extends Pick<TableRowSelection<Record>, "getTitleCheckboxProps"> {
4
+ columnTitle?: Extract<TableRowSelection<Record>["columnTitle"], ComponentType>;
5
+ }
@@ -0,0 +1,3 @@
1
+ import { RadioCellContentWrapperProps } from './RadioCellContentWrapper.types';
2
+ import { DefaultRecord } from 'components/Table/Table.types';
3
+ export declare const RadioCellContentWrapper: <Record extends DefaultRecord>(props: RadioCellContentWrapperProps<Record>) => import("@emotion/react/jsx-runtime").JSX.Element;
@@ -0,0 +1,43 @@
1
+ import { jsx } from "@emotion/react/jsx-runtime";
2
+ import { Fragment } from "react";
3
+ import { useEvent } from "../../../../../../hooks/useEvent/useEvent.js";
4
+ import { selectionItemContainerStyle, getBorderedSelectionItemContainerStyle } from "../../styles.js";
5
+ import { useTableContext } from "../../../../contexts/tableContext/useTableContext/useTableContext.js";
6
+ import { useTableRowSelectionContext } from "../../contexts/tableRowSelectionContext/useTableRowSelectionContext/useTableRowSelectionContext.js";
7
+ import { getRowKey } from "../../../../utils/getRowKey/getRowKey.js";
8
+ import { Radio } from "../../../../../Radio/Radio.js";
9
+ const RadioCellContentWrapperComponent = (props) => {
10
+ const {
11
+ renderCell: RenderCell,
12
+ record
13
+ } = props;
14
+ const {
15
+ bordered
16
+ } = useTableContext();
17
+ const {
18
+ checkboxPropsMap,
19
+ derivedSelectedKeySet,
20
+ triggerSingleSelection
21
+ } = useTableRowSelectionContext();
22
+ const key = getRowKey(record);
23
+ const checked = derivedSelectedKeySet.has(key);
24
+ const radioProps = checkboxPropsMap.get(key);
25
+ const handleClick = useEvent((e) => {
26
+ var _a;
27
+ e.stopPropagation();
28
+ (_a = radioProps == null ? void 0 : radioProps.onClick) == null ? void 0 : _a.call(radioProps, e);
29
+ });
30
+ const handleChange = useEvent((e) => {
31
+ var _a;
32
+ if (!derivedSelectedKeySet.has(key)) {
33
+ triggerSingleSelection(key, true, [key], e.nativeEvent);
34
+ }
35
+ (_a = radioProps == null ? void 0 : radioProps.onChange) == null ? void 0 : _a.call(radioProps, e);
36
+ });
37
+ const Wrapper = RenderCell ?? Fragment;
38
+ return /* @__PURE__ */ jsx("div", { css: [selectionItemContainerStyle, bordered ? getBorderedSelectionItemContainerStyle() : void 0, process.env.NODE_ENV === "production" ? "" : ";label:RadioCellContentWrapperComponent;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9idWlsZHMvZnJvbnRlbmQvbGlicy91aS1raXQvc3JjL2NvbXBvbmVudHMvVGFibGUvZmVhdHVyZXMvdGFibGVSb3dTZWxlY3Rpb24vY29tcG9uZW50cy9SYWRpb0NlbGxDb250ZW50V3JhcHBlci9SYWRpb0NlbGxDb250ZW50V3JhcHBlci50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBd0NNIiwiZmlsZSI6Ii9idWlsZHMvZnJvbnRlbmQvbGlicy91aS1raXQvc3JjL2NvbXBvbmVudHMvVGFibGUvZmVhdHVyZXMvdGFibGVSb3dTZWxlY3Rpb24vY29tcG9uZW50cy9SYWRpb0NlbGxDb250ZW50V3JhcHBlci9SYWRpb0NlbGxDb250ZW50V3JhcHBlci50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGcmFnbWVudCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHR5cGUgeyBSYWRpb0NlbGxDb250ZW50V3JhcHBlclByb3BzIH0gZnJvbSBcIi4vUmFkaW9DZWxsQ29udGVudFdyYXBwZXIudHlwZXNcIjtcbmltcG9ydCB7IHVzZVRhYmxlQ29udGV4dCB9IGZyb20gXCJjb21wb25lbnRzL1RhYmxlL2NvbnRleHRzXCI7XG5pbXBvcnQgeyB1c2VFdmVudCB9IGZyb20gXCJob29rcy91c2VFdmVudFwiO1xuaW1wb3J0IHsgZ2V0Um93S2V5IH0gZnJvbSBcImNvbXBvbmVudHMvVGFibGUvdXRpbHNcIjtcbmltcG9ydCB7IFJhZGlvLCB0eXBlIFJhZGlvUHJvcHMgfSBmcm9tIFwiY29tcG9uZW50cy9SYWRpb1wiO1xuaW1wb3J0IHsgdXNlVGFibGVSb3dTZWxlY3Rpb25Db250ZXh0IH0gZnJvbSBcIi4uLy4uL2NvbnRleHRzXCI7XG5pbXBvcnQgdHlwZSB7IFJvd1NlbGVjdGlvbkl0ZW1Qcm9wcyB9IGZyb20gXCIuLi8uLi9ob29rc1wiO1xuaW1wb3J0IHsgZ2V0Qm9yZGVyZWRTZWxlY3Rpb25JdGVtQ29udGFpbmVyU3R5bGUsIHNlbGVjdGlvbkl0ZW1Db250YWluZXJTdHlsZSB9IGZyb20gXCIuLi8uLi9zdHlsZXNcIjtcbmltcG9ydCB0eXBlIHsgRGVmYXVsdFJlY29yZCB9IGZyb20gXCJjb21wb25lbnRzL1RhYmxlL1RhYmxlLnR5cGVzXCI7XG5cbmNvbnN0IFJhZGlvQ2VsbENvbnRlbnRXcmFwcGVyQ29tcG9uZW50ID0gPFJlY29yZCBleHRlbmRzIERlZmF1bHRSZWNvcmQ+KFxuICBwcm9wczogUmFkaW9DZWxsQ29udGVudFdyYXBwZXJQcm9wczxSZWNvcmQ+XG4pID0+IHtcbiAgY29uc3QgeyByZW5kZXJDZWxsOiBSZW5kZXJDZWxsLCByZWNvcmQgfSA9IHByb3BzO1xuICBjb25zdCB7IGJvcmRlcmVkIH0gPSB1c2VUYWJsZUNvbnRleHQoKTtcbiAgY29uc3QgeyBjaGVja2JveFByb3BzTWFwLCBkZXJpdmVkU2VsZWN0ZWRLZXlTZXQsIHRyaWdnZXJTaW5nbGVTZWxlY3Rpb24gfSA9XG4gICAgdXNlVGFibGVSb3dTZWxlY3Rpb25Db250ZXh0KCk7XG4gIGNvbnN0IGtleSA9IGdldFJvd0tleShyZWNvcmQpO1xuXG4gIGNvbnN0IGNoZWNrZWQgPSBkZXJpdmVkU2VsZWN0ZWRLZXlTZXQuaGFzKGtleSk7XG4gIGNvbnN0IHJhZGlvUHJvcHMgPSBjaGVja2JveFByb3BzTWFwLmdldChrZXkpIGFzIFJvd1NlbGVjdGlvbkl0ZW1Qcm9wczxSYWRpb1Byb3BzPjtcblxuICBjb25zdCBoYW5kbGVDbGljayA9IHVzZUV2ZW50KCgoZSkgPT4ge1xuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgcmFkaW9Qcm9wcz8ub25DbGljaz8uKGUpO1xuICB9KSBzYXRpc2ZpZXMgUmFkaW9Qcm9wc1tcIm9uQ2xpY2tcIl0pO1xuXG4gIGNvbnN0IGhhbmRsZUNoYW5nZSA9IHVzZUV2ZW50KCgoZSkgPT4ge1xuICAgIGlmICghZGVyaXZlZFNlbGVjdGVkS2V5U2V0LmhhcyhrZXkpKSB7XG4gICAgICB0cmlnZ2VyU2luZ2xlU2VsZWN0aW9uKGtleSwgdHJ1ZSwgW2tleV0sIGUubmF0aXZlRXZlbnQpO1xuICAgIH1cblxuICAgIHJhZGlvUHJvcHM/Lm9uQ2hhbmdlPy4oZSk7XG4gIH0pIHNhdGlzZmllcyBSYWRpb1Byb3BzW1wib25DaGFuZ2VcIl0pO1xuXG4gIGNvbnN0IFdyYXBwZXIgPSBSZW5kZXJDZWxsID8/IEZyYWdtZW50O1xuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY3NzPXtbXG4gICAgICAgIHNlbGVjdGlvbkl0ZW1Db250YWluZXJTdHlsZSxcbiAgICAgICAgYm9yZGVyZWQgPyBnZXRCb3JkZXJlZFNlbGVjdGlvbkl0ZW1Db250YWluZXJTdHlsZSgpIDogdW5kZWZpbmVkLFxuICAgICAgXX1cbiAgICA+XG4gICAgICA8V3JhcHBlcj5cbiAgICAgICAgPFJhZGlvIHsuLi5yYWRpb1Byb3BzfSBjaGVja2VkPXtjaGVja2VkfSBvbkNsaWNrPXtoYW5kbGVDbGlja30gb25DaGFuZ2U9e2hhbmRsZUNoYW5nZX0gLz5cbiAgICAgIDwvV3JhcHBlcj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBSYWRpb0NlbGxDb250ZW50V3JhcHBlciA9IFJhZGlvQ2VsbENvbnRlbnRXcmFwcGVyQ29tcG9uZW50O1xuIl19 */"], children: /* @__PURE__ */ jsx(Wrapper, { children: /* @__PURE__ */ jsx(Radio, { ...radioProps, checked, onClick: handleClick, onChange: handleChange }) }) });
39
+ };
40
+ const RadioCellContentWrapper = RadioCellContentWrapperComponent;
41
+ export {
42
+ RadioCellContentWrapper
43
+ };
@@ -0,0 +1,4 @@
1
+ import { TableRowSelection } from '../../types';
2
+ export interface RadioCellContentWrapperProps<Record> extends Pick<TableRowSelection<Record>, "renderCell"> {
3
+ record: Record;
4
+ }
@@ -0,0 +1,3 @@
1
+ export { useTableRowSelectionContext } from './tableRowSelectionContext/useTableRowSelectionContext/useTableRowSelectionContext';
2
+ export { TableRowSelectionContext } from './tableRowSelectionContext/TableRowSelectionContext';
3
+ export type { TableRowSelectionContextValue } from './tableRowSelectionContext/TableRowSelectionContext.types';
@@ -0,0 +1,2 @@
1
+ import { TableRowSelectionContextValue } from './TableRowSelectionContext.types';
2
+ export declare const TableRowSelectionContext: import('react').Context<TableRowSelectionContextValue>;
@@ -0,0 +1,20 @@
1
+ import { createContext } from "react";
2
+ import { noop, identity } from "lodash-es";
3
+ const TableRowSelectionContext = createContext({
4
+ checkedCurrentAll: false,
5
+ checkedCurrentSome: false,
6
+ flattedData: [],
7
+ checkboxPropsMap: /* @__PURE__ */ new Map(),
8
+ keySet: /* @__PURE__ */ new Set(),
9
+ derivedSelectedKeySet: /* @__PURE__ */ new Set(),
10
+ derivedSelectedKeys: [],
11
+ derivedHalfSelectedKeySet: /* @__PURE__ */ new Set(),
12
+ recordKeys: [],
13
+ setSelectedKeys: noop,
14
+ triggerSingleSelection: noop,
15
+ multipleSelect: identity,
16
+ updatePrevSelectedIndex: noop
17
+ });
18
+ export {
19
+ TableRowSelectionContext
20
+ };
@@ -0,0 +1,18 @@
1
+ import { useTableRowSelection } from '../../hooks';
2
+ type UseTableRowSelectionReturnType = ReturnType<typeof useTableRowSelection>;
3
+ export interface TableRowSelectionContextValue {
4
+ checkedCurrentAll: UseTableRowSelectionReturnType["checkedCurrentAll"];
5
+ checkedCurrentSome: UseTableRowSelectionReturnType["checkedCurrentSome"];
6
+ flattedData: UseTableRowSelectionReturnType["flattedData"];
7
+ checkboxPropsMap: UseTableRowSelectionReturnType["checkboxPropsMap"];
8
+ keySet: UseTableRowSelectionReturnType["keySet"];
9
+ derivedSelectedKeySet: UseTableRowSelectionReturnType["derivedSelectedKeySet"];
10
+ derivedSelectedKeys: UseTableRowSelectionReturnType["derivedSelectedKeys"];
11
+ derivedHalfSelectedKeySet: UseTableRowSelectionReturnType["derivedHalfSelectedKeySet"];
12
+ recordKeys: UseTableRowSelectionReturnType["recordKeys"];
13
+ setSelectedKeys: UseTableRowSelectionReturnType["setSelectedKeys"];
14
+ triggerSingleSelection: UseTableRowSelectionReturnType["triggerSingleSelection"];
15
+ multipleSelect: UseTableRowSelectionReturnType["multipleSelect"];
16
+ updatePrevSelectedIndex: UseTableRowSelectionReturnType["updatePrevSelectedIndex"];
17
+ }
18
+ export {};