@elliemae/ds-data-table 1.61.0 → 2.0.0-alpha.12

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 (924) hide show
  1. package/cjs/DataTable.js +33 -121
  2. package/cjs/DataTableContext.js +19 -46
  3. package/cjs/DataTableSchema.js +28 -20
  4. package/cjs/addons/Columns/ColumnAction/ColumnAction.js +13 -18
  5. package/cjs/addons/Columns/ColumnDragHandle/ColumnDragHandle.js +51 -88
  6. package/cjs/addons/Columns/ColumnExpand/ColumnExpand.js +206 -87
  7. package/cjs/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js +135 -86
  8. package/cjs/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js +88 -87
  9. package/cjs/addons/Columns/index.js +12 -100
  10. package/cjs/addons/Editables/ComboboxEditableCell/ComboboxEditableCell.js +82 -78
  11. package/cjs/addons/Editables/DateEditableCell/DateEditableCell.js +46 -99
  12. package/cjs/addons/Editables/TextEditableCell/TextEditableCell.js +88 -78
  13. package/cjs/addons/Editables/index.js +11 -95
  14. package/cjs/addons/Filters/Components/CurrencyRangeFilter/index.js +150 -82
  15. package/cjs/addons/Filters/Components/DateRangeFilter/index.js +96 -82
  16. package/cjs/addons/Filters/Components/DateSwitcherFilter/index.js +126 -82
  17. package/cjs/addons/Filters/Components/NumberRangeFilter/index.js +153 -82
  18. package/cjs/addons/Filters/Components/SelectFilter/BaseSelectFilter.js +147 -82
  19. package/cjs/addons/Filters/Components/SelectFilter/MultiSelectFilter.js +52 -77
  20. package/cjs/addons/Filters/Components/SelectFilter/SingleSelectFilter.js +52 -77
  21. package/cjs/addons/Filters/Components/SelectFilter/components.js +8 -15
  22. package/cjs/addons/Filters/Components/SelectFilter/useSelectFilterHandlers.js +49 -147
  23. package/cjs/addons/Filters/Components/SelectFilter/utils.js +23 -86
  24. package/cjs/addons/Filters/Components/SingleDateFilter/index.js +83 -82
  25. package/cjs/addons/Filters/Components/index.js +14 -101
  26. package/cjs/addons/Filters/index.js +14 -101
  27. package/cjs/addons/Pagination/Pagination.js +26 -18
  28. package/cjs/addons/Pagination/index.js +2 -8
  29. package/cjs/configs/constants.js +2 -3
  30. package/cjs/configs/fixedSizes.js +1 -2
  31. package/cjs/configs/index.js +12 -105
  32. package/cjs/configs/useDatatableConfig.js +39 -153
  33. package/cjs/configs/usePaginationConfig.js +47 -66
  34. package/cjs/configs/useRowFlattenization.js +40 -47
  35. package/cjs/configs/useTableColsWithAddons.js +40 -122
  36. package/cjs/configs/zIndexInternalConfig.js +1 -2
  37. package/cjs/exported-related/EditableCell.js +75 -94
  38. package/cjs/exported-related/FilterPopover.js +162 -85
  39. package/cjs/exported-related/FilterTypes.js +1 -3
  40. package/cjs/exported-related/Filters/applyOutOfTheBoxFilters.js +31 -95
  41. package/cjs/exported-related/Filters/currencyRangeFilterFn.js +12 -11
  42. package/cjs/exported-related/Filters/dateRangeFilterFn.js +27 -83
  43. package/cjs/exported-related/Filters/dateSwitcherFilterFn.js +5 -94
  44. package/cjs/exported-related/Filters/index.js +14 -101
  45. package/cjs/exported-related/Filters/multiSelectFilterFn.js +8 -7
  46. package/cjs/exported-related/Filters/numberRangeFilterFn.js +7 -6
  47. package/cjs/exported-related/Filters/singleDateFilterFn.js +27 -83
  48. package/cjs/exported-related/Filters/singleSelectFilterFn.js +6 -5
  49. package/cjs/exported-related/Filters/types.js +0 -1
  50. package/cjs/exported-related/RowRenderer/DefaultRowContentRenderer.js +136 -92
  51. package/cjs/exported-related/RowRenderer/index.js +132 -86
  52. package/cjs/exported-related/RowRenderer/useRowRendererHandlers.js +116 -83
  53. package/cjs/exported-related/RowRenderer/useRowRendererProperties.js +29 -23
  54. package/cjs/exported-related/RowRenderer/useRowStyle.js +20 -33
  55. package/cjs/exported-related/RowVariants.js +3 -4
  56. package/cjs/exported-related/Toolbar/Toolbar.js +48 -124
  57. package/cjs/exported-related/Toolbar/index.js +2 -95
  58. package/cjs/exported-related/groupBy.js +12 -15
  59. package/cjs/exported-related/index.js +28 -111
  60. package/cjs/helpers/addCellData.js +14 -13
  61. package/cjs/helpers/cellPadding.js +14 -11
  62. package/cjs/helpers/columnsToGrid.js +10 -12
  63. package/cjs/helpers/getIdFromUniqueRowAccessor.js +5 -5
  64. package/cjs/helpers/index.js +13 -16
  65. package/cjs/helpers/refs-helpers.js +12 -7
  66. package/cjs/helpers/sizeToCss.js +1 -4
  67. package/cjs/hooks/useRecoverFocusCol.js +5 -14
  68. package/cjs/hooks/useRecoverFocusRow.js +8 -9
  69. package/cjs/index.js +28 -128
  70. package/cjs/parts/Cells/Cell.js +116 -87
  71. package/cjs/parts/Cells/index.js +77 -94
  72. package/cjs/parts/Cells/useCellStyle.js +9 -9
  73. package/cjs/parts/DnDHandle.js +70 -88
  74. package/cjs/parts/DropIndicator.js +55 -52
  75. package/cjs/parts/EmptyContent.js +37 -56
  76. package/cjs/parts/FilterBar/FiltersBar.js +75 -127
  77. package/cjs/parts/FilterBar/components/DateRangePill.js +24 -24
  78. package/cjs/parts/FilterBar/components/DateSwitcherPill.js +24 -24
  79. package/cjs/parts/FilterBar/components/MultiSelectPill.js +32 -36
  80. package/cjs/parts/FilterBar/components/NumberRangePill.js +20 -18
  81. package/cjs/parts/FilterBar/components/SelectPill.js +20 -18
  82. package/cjs/parts/FilterBar/components/SingleDatePill.js +21 -18
  83. package/cjs/parts/FilterBar/components/index.js +12 -18
  84. package/cjs/parts/FilterBar/index.js +2 -105
  85. package/cjs/parts/FilterBar/styled.js +3 -8
  86. package/cjs/parts/FilterBar/types.js +0 -1
  87. package/cjs/parts/Filters/index.js +108 -78
  88. package/cjs/parts/Footer.js +10 -7
  89. package/cjs/parts/Headers/EmptyChildrenGroup.js +7 -12
  90. package/cjs/parts/Headers/HeaderCell.js +187 -87
  91. package/cjs/parts/Headers/HeaderCellGroup.js +86 -87
  92. package/cjs/parts/Headers/HeaderCellTitle.js +61 -83
  93. package/cjs/parts/Headers/HeaderResizer.js +107 -85
  94. package/cjs/parts/Headers/RequiredDot.js +17 -18
  95. package/cjs/parts/Headers/index.js +48 -94
  96. package/cjs/parts/Headers/useHeaderCellConfig.js +26 -21
  97. package/cjs/parts/Headers/useHeaderCellHandlers.js +38 -30
  98. package/cjs/parts/HoC/SortableItemContext.js +1 -2
  99. package/cjs/parts/HoC/withConditionalDnDColumnContext.js +128 -98
  100. package/cjs/parts/HoC/withConditionalDnDRowContext.js +87 -92
  101. package/cjs/parts/HoC/withConditionalDnDSortableContext.js +31 -21
  102. package/cjs/parts/HoC/withDnDSortableColumnContext.js +58 -94
  103. package/cjs/parts/HoC/withDnDSortableRowContext.js +47 -70
  104. package/cjs/parts/Loader.js +17 -18
  105. package/cjs/parts/Row.js +64 -93
  106. package/cjs/parts/RowLoading.js +45 -86
  107. package/cjs/parts/RowVariants/RowVariantHeader.js +101 -86
  108. package/cjs/parts/RowVariants/RowVariantPrimary.js +34 -93
  109. package/cjs/parts/RowVariants/RowVariantSecondary.js +35 -93
  110. package/cjs/parts/RowVariants/index.js +68 -77
  111. package/cjs/parts/RowVariants/types.js +0 -1
  112. package/cjs/parts/Rows.js +69 -93
  113. package/cjs/parts/SortByCaret.js +18 -18
  114. package/cjs/parts/SortableHeaderCell.js +15 -14
  115. package/cjs/parts/TableContent.js +79 -85
  116. package/cjs/parts/VirtualRowsList.js +96 -86
  117. package/cjs/parts/index.js +12 -99
  118. package/cjs/prop-types.js +34 -30
  119. package/cjs/redux/reducers/headersReducers/defaults.js +1 -2
  120. package/cjs/redux/reducers/headersReducers/headersReducers.js +17 -14
  121. package/cjs/redux/reducers/headersReducers/index.js +7 -14
  122. package/cjs/redux/reducers/headersReducers/logic.js +13 -7
  123. package/cjs/redux/reducers/headersReducers/useDispatchHeadersActions.js +13 -22
  124. package/cjs/redux/reducers/index.js +9 -18
  125. package/cjs/redux/reducers/rowsReducers/actions_types.js +7 -8
  126. package/cjs/redux/reducers/rowsReducers/defaults.js +2 -3
  127. package/cjs/redux/reducers/rowsReducers/index.js +13 -19
  128. package/cjs/redux/reducers/rowsReducers/logic.js +8 -9
  129. package/cjs/redux/reducers/rowsReducers/rowsReducer.js +41 -31
  130. package/cjs/redux/reducers/rowsReducers/useDispatchRowsActions.js +22 -43
  131. package/cjs/redux/storeConfig.js +3 -17
  132. package/cjs/styled.js +220 -104
  133. package/cjs/types/FunctionalHoC.js +0 -1
  134. package/cjs/types/props.js +0 -1
  135. package/esm/DataTable.js +28 -116
  136. package/esm/DataTableContext.js +16 -43
  137. package/esm/DataTableSchema.js +28 -20
  138. package/esm/addons/Columns/ColumnAction/ColumnAction.js +13 -18
  139. package/esm/addons/Columns/ColumnDragHandle/ColumnDragHandle.js +50 -87
  140. package/esm/addons/Columns/ColumnExpand/ColumnExpand.js +203 -86
  141. package/esm/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js +133 -85
  142. package/esm/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js +86 -86
  143. package/esm/addons/Columns/index.js +8 -92
  144. package/esm/addons/Editables/ComboboxEditableCell/ComboboxEditableCell.js +81 -77
  145. package/esm/addons/Editables/DateEditableCell/DateEditableCell.js +46 -98
  146. package/esm/addons/Editables/TextEditableCell/TextEditableCell.js +86 -77
  147. package/esm/addons/Editables/index.js +13 -93
  148. package/esm/addons/Filters/Components/CurrencyRangeFilter/index.js +147 -81
  149. package/esm/addons/Filters/Components/DateRangeFilter/index.js +94 -81
  150. package/esm/addons/Filters/Components/DateSwitcherFilter/index.js +124 -81
  151. package/esm/addons/Filters/Components/NumberRangeFilter/index.js +150 -81
  152. package/esm/addons/Filters/Components/SelectFilter/BaseSelectFilter.js +146 -81
  153. package/esm/addons/Filters/Components/SelectFilter/MultiSelectFilter.js +51 -76
  154. package/esm/addons/Filters/Components/SelectFilter/SingleSelectFilter.js +51 -76
  155. package/esm/addons/Filters/Components/SelectFilter/components.js +8 -15
  156. package/esm/addons/Filters/Components/SelectFilter/useSelectFilterHandlers.js +47 -141
  157. package/esm/addons/Filters/Components/SelectFilter/utils.js +22 -85
  158. package/esm/addons/Filters/Components/SingleDateFilter/index.js +81 -81
  159. package/esm/addons/Filters/Components/index.js +7 -93
  160. package/esm/addons/Filters/index.js +7 -93
  161. package/esm/addons/Pagination/Pagination.js +26 -17
  162. package/esm/addons/Pagination/index.js +0 -6
  163. package/esm/configs/constants.js +3 -4
  164. package/esm/configs/fixedSizes.js +1 -2
  165. package/esm/configs/index.js +0 -91
  166. package/esm/configs/useDatatableConfig.js +34 -144
  167. package/esm/configs/usePaginationConfig.js +44 -63
  168. package/esm/configs/useRowFlattenization.js +38 -45
  169. package/esm/configs/useTableColsWithAddons.js +34 -115
  170. package/esm/configs/zIndexInternalConfig.js +1 -2
  171. package/esm/exported-related/EditableCell.js +74 -93
  172. package/esm/exported-related/FilterPopover.js +158 -84
  173. package/esm/exported-related/FilterTypes.js +1 -3
  174. package/esm/exported-related/Filters/applyOutOfTheBoxFilters.js +33 -93
  175. package/esm/exported-related/Filters/currencyRangeFilterFn.js +12 -11
  176. package/esm/exported-related/Filters/dateRangeFilterFn.js +26 -82
  177. package/esm/exported-related/Filters/dateSwitcherFilterFn.js +8 -93
  178. package/esm/exported-related/Filters/index.js +3 -89
  179. package/esm/exported-related/Filters/multiSelectFilterFn.js +8 -7
  180. package/esm/exported-related/Filters/numberRangeFilterFn.js +7 -6
  181. package/esm/exported-related/Filters/singleDateFilterFn.js +26 -82
  182. package/esm/exported-related/Filters/singleSelectFilterFn.js +6 -5
  183. package/esm/exported-related/Filters/types.js +0 -1
  184. package/esm/exported-related/RowRenderer/DefaultRowContentRenderer.js +134 -91
  185. package/esm/exported-related/RowRenderer/index.js +130 -85
  186. package/esm/exported-related/RowRenderer/useRowRendererHandlers.js +119 -82
  187. package/esm/exported-related/RowRenderer/useRowRendererProperties.js +27 -21
  188. package/esm/exported-related/RowRenderer/useRowStyle.js +18 -27
  189. package/esm/exported-related/RowVariants.js +3 -4
  190. package/esm/exported-related/Toolbar/Toolbar.js +47 -122
  191. package/esm/exported-related/Toolbar/index.js +0 -93
  192. package/esm/exported-related/groupBy.js +12 -11
  193. package/esm/exported-related/index.js +5 -87
  194. package/esm/helpers/addCellData.js +13 -12
  195. package/esm/helpers/cellPadding.js +11 -8
  196. package/esm/helpers/columnsToGrid.js +8 -10
  197. package/esm/helpers/getIdFromUniqueRowAccessor.js +5 -5
  198. package/esm/helpers/index.js +0 -3
  199. package/esm/helpers/refs-helpers.js +12 -7
  200. package/esm/helpers/sizeToCss.js +1 -4
  201. package/esm/hooks/useRecoverFocusCol.js +5 -10
  202. package/esm/hooks/useRecoverFocusRow.js +8 -9
  203. package/esm/index.js +5 -104
  204. package/esm/parts/Cells/Cell.js +113 -86
  205. package/esm/parts/Cells/index.js +76 -93
  206. package/esm/parts/Cells/useCellStyle.js +9 -9
  207. package/esm/parts/DnDHandle.js +67 -87
  208. package/esm/parts/DropIndicator.js +44 -41
  209. package/esm/parts/EmptyContent.js +36 -55
  210. package/esm/parts/FilterBar/FiltersBar.js +64 -115
  211. package/esm/parts/FilterBar/components/DateRangePill.js +22 -22
  212. package/esm/parts/FilterBar/components/DateSwitcherPill.js +22 -22
  213. package/esm/parts/FilterBar/components/MultiSelectPill.js +31 -34
  214. package/esm/parts/FilterBar/components/NumberRangePill.js +20 -18
  215. package/esm/parts/FilterBar/components/SelectPill.js +20 -18
  216. package/esm/parts/FilterBar/components/SingleDatePill.js +21 -18
  217. package/esm/parts/FilterBar/components/index.js +0 -5
  218. package/esm/parts/FilterBar/index.js +0 -103
  219. package/esm/parts/FilterBar/styled.js +3 -8
  220. package/esm/parts/FilterBar/types.js +0 -1
  221. package/esm/parts/Filters/index.js +107 -77
  222. package/esm/parts/Footer.js +9 -5
  223. package/esm/parts/Headers/EmptyChildrenGroup.js +6 -11
  224. package/esm/parts/Headers/HeaderCell.js +184 -86
  225. package/esm/parts/Headers/HeaderCellGroup.js +83 -86
  226. package/esm/parts/Headers/HeaderCellTitle.js +60 -82
  227. package/esm/parts/Headers/HeaderResizer.js +106 -84
  228. package/esm/parts/Headers/RequiredDot.js +16 -17
  229. package/esm/parts/Headers/index.js +47 -93
  230. package/esm/parts/Headers/useHeaderCellConfig.js +26 -21
  231. package/esm/parts/Headers/useHeaderCellHandlers.js +37 -29
  232. package/esm/parts/HoC/SortableItemContext.js +2 -3
  233. package/esm/parts/HoC/withConditionalDnDColumnContext.js +121 -93
  234. package/esm/parts/HoC/withConditionalDnDRowContext.js +83 -89
  235. package/esm/parts/HoC/withConditionalDnDSortableContext.js +27 -18
  236. package/esm/parts/HoC/withDnDSortableColumnContext.js +56 -93
  237. package/esm/parts/HoC/withDnDSortableRowContext.js +48 -71
  238. package/esm/parts/Loader.js +17 -18
  239. package/esm/parts/Row.js +60 -92
  240. package/esm/parts/RowLoading.js +41 -85
  241. package/esm/parts/RowVariants/RowVariantHeader.js +99 -85
  242. package/esm/parts/RowVariants/RowVariantPrimary.js +33 -92
  243. package/esm/parts/RowVariants/RowVariantSecondary.js +34 -92
  244. package/esm/parts/RowVariants/index.js +67 -76
  245. package/esm/parts/RowVariants/types.js +0 -1
  246. package/esm/parts/Rows.js +68 -92
  247. package/esm/parts/SortByCaret.js +18 -18
  248. package/esm/parts/SortableHeaderCell.js +11 -10
  249. package/esm/parts/TableContent.js +76 -84
  250. package/esm/parts/VirtualRowsList.js +95 -85
  251. package/esm/parts/index.js +3 -90
  252. package/esm/prop-types.js +12 -8
  253. package/esm/redux/reducers/headersReducers/defaults.js +1 -2
  254. package/esm/redux/reducers/headersReducers/headersReducers.js +12 -9
  255. package/esm/redux/reducers/headersReducers/index.js +0 -7
  256. package/esm/redux/reducers/headersReducers/logic.js +12 -6
  257. package/esm/redux/reducers/headersReducers/useDispatchHeadersActions.js +12 -21
  258. package/esm/redux/reducers/index.js +0 -9
  259. package/esm/redux/reducers/rowsReducers/actions_types.js +7 -8
  260. package/esm/redux/reducers/rowsReducers/defaults.js +2 -3
  261. package/esm/redux/reducers/rowsReducers/index.js +0 -6
  262. package/esm/redux/reducers/rowsReducers/logic.js +8 -9
  263. package/esm/redux/reducers/rowsReducers/rowsReducer.js +30 -20
  264. package/esm/redux/reducers/rowsReducers/useDispatchRowsActions.js +20 -41
  265. package/esm/redux/storeConfig.js +1 -15
  266. package/esm/styled.js +200 -85
  267. package/esm/types/FunctionalHoC.js +0 -1
  268. package/esm/types/props.js +0 -1
  269. package/package.json +601 -41
  270. package/types/DataTable.d.ts +329 -0
  271. package/types/DataTableContext.d.ts +16 -0
  272. package/types/DataTableSchema.d.ts +247 -0
  273. package/types/addons/Columns/ColumnAction/ColumnAction.d.ts +4 -0
  274. package/types/addons/Columns/ColumnDragHandle/ColumnDragHandle.d.ts +2 -0
  275. package/types/addons/Columns/ColumnExpand/ColumnExpand.d.ts +2 -0
  276. package/types/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.d.ts +2 -0
  277. package/types/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.d.ts +2 -0
  278. package/types/addons/Columns/index.d.ts +6 -0
  279. package/types/addons/Editables/ComboboxEditableCell/ComboboxEditableCell.d.ts +2 -0
  280. package/types/addons/Editables/DateEditableCell/DateEditableCell.d.ts +8 -0
  281. package/types/addons/Editables/TextEditableCell/TextEditableCell.d.ts +2 -0
  282. package/types/addons/Editables/index.d.ts +4 -0
  283. package/types/addons/Filters/Components/CurrencyRangeFilter/index.d.ts +3 -0
  284. package/types/addons/Filters/Components/DateRangeFilter/index.d.ts +3 -0
  285. package/types/addons/Filters/Components/DateSwitcherFilter/index.d.ts +3 -0
  286. package/types/addons/Filters/Components/NumberRangeFilter/index.d.ts +3 -0
  287. package/types/addons/Filters/Components/SelectFilter/BaseSelectFilter.d.ts +16 -0
  288. package/types/addons/Filters/Components/SelectFilter/MultiSelectFilter.d.ts +3 -0
  289. package/types/addons/Filters/Components/SelectFilter/SingleSelectFilter.d.ts +3 -0
  290. package/types/addons/Filters/Components/SelectFilter/components.d.ts +6 -0
  291. package/types/addons/Filters/Components/SelectFilter/useSelectFilterHandlers.d.ts +9 -0
  292. package/types/addons/Filters/Components/SelectFilter/utils.d.ts +2 -0
  293. package/types/addons/Filters/Components/SingleDateFilter/index.d.ts +3 -0
  294. package/types/addons/Filters/Components/index.d.ts +7 -0
  295. package/types/addons/Filters/index.d.ts +1 -0
  296. package/types/addons/Pagination/Pagination.d.ts +2 -0
  297. package/types/addons/Pagination/index.d.ts +1 -0
  298. package/types/configs/constants.d.ts +39 -0
  299. package/types/configs/fixedSizes.d.ts +3 -0
  300. package/types/configs/index.d.ts +5 -0
  301. package/types/configs/useDatatableConfig.d.ts +2 -0
  302. package/types/configs/usePaginationConfig.d.ts +2 -0
  303. package/types/configs/useRowFlattenization.d.ts +2 -0
  304. package/types/configs/useTableColsWithAddons.d.ts +4 -0
  305. package/types/configs/zIndexInternalConfig.d.ts +8 -0
  306. package/types/exported-related/EditableCell.d.ts +2 -0
  307. package/types/exported-related/FilterPopover.d.ts +20 -0
  308. package/types/exported-related/FilterTypes.d.ts +9 -0
  309. package/types/exported-related/Filters/applyOutOfTheBoxFilters.d.ts +2 -0
  310. package/types/exported-related/Filters/currencyRangeFilterFn.d.ts +5 -0
  311. package/types/exported-related/Filters/dateRangeFilterFn.d.ts +5 -0
  312. package/types/exported-related/Filters/dateSwitcherFilterFn.d.ts +6 -0
  313. package/types/exported-related/Filters/index.d.ts +7 -0
  314. package/types/exported-related/Filters/multiSelectFilterFn.d.ts +4 -0
  315. package/types/exported-related/Filters/numberRangeFilterFn.d.ts +5 -0
  316. package/types/exported-related/Filters/singleDateFilterFn.d.ts +2 -0
  317. package/types/exported-related/Filters/singleSelectFilterFn.d.ts +4 -0
  318. package/types/exported-related/Filters/types.d.ts +2 -0
  319. package/types/exported-related/RowRenderer/DefaultRowContentRenderer.d.ts +3 -0
  320. package/types/exported-related/RowRenderer/index.d.ts +19 -0
  321. package/types/exported-related/RowRenderer/useRowRendererHandlers.d.ts +16 -0
  322. package/types/exported-related/RowRenderer/useRowRendererProperties.d.ts +14 -0
  323. package/types/exported-related/RowRenderer/useRowStyle.d.ts +7 -0
  324. package/types/exported-related/RowVariants.d.ts +9 -0
  325. package/types/exported-related/Toolbar/Toolbar.d.ts +2 -0
  326. package/types/exported-related/Toolbar/index.d.ts +1 -0
  327. package/types/exported-related/groupBy.d.ts +5 -0
  328. package/types/exported-related/index.d.ts +7 -0
  329. package/types/helpers/addCellData.d.ts +2 -0
  330. package/types/helpers/cellPadding.d.ts +9 -0
  331. package/types/helpers/columnsToGrid.d.ts +3 -0
  332. package/types/helpers/getIdFromUniqueRowAccessor.d.ts +2 -0
  333. package/types/helpers/index.d.ts +6 -0
  334. package/types/helpers/refs-helpers.d.ts +1 -0
  335. package/types/helpers/sizeToCss.d.ts +1 -0
  336. package/types/hooks/useRecoverFocusCol.d.ts +2 -0
  337. package/types/hooks/useRecoverFocusRow.d.ts +1 -0
  338. package/types/index.d.ts +2 -0
  339. package/types/parts/Cells/Cell.d.ts +12 -0
  340. package/types/parts/Cells/index.d.ts +8 -0
  341. package/types/parts/Cells/useCellStyle.d.ts +3 -0
  342. package/types/parts/DnDHandle.d.ts +8 -0
  343. package/types/parts/DropIndicator.d.ts +9 -0
  344. package/types/parts/EmptyContent.d.ts +5 -0
  345. package/types/parts/FilterBar/FiltersBar.d.ts +2 -0
  346. package/types/parts/FilterBar/components/DateRangePill.d.ts +5 -0
  347. package/types/parts/FilterBar/components/DateSwitcherPill.d.ts +6 -0
  348. package/types/parts/FilterBar/components/MultiSelectPill.d.ts +2 -0
  349. package/types/parts/FilterBar/components/NumberRangePill.d.ts +5 -0
  350. package/types/parts/FilterBar/components/SelectPill.d.ts +2 -0
  351. package/types/parts/FilterBar/components/SingleDatePill.d.ts +2 -0
  352. package/types/parts/FilterBar/components/index.d.ts +6 -0
  353. package/types/parts/FilterBar/index.d.ts +1 -0
  354. package/types/parts/FilterBar/styled.d.ts +199 -0
  355. package/types/parts/FilterBar/types.d.ts +31 -0
  356. package/types/parts/Filters/index.d.ts +3 -0
  357. package/types/parts/Footer.d.ts +3 -0
  358. package/types/parts/Headers/EmptyChildrenGroup.d.ts +2 -0
  359. package/types/parts/Headers/HeaderCell.d.ts +11 -0
  360. package/types/parts/Headers/HeaderCellGroup.d.ts +11 -0
  361. package/types/parts/Headers/HeaderCellTitle.d.ts +11 -0
  362. package/types/parts/Headers/HeaderResizer.d.ts +5 -0
  363. package/types/parts/Headers/RequiredDot.d.ts +2 -0
  364. package/types/parts/Headers/index.d.ts +3 -0
  365. package/types/parts/Headers/useHeaderCellConfig.d.ts +20 -0
  366. package/types/parts/Headers/useHeaderCellHandlers.d.ts +25 -0
  367. package/types/parts/HoC/SortableItemContext.d.ts +18 -0
  368. package/types/parts/HoC/withConditionalDnDColumnContext.d.ts +8 -0
  369. package/types/parts/HoC/withConditionalDnDRowContext.d.ts +14 -0
  370. package/types/parts/HoC/withConditionalDnDSortableContext.d.ts +3 -0
  371. package/types/parts/HoC/withDnDSortableColumnContext.d.ts +2 -0
  372. package/types/parts/HoC/withDnDSortableRowContext.d.ts +2 -0
  373. package/types/parts/Loader.d.ts +3 -0
  374. package/types/parts/Row.d.ts +4 -0
  375. package/types/parts/RowLoading.d.ts +3 -0
  376. package/types/parts/RowVariants/RowVariantHeader.d.ts +3 -0
  377. package/types/parts/RowVariants/RowVariantPrimary.d.ts +3 -0
  378. package/types/parts/RowVariants/RowVariantSecondary.d.ts +3 -0
  379. package/types/parts/RowVariants/index.d.ts +12 -0
  380. package/types/parts/RowVariants/types.d.ts +19 -0
  381. package/types/parts/Rows.d.ts +3 -0
  382. package/types/parts/SortByCaret.d.ts +4 -0
  383. package/types/parts/SortableHeaderCell.d.ts +7 -0
  384. package/types/parts/TableContent.d.ts +3 -0
  385. package/types/parts/VirtualRowsList.d.ts +3 -0
  386. package/types/parts/index.d.ts +6 -0
  387. package/types/prop-types.d.ts +53 -0
  388. package/types/redux/reducers/headersReducers/defaults.d.ts +1 -0
  389. package/types/redux/reducers/headersReducers/index.d.ts +2 -0
  390. package/types/redux/reducers/headersReducers/logic.d.ts +5 -0
  391. package/types/redux/reducers/headersReducers/useDispatchHeadersActions.d.ts +10 -0
  392. package/types/redux/reducers/index.d.ts +25 -0
  393. package/types/redux/reducers/rowsReducers/actions_types.d.ts +7 -0
  394. package/types/redux/reducers/rowsReducers/defaults.d.ts +29 -0
  395. package/types/redux/reducers/rowsReducers/index.d.ts +2 -0
  396. package/types/redux/reducers/rowsReducers/logic.d.ts +8 -0
  397. package/types/redux/reducers/rowsReducers/useDispatchRowsActions.d.ts +38 -0
  398. package/types/redux/storeConfig.d.ts +24 -0
  399. package/types/styled.d.ts +39 -0
  400. package/types/tests/callbacks/pagination.events.test.d.ts +1 -0
  401. package/types/tests/callbacks/row.events.test.d.ts +1 -0
  402. package/types/tests/keyboard/dragAndDropColumns.test.d.ts +1 -0
  403. package/types/tests/keyboard/dragAndDropRows.test.d.ts +1 -0
  404. package/types/tests/keyboard/expandable.test.d.ts +1 -0
  405. package/types/tests/keyboard/grouped.test.d.ts +1 -0
  406. package/types/tests/keyboard/masterDetails.test.d.ts +1 -0
  407. package/types/tests/keyboard/navigation.test.d.ts +1 -0
  408. package/types/tests/keyboard/selectMultiple.test.d.ts +1 -0
  409. package/types/tests/keyboard/selectSingle.test.d.ts +1 -0
  410. package/types/tests/keyboard/sort.test.d.ts +1 -0
  411. package/types/tests/render/toolbar.test.d.ts +1 -0
  412. package/types/tests/utils/index.d.ts +46 -0
  413. package/types/types/FunctionalHoC.d.ts +2 -0
  414. package/types/types/props.d.ts +184 -0
  415. package/DataTable/package.json +0 -10
  416. package/DataTableContext/package.json +0 -10
  417. package/DataTableSchema/package.json +0 -10
  418. package/addons/Columns/ColumnAction/ColumnAction/package.json +0 -10
  419. package/addons/Columns/ColumnDragHandle/ColumnDragHandle/package.json +0 -10
  420. package/addons/Columns/ColumnExpand/ColumnExpand/package.json +0 -10
  421. package/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple/package.json +0 -10
  422. package/addons/Columns/ColumnSelectSingle/ColumnSelectSingle/package.json +0 -10
  423. package/addons/Columns/package.json +0 -10
  424. package/addons/Editables/ComboboxEditableCell/ComboboxEditableCell/package.json +0 -10
  425. package/addons/Editables/DateEditableCell/DateEditableCell/package.json +0 -10
  426. package/addons/Editables/TextEditableCell/TextEditableCell/package.json +0 -10
  427. package/addons/Editables/package.json +0 -10
  428. package/addons/Filters/Components/CurrencyRangeFilter/package.json +0 -10
  429. package/addons/Filters/Components/DateRangeFilter/package.json +0 -10
  430. package/addons/Filters/Components/DateSwitcherFilter/package.json +0 -10
  431. package/addons/Filters/Components/NumberRangeFilter/package.json +0 -10
  432. package/addons/Filters/Components/SelectFilter/BaseSelectFilter/package.json +0 -10
  433. package/addons/Filters/Components/SelectFilter/MultiSelectFilter/package.json +0 -10
  434. package/addons/Filters/Components/SelectFilter/SingleSelectFilter/package.json +0 -10
  435. package/addons/Filters/Components/SelectFilter/components/package.json +0 -10
  436. package/addons/Filters/Components/SelectFilter/useSelectFilterHandlers/package.json +0 -10
  437. package/addons/Filters/Components/SelectFilter/utils/package.json +0 -10
  438. package/addons/Filters/Components/SingleDateFilter/package.json +0 -10
  439. package/addons/Filters/Components/TextInputFilter/package.json +0 -10
  440. package/addons/Filters/Components/package.json +0 -10
  441. package/addons/Filters/package.json +0 -10
  442. package/addons/Pagination/Pagination/package.json +0 -10
  443. package/addons/Pagination/package.json +0 -10
  444. package/cjs/DataTable.js.map +0 -1
  445. package/cjs/DataTableContext.js.map +0 -1
  446. package/cjs/DataTableSchema.js.map +0 -1
  447. package/cjs/addons/Columns/ColumnAction/ColumnAction.js.map +0 -1
  448. package/cjs/addons/Columns/ColumnDragHandle/ColumnDragHandle.js.map +0 -1
  449. package/cjs/addons/Columns/ColumnExpand/ColumnExpand.js.map +0 -1
  450. package/cjs/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js.map +0 -1
  451. package/cjs/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js.map +0 -1
  452. package/cjs/addons/Columns/index.js.map +0 -1
  453. package/cjs/addons/Editables/ComboboxEditableCell/ComboboxEditableCell.js.map +0 -1
  454. package/cjs/addons/Editables/DateEditableCell/DateEditableCell.js.map +0 -1
  455. package/cjs/addons/Editables/TextEditableCell/TextEditableCell.js.map +0 -1
  456. package/cjs/addons/Editables/index.js.map +0 -1
  457. package/cjs/addons/Filters/Components/CurrencyRangeFilter/index.js.map +0 -1
  458. package/cjs/addons/Filters/Components/DateRangeFilter/index.js.map +0 -1
  459. package/cjs/addons/Filters/Components/DateSwitcherFilter/index.js.map +0 -1
  460. package/cjs/addons/Filters/Components/NumberRangeFilter/index.js.map +0 -1
  461. package/cjs/addons/Filters/Components/SelectFilter/BaseSelectFilter.js.map +0 -1
  462. package/cjs/addons/Filters/Components/SelectFilter/MultiSelectFilter.js.map +0 -1
  463. package/cjs/addons/Filters/Components/SelectFilter/SingleSelectFilter.js.map +0 -1
  464. package/cjs/addons/Filters/Components/SelectFilter/components.js.map +0 -1
  465. package/cjs/addons/Filters/Components/SelectFilter/useSelectFilterHandlers.js.map +0 -1
  466. package/cjs/addons/Filters/Components/SelectFilter/utils.js.map +0 -1
  467. package/cjs/addons/Filters/Components/SingleDateFilter/index.js.map +0 -1
  468. package/cjs/addons/Filters/Components/TextInputFilter/index.js +0 -101
  469. package/cjs/addons/Filters/Components/TextInputFilter/index.js.map +0 -1
  470. package/cjs/addons/Filters/Components/index.js.map +0 -1
  471. package/cjs/addons/Filters/index.js.map +0 -1
  472. package/cjs/addons/Pagination/Pagination.js.map +0 -1
  473. package/cjs/addons/Pagination/index.js.map +0 -1
  474. package/cjs/configs/constants.js.map +0 -1
  475. package/cjs/configs/fixedSizes.js.map +0 -1
  476. package/cjs/configs/index.js.map +0 -1
  477. package/cjs/configs/useDatatableConfig.js.map +0 -1
  478. package/cjs/configs/usePaginationConfig.js.map +0 -1
  479. package/cjs/configs/useRowFlattenization.js.map +0 -1
  480. package/cjs/configs/useTableColsWithAddons.js.map +0 -1
  481. package/cjs/configs/zIndexInternalConfig.js.map +0 -1
  482. package/cjs/exported-related/EditableCell.js.map +0 -1
  483. package/cjs/exported-related/FilterPopover.js.map +0 -1
  484. package/cjs/exported-related/FilterTypes.js.map +0 -1
  485. package/cjs/exported-related/Filters/applyOutOfTheBoxFilters.js.map +0 -1
  486. package/cjs/exported-related/Filters/currencyRangeFilterFn.js.map +0 -1
  487. package/cjs/exported-related/Filters/dateRangeFilterFn.js.map +0 -1
  488. package/cjs/exported-related/Filters/dateSwitcherFilterFn.js.map +0 -1
  489. package/cjs/exported-related/Filters/index.js.map +0 -1
  490. package/cjs/exported-related/Filters/multiSelectFilterFn.js.map +0 -1
  491. package/cjs/exported-related/Filters/numberRangeFilterFn.js.map +0 -1
  492. package/cjs/exported-related/Filters/singleDateFilterFn.js.map +0 -1
  493. package/cjs/exported-related/Filters/singleSelectFilterFn.js.map +0 -1
  494. package/cjs/exported-related/Filters/textFilterFn.js +0 -13
  495. package/cjs/exported-related/Filters/textFilterFn.js.map +0 -1
  496. package/cjs/exported-related/Filters/types.js.map +0 -1
  497. package/cjs/exported-related/RowRenderer/DefaultRowContentRenderer.js.map +0 -1
  498. package/cjs/exported-related/RowRenderer/index.js.map +0 -1
  499. package/cjs/exported-related/RowRenderer/useRowRendererHandlers.js.map +0 -1
  500. package/cjs/exported-related/RowRenderer/useRowRendererProperties.js.map +0 -1
  501. package/cjs/exported-related/RowRenderer/useRowStyle.js.map +0 -1
  502. package/cjs/exported-related/RowVariants.js.map +0 -1
  503. package/cjs/exported-related/Toolbar/Toolbar.js.map +0 -1
  504. package/cjs/exported-related/Toolbar/index.js.map +0 -1
  505. package/cjs/exported-related/groupBy.js.map +0 -1
  506. package/cjs/exported-related/index.js.map +0 -1
  507. package/cjs/helpers/addCellData.js.map +0 -1
  508. package/cjs/helpers/cellPadding.js.map +0 -1
  509. package/cjs/helpers/columnsToGrid.js.map +0 -1
  510. package/cjs/helpers/dndkit/hierarchy/customCollisionDetection.js +0 -101
  511. package/cjs/helpers/dndkit/hierarchy/customCollisionDetection.js.map +0 -1
  512. package/cjs/helpers/dndkit/hierarchy/getHierarchyKeyboardCoordinates.js +0 -101
  513. package/cjs/helpers/dndkit/hierarchy/getHierarchyKeyboardCoordinates.js.map +0 -1
  514. package/cjs/helpers/dndkit/hierarchy/types.js +0 -3
  515. package/cjs/helpers/dndkit/hierarchy/types.js.map +0 -1
  516. package/cjs/helpers/dndkit/hierarchy/useHierarchyActionHandlers.js +0 -56
  517. package/cjs/helpers/dndkit/hierarchy/useHierarchyActionHandlers.js.map +0 -1
  518. package/cjs/helpers/dndkit/hierarchy/useHierarchyAnnouncements.js +0 -41
  519. package/cjs/helpers/dndkit/hierarchy/useHierarchyAnnouncements.js.map +0 -1
  520. package/cjs/helpers/dndkit/hierarchy/useHierarchyDndkitConfig.js +0 -99
  521. package/cjs/helpers/dndkit/hierarchy/useHierarchyDndkitConfig.js.map +0 -1
  522. package/cjs/helpers/dndkit/hierarchy/useHierarchyPreviewHandlers.js +0 -101
  523. package/cjs/helpers/dndkit/hierarchy/useHierarchyPreviewHandlers.js.map +0 -1
  524. package/cjs/helpers/dndkit/tree/customCollisionDetection.js +0 -109
  525. package/cjs/helpers/dndkit/tree/customCollisionDetection.js.map +0 -1
  526. package/cjs/helpers/dndkit/tree/getTreeKeyboardCoordinates.js +0 -133
  527. package/cjs/helpers/dndkit/tree/getTreeKeyboardCoordinates.js.map +0 -1
  528. package/cjs/helpers/dndkit/tree/types.js +0 -3
  529. package/cjs/helpers/dndkit/tree/types.js.map +0 -1
  530. package/cjs/helpers/dndkit/tree/useTreeActionHandlers.js +0 -76
  531. package/cjs/helpers/dndkit/tree/useTreeActionHandlers.js.map +0 -1
  532. package/cjs/helpers/dndkit/tree/useTreeAnnouncements.js +0 -60
  533. package/cjs/helpers/dndkit/tree/useTreeAnnouncements.js.map +0 -1
  534. package/cjs/helpers/dndkit/tree/useTreeDndkitConfig.js +0 -169
  535. package/cjs/helpers/dndkit/tree/useTreeDndkitConfig.js.map +0 -1
  536. package/cjs/helpers/dndkit/tree/useTreePreviewHandlers.js +0 -49
  537. package/cjs/helpers/dndkit/tree/useTreePreviewHandlers.js.map +0 -1
  538. package/cjs/helpers/dndkit/types.js +0 -3
  539. package/cjs/helpers/dndkit/types.js.map +0 -1
  540. package/cjs/helpers/dndkit/utilities.js +0 -53
  541. package/cjs/helpers/dndkit/utilities.js.map +0 -1
  542. package/cjs/helpers/getIdFromUniqueRowAccessor.js.map +0 -1
  543. package/cjs/helpers/index.js.map +0 -1
  544. package/cjs/helpers/refs-helpers.js.map +0 -1
  545. package/cjs/helpers/sizeToCss.js.map +0 -1
  546. package/cjs/hooks/useRecoverFocusCol.js.map +0 -1
  547. package/cjs/hooks/useRecoverFocusRow.js.map +0 -1
  548. package/cjs/index.js.map +0 -1
  549. package/cjs/parts/Cells/Cell.js.map +0 -1
  550. package/cjs/parts/Cells/index.js.map +0 -1
  551. package/cjs/parts/Cells/useCellStyle.js.map +0 -1
  552. package/cjs/parts/DnDHandle.js.map +0 -1
  553. package/cjs/parts/DropIndicator.js.map +0 -1
  554. package/cjs/parts/EmptyContent.js.map +0 -1
  555. package/cjs/parts/FilterBar/FiltersBar.js.map +0 -1
  556. package/cjs/parts/FilterBar/components/DateRangePill.js.map +0 -1
  557. package/cjs/parts/FilterBar/components/DateSwitcherPill.js.map +0 -1
  558. package/cjs/parts/FilterBar/components/MultiSelectPill.js.map +0 -1
  559. package/cjs/parts/FilterBar/components/NumberRangePill.js.map +0 -1
  560. package/cjs/parts/FilterBar/components/SelectPill.js.map +0 -1
  561. package/cjs/parts/FilterBar/components/SingleDatePill.js.map +0 -1
  562. package/cjs/parts/FilterBar/components/TextPill.js +0 -40
  563. package/cjs/parts/FilterBar/components/TextPill.js.map +0 -1
  564. package/cjs/parts/FilterBar/components/index.js.map +0 -1
  565. package/cjs/parts/FilterBar/index.js.map +0 -1
  566. package/cjs/parts/FilterBar/styled.js.map +0 -1
  567. package/cjs/parts/FilterBar/types.js.map +0 -1
  568. package/cjs/parts/Filters/index.js.map +0 -1
  569. package/cjs/parts/Footer.js.map +0 -1
  570. package/cjs/parts/Headers/EmptyChildrenGroup.js.map +0 -1
  571. package/cjs/parts/Headers/HeaderCell.js.map +0 -1
  572. package/cjs/parts/Headers/HeaderCellGroup.js.map +0 -1
  573. package/cjs/parts/Headers/HeaderCellTitle.js.map +0 -1
  574. package/cjs/parts/Headers/HeaderResizer.js.map +0 -1
  575. package/cjs/parts/Headers/RequiredDot.js.map +0 -1
  576. package/cjs/parts/Headers/index.js.map +0 -1
  577. package/cjs/parts/Headers/useHeaderCellConfig.js.map +0 -1
  578. package/cjs/parts/Headers/useHeaderCellHandlers.js.map +0 -1
  579. package/cjs/parts/HoC/DragOverlayContext.js +0 -14
  580. package/cjs/parts/HoC/DragOverlayContext.js.map +0 -1
  581. package/cjs/parts/HoC/SortableItemContext.js.map +0 -1
  582. package/cjs/parts/HoC/withConditionalDnDColumnContext.js.map +0 -1
  583. package/cjs/parts/HoC/withConditionalDnDRowContext.js.map +0 -1
  584. package/cjs/parts/HoC/withConditionalDnDSortableContext.js.map +0 -1
  585. package/cjs/parts/HoC/withDnDSortableColumnContext.js.map +0 -1
  586. package/cjs/parts/HoC/withDnDSortableRowContext.js.map +0 -1
  587. package/cjs/parts/Loader.js.map +0 -1
  588. package/cjs/parts/Row.js.map +0 -1
  589. package/cjs/parts/RowLoading.js.map +0 -1
  590. package/cjs/parts/RowVariants/RowVariantHeader.js.map +0 -1
  591. package/cjs/parts/RowVariants/RowVariantPrimary.js.map +0 -1
  592. package/cjs/parts/RowVariants/RowVariantSecondary.js.map +0 -1
  593. package/cjs/parts/RowVariants/index.js.map +0 -1
  594. package/cjs/parts/RowVariants/types.js.map +0 -1
  595. package/cjs/parts/Rows.js.map +0 -1
  596. package/cjs/parts/SortByCaret.js.map +0 -1
  597. package/cjs/parts/SortableHeaderCell.js.map +0 -1
  598. package/cjs/parts/TableContent.js.map +0 -1
  599. package/cjs/parts/VirtualRowsList.js.map +0 -1
  600. package/cjs/parts/index.js.map +0 -1
  601. package/cjs/prop-types.js.map +0 -1
  602. package/cjs/redux/reducers/headersReducers/defaults.js.map +0 -1
  603. package/cjs/redux/reducers/headersReducers/headersReducers.js.map +0 -1
  604. package/cjs/redux/reducers/headersReducers/index.js.map +0 -1
  605. package/cjs/redux/reducers/headersReducers/logic.js.map +0 -1
  606. package/cjs/redux/reducers/headersReducers/useDispatchHeadersActions.js.map +0 -1
  607. package/cjs/redux/reducers/index.js.map +0 -1
  608. package/cjs/redux/reducers/rowsReducers/actions_types.js.map +0 -1
  609. package/cjs/redux/reducers/rowsReducers/defaults.js.map +0 -1
  610. package/cjs/redux/reducers/rowsReducers/index.js.map +0 -1
  611. package/cjs/redux/reducers/rowsReducers/logic.js.map +0 -1
  612. package/cjs/redux/reducers/rowsReducers/rowsReducer.js.map +0 -1
  613. package/cjs/redux/reducers/rowsReducers/useDispatchRowsActions.js.map +0 -1
  614. package/cjs/redux/storeConfig.js.map +0 -1
  615. package/cjs/styled-b86fbdf4.js +0 -3481
  616. package/cjs/styled-b86fbdf4.js.map +0 -1
  617. package/cjs/styled.js.map +0 -1
  618. package/cjs/tests/utils/index.js +0 -117
  619. package/cjs/tests/utils/index.js.map +0 -1
  620. package/cjs/types/FunctionalHoC.js.map +0 -1
  621. package/cjs/types/props.js.map +0 -1
  622. package/configs/constants/package.json +0 -10
  623. package/configs/fixedSizes/package.json +0 -10
  624. package/configs/package.json +0 -10
  625. package/configs/useDatatableConfig/package.json +0 -10
  626. package/configs/usePaginationConfig/package.json +0 -10
  627. package/configs/useRowFlattenization/package.json +0 -10
  628. package/configs/useTableColsWithAddons/package.json +0 -10
  629. package/configs/zIndexInternalConfig/package.json +0 -10
  630. package/esm/DataTable.js.map +0 -1
  631. package/esm/DataTableContext.js.map +0 -1
  632. package/esm/DataTableSchema.js.map +0 -1
  633. package/esm/addons/Columns/ColumnAction/ColumnAction.js.map +0 -1
  634. package/esm/addons/Columns/ColumnDragHandle/ColumnDragHandle.js.map +0 -1
  635. package/esm/addons/Columns/ColumnExpand/ColumnExpand.js.map +0 -1
  636. package/esm/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js.map +0 -1
  637. package/esm/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js.map +0 -1
  638. package/esm/addons/Columns/index.js.map +0 -1
  639. package/esm/addons/Editables/ComboboxEditableCell/ComboboxEditableCell.js.map +0 -1
  640. package/esm/addons/Editables/DateEditableCell/DateEditableCell.js.map +0 -1
  641. package/esm/addons/Editables/TextEditableCell/TextEditableCell.js.map +0 -1
  642. package/esm/addons/Editables/index.js.map +0 -1
  643. package/esm/addons/Filters/Components/CurrencyRangeFilter/index.js.map +0 -1
  644. package/esm/addons/Filters/Components/DateRangeFilter/index.js.map +0 -1
  645. package/esm/addons/Filters/Components/DateSwitcherFilter/index.js.map +0 -1
  646. package/esm/addons/Filters/Components/NumberRangeFilter/index.js.map +0 -1
  647. package/esm/addons/Filters/Components/SelectFilter/BaseSelectFilter.js.map +0 -1
  648. package/esm/addons/Filters/Components/SelectFilter/MultiSelectFilter.js.map +0 -1
  649. package/esm/addons/Filters/Components/SelectFilter/SingleSelectFilter.js.map +0 -1
  650. package/esm/addons/Filters/Components/SelectFilter/components.js.map +0 -1
  651. package/esm/addons/Filters/Components/SelectFilter/useSelectFilterHandlers.js.map +0 -1
  652. package/esm/addons/Filters/Components/SelectFilter/utils.js.map +0 -1
  653. package/esm/addons/Filters/Components/SingleDateFilter/index.js.map +0 -1
  654. package/esm/addons/Filters/Components/TextInputFilter/index.js +0 -93
  655. package/esm/addons/Filters/Components/TextInputFilter/index.js.map +0 -1
  656. package/esm/addons/Filters/Components/index.js.map +0 -1
  657. package/esm/addons/Filters/index.js.map +0 -1
  658. package/esm/addons/Pagination/Pagination.js.map +0 -1
  659. package/esm/addons/Pagination/index.js.map +0 -1
  660. package/esm/configs/constants.js.map +0 -1
  661. package/esm/configs/fixedSizes.js.map +0 -1
  662. package/esm/configs/index.js.map +0 -1
  663. package/esm/configs/useDatatableConfig.js.map +0 -1
  664. package/esm/configs/usePaginationConfig.js.map +0 -1
  665. package/esm/configs/useRowFlattenization.js.map +0 -1
  666. package/esm/configs/useTableColsWithAddons.js.map +0 -1
  667. package/esm/configs/zIndexInternalConfig.js.map +0 -1
  668. package/esm/exported-related/EditableCell.js.map +0 -1
  669. package/esm/exported-related/FilterPopover.js.map +0 -1
  670. package/esm/exported-related/FilterTypes.js.map +0 -1
  671. package/esm/exported-related/Filters/applyOutOfTheBoxFilters.js.map +0 -1
  672. package/esm/exported-related/Filters/currencyRangeFilterFn.js.map +0 -1
  673. package/esm/exported-related/Filters/dateRangeFilterFn.js.map +0 -1
  674. package/esm/exported-related/Filters/dateSwitcherFilterFn.js.map +0 -1
  675. package/esm/exported-related/Filters/index.js.map +0 -1
  676. package/esm/exported-related/Filters/multiSelectFilterFn.js.map +0 -1
  677. package/esm/exported-related/Filters/numberRangeFilterFn.js.map +0 -1
  678. package/esm/exported-related/Filters/singleDateFilterFn.js.map +0 -1
  679. package/esm/exported-related/Filters/singleSelectFilterFn.js.map +0 -1
  680. package/esm/exported-related/Filters/textFilterFn.js +0 -9
  681. package/esm/exported-related/Filters/textFilterFn.js.map +0 -1
  682. package/esm/exported-related/Filters/types.js.map +0 -1
  683. package/esm/exported-related/RowRenderer/DefaultRowContentRenderer.js.map +0 -1
  684. package/esm/exported-related/RowRenderer/index.js.map +0 -1
  685. package/esm/exported-related/RowRenderer/useRowRendererHandlers.js.map +0 -1
  686. package/esm/exported-related/RowRenderer/useRowRendererProperties.js.map +0 -1
  687. package/esm/exported-related/RowRenderer/useRowStyle.js.map +0 -1
  688. package/esm/exported-related/RowVariants.js.map +0 -1
  689. package/esm/exported-related/Toolbar/Toolbar.js.map +0 -1
  690. package/esm/exported-related/Toolbar/index.js.map +0 -1
  691. package/esm/exported-related/groupBy.js.map +0 -1
  692. package/esm/exported-related/index.js.map +0 -1
  693. package/esm/helpers/addCellData.js.map +0 -1
  694. package/esm/helpers/cellPadding.js.map +0 -1
  695. package/esm/helpers/columnsToGrid.js.map +0 -1
  696. package/esm/helpers/dndkit/hierarchy/customCollisionDetection.js +0 -93
  697. package/esm/helpers/dndkit/hierarchy/customCollisionDetection.js.map +0 -1
  698. package/esm/helpers/dndkit/hierarchy/getHierarchyKeyboardCoordinates.js +0 -93
  699. package/esm/helpers/dndkit/hierarchy/getHierarchyKeyboardCoordinates.js.map +0 -1
  700. package/esm/helpers/dndkit/hierarchy/types.js +0 -2
  701. package/esm/helpers/dndkit/hierarchy/types.js.map +0 -1
  702. package/esm/helpers/dndkit/hierarchy/useHierarchyActionHandlers.js +0 -52
  703. package/esm/helpers/dndkit/hierarchy/useHierarchyActionHandlers.js.map +0 -1
  704. package/esm/helpers/dndkit/hierarchy/useHierarchyAnnouncements.js +0 -37
  705. package/esm/helpers/dndkit/hierarchy/useHierarchyAnnouncements.js.map +0 -1
  706. package/esm/helpers/dndkit/hierarchy/useHierarchyDndkitConfig.js +0 -93
  707. package/esm/helpers/dndkit/hierarchy/useHierarchyDndkitConfig.js.map +0 -1
  708. package/esm/helpers/dndkit/hierarchy/useHierarchyPreviewHandlers.js +0 -93
  709. package/esm/helpers/dndkit/hierarchy/useHierarchyPreviewHandlers.js.map +0 -1
  710. package/esm/helpers/dndkit/tree/customCollisionDetection.js +0 -101
  711. package/esm/helpers/dndkit/tree/customCollisionDetection.js.map +0 -1
  712. package/esm/helpers/dndkit/tree/getTreeKeyboardCoordinates.js +0 -124
  713. package/esm/helpers/dndkit/tree/getTreeKeyboardCoordinates.js.map +0 -1
  714. package/esm/helpers/dndkit/tree/types.js +0 -2
  715. package/esm/helpers/dndkit/tree/types.js.map +0 -1
  716. package/esm/helpers/dndkit/tree/useTreeActionHandlers.js +0 -72
  717. package/esm/helpers/dndkit/tree/useTreeActionHandlers.js.map +0 -1
  718. package/esm/helpers/dndkit/tree/useTreeAnnouncements.js +0 -56
  719. package/esm/helpers/dndkit/tree/useTreeAnnouncements.js.map +0 -1
  720. package/esm/helpers/dndkit/tree/useTreeDndkitConfig.js +0 -162
  721. package/esm/helpers/dndkit/tree/useTreeDndkitConfig.js.map +0 -1
  722. package/esm/helpers/dndkit/tree/useTreePreviewHandlers.js +0 -45
  723. package/esm/helpers/dndkit/tree/useTreePreviewHandlers.js.map +0 -1
  724. package/esm/helpers/dndkit/types.js +0 -2
  725. package/esm/helpers/dndkit/types.js.map +0 -1
  726. package/esm/helpers/dndkit/utilities.js +0 -48
  727. package/esm/helpers/dndkit/utilities.js.map +0 -1
  728. package/esm/helpers/getIdFromUniqueRowAccessor.js.map +0 -1
  729. package/esm/helpers/index.js.map +0 -1
  730. package/esm/helpers/refs-helpers.js.map +0 -1
  731. package/esm/helpers/sizeToCss.js.map +0 -1
  732. package/esm/hooks/useRecoverFocusCol.js.map +0 -1
  733. package/esm/hooks/useRecoverFocusRow.js.map +0 -1
  734. package/esm/index.js.map +0 -1
  735. package/esm/parts/Cells/Cell.js.map +0 -1
  736. package/esm/parts/Cells/index.js.map +0 -1
  737. package/esm/parts/Cells/useCellStyle.js.map +0 -1
  738. package/esm/parts/DnDHandle.js.map +0 -1
  739. package/esm/parts/DropIndicator.js.map +0 -1
  740. package/esm/parts/EmptyContent.js.map +0 -1
  741. package/esm/parts/FilterBar/FiltersBar.js.map +0 -1
  742. package/esm/parts/FilterBar/components/DateRangePill.js.map +0 -1
  743. package/esm/parts/FilterBar/components/DateSwitcherPill.js.map +0 -1
  744. package/esm/parts/FilterBar/components/MultiSelectPill.js.map +0 -1
  745. package/esm/parts/FilterBar/components/NumberRangePill.js.map +0 -1
  746. package/esm/parts/FilterBar/components/SelectPill.js.map +0 -1
  747. package/esm/parts/FilterBar/components/SingleDatePill.js.map +0 -1
  748. package/esm/parts/FilterBar/components/TextPill.js +0 -32
  749. package/esm/parts/FilterBar/components/TextPill.js.map +0 -1
  750. package/esm/parts/FilterBar/components/index.js.map +0 -1
  751. package/esm/parts/FilterBar/index.js.map +0 -1
  752. package/esm/parts/FilterBar/styled.js.map +0 -1
  753. package/esm/parts/FilterBar/types.js.map +0 -1
  754. package/esm/parts/Filters/index.js.map +0 -1
  755. package/esm/parts/Footer.js.map +0 -1
  756. package/esm/parts/Headers/EmptyChildrenGroup.js.map +0 -1
  757. package/esm/parts/Headers/HeaderCell.js.map +0 -1
  758. package/esm/parts/Headers/HeaderCellGroup.js.map +0 -1
  759. package/esm/parts/Headers/HeaderCellTitle.js.map +0 -1
  760. package/esm/parts/Headers/HeaderResizer.js.map +0 -1
  761. package/esm/parts/Headers/RequiredDot.js.map +0 -1
  762. package/esm/parts/Headers/index.js.map +0 -1
  763. package/esm/parts/Headers/useHeaderCellConfig.js.map +0 -1
  764. package/esm/parts/Headers/useHeaderCellHandlers.js.map +0 -1
  765. package/esm/parts/HoC/DragOverlayContext.js +0 -10
  766. package/esm/parts/HoC/DragOverlayContext.js.map +0 -1
  767. package/esm/parts/HoC/SortableItemContext.js.map +0 -1
  768. package/esm/parts/HoC/withConditionalDnDColumnContext.js.map +0 -1
  769. package/esm/parts/HoC/withConditionalDnDRowContext.js.map +0 -1
  770. package/esm/parts/HoC/withConditionalDnDSortableContext.js.map +0 -1
  771. package/esm/parts/HoC/withDnDSortableColumnContext.js.map +0 -1
  772. package/esm/parts/HoC/withDnDSortableRowContext.js.map +0 -1
  773. package/esm/parts/Loader.js.map +0 -1
  774. package/esm/parts/Row.js.map +0 -1
  775. package/esm/parts/RowLoading.js.map +0 -1
  776. package/esm/parts/RowVariants/RowVariantHeader.js.map +0 -1
  777. package/esm/parts/RowVariants/RowVariantPrimary.js.map +0 -1
  778. package/esm/parts/RowVariants/RowVariantSecondary.js.map +0 -1
  779. package/esm/parts/RowVariants/index.js.map +0 -1
  780. package/esm/parts/RowVariants/types.js.map +0 -1
  781. package/esm/parts/Rows.js.map +0 -1
  782. package/esm/parts/SortByCaret.js.map +0 -1
  783. package/esm/parts/SortableHeaderCell.js.map +0 -1
  784. package/esm/parts/TableContent.js.map +0 -1
  785. package/esm/parts/VirtualRowsList.js.map +0 -1
  786. package/esm/parts/index.js.map +0 -1
  787. package/esm/prop-types.js.map +0 -1
  788. package/esm/redux/reducers/headersReducers/defaults.js.map +0 -1
  789. package/esm/redux/reducers/headersReducers/headersReducers.js.map +0 -1
  790. package/esm/redux/reducers/headersReducers/index.js.map +0 -1
  791. package/esm/redux/reducers/headersReducers/logic.js.map +0 -1
  792. package/esm/redux/reducers/headersReducers/useDispatchHeadersActions.js.map +0 -1
  793. package/esm/redux/reducers/index.js.map +0 -1
  794. package/esm/redux/reducers/rowsReducers/actions_types.js.map +0 -1
  795. package/esm/redux/reducers/rowsReducers/defaults.js.map +0 -1
  796. package/esm/redux/reducers/rowsReducers/index.js.map +0 -1
  797. package/esm/redux/reducers/rowsReducers/logic.js.map +0 -1
  798. package/esm/redux/reducers/rowsReducers/rowsReducer.js.map +0 -1
  799. package/esm/redux/reducers/rowsReducers/useDispatchRowsActions.js.map +0 -1
  800. package/esm/redux/storeConfig.js.map +0 -1
  801. package/esm/styled-f76a0cd1.js +0 -3396
  802. package/esm/styled-f76a0cd1.js.map +0 -1
  803. package/esm/styled.js.map +0 -1
  804. package/esm/tests/utils/index.js +0 -109
  805. package/esm/tests/utils/index.js.map +0 -1
  806. package/esm/types/FunctionalHoC.js.map +0 -1
  807. package/esm/types/props.js.map +0 -1
  808. package/exported-related/EditableCell/package.json +0 -10
  809. package/exported-related/FilterPopover/package.json +0 -10
  810. package/exported-related/FilterTypes/package.json +0 -10
  811. package/exported-related/Filters/applyOutOfTheBoxFilters/package.json +0 -10
  812. package/exported-related/Filters/currencyRangeFilterFn/package.json +0 -10
  813. package/exported-related/Filters/dateRangeFilterFn/package.json +0 -10
  814. package/exported-related/Filters/dateSwitcherFilterFn/package.json +0 -10
  815. package/exported-related/Filters/multiSelectFilterFn/package.json +0 -10
  816. package/exported-related/Filters/numberRangeFilterFn/package.json +0 -10
  817. package/exported-related/Filters/package.json +0 -10
  818. package/exported-related/Filters/singleDateFilterFn/package.json +0 -10
  819. package/exported-related/Filters/singleSelectFilterFn/package.json +0 -10
  820. package/exported-related/Filters/textFilterFn/package.json +0 -10
  821. package/exported-related/Filters/types/package.json +0 -10
  822. package/exported-related/RowRenderer/DefaultRowContentRenderer/package.json +0 -10
  823. package/exported-related/RowRenderer/package.json +0 -10
  824. package/exported-related/RowRenderer/useRowRendererHandlers/package.json +0 -10
  825. package/exported-related/RowRenderer/useRowRendererProperties/package.json +0 -10
  826. package/exported-related/RowRenderer/useRowStyle/package.json +0 -10
  827. package/exported-related/RowVariants/package.json +0 -10
  828. package/exported-related/Toolbar/Toolbar/package.json +0 -10
  829. package/exported-related/Toolbar/package.json +0 -10
  830. package/exported-related/groupBy/package.json +0 -10
  831. package/exported-related/package.json +0 -10
  832. package/helpers/addCellData/package.json +0 -10
  833. package/helpers/cellPadding/package.json +0 -10
  834. package/helpers/columnsToGrid/package.json +0 -10
  835. package/helpers/dndkit/hierarchy/customCollisionDetection/package.json +0 -10
  836. package/helpers/dndkit/hierarchy/getHierarchyKeyboardCoordinates/package.json +0 -10
  837. package/helpers/dndkit/hierarchy/types/package.json +0 -10
  838. package/helpers/dndkit/hierarchy/useHierarchyActionHandlers/package.json +0 -10
  839. package/helpers/dndkit/hierarchy/useHierarchyAnnouncements/package.json +0 -10
  840. package/helpers/dndkit/hierarchy/useHierarchyDndkitConfig/package.json +0 -10
  841. package/helpers/dndkit/hierarchy/useHierarchyPreviewHandlers/package.json +0 -10
  842. package/helpers/dndkit/tree/customCollisionDetection/package.json +0 -10
  843. package/helpers/dndkit/tree/getTreeKeyboardCoordinates/package.json +0 -10
  844. package/helpers/dndkit/tree/types/package.json +0 -10
  845. package/helpers/dndkit/tree/useTreeActionHandlers/package.json +0 -10
  846. package/helpers/dndkit/tree/useTreeAnnouncements/package.json +0 -10
  847. package/helpers/dndkit/tree/useTreeDndkitConfig/package.json +0 -10
  848. package/helpers/dndkit/tree/useTreePreviewHandlers/package.json +0 -10
  849. package/helpers/dndkit/types/package.json +0 -10
  850. package/helpers/dndkit/utilities/package.json +0 -10
  851. package/helpers/getIdFromUniqueRowAccessor/package.json +0 -10
  852. package/helpers/package.json +0 -10
  853. package/helpers/refs-helpers/package.json +0 -10
  854. package/helpers/sizeToCss/package.json +0 -10
  855. package/hooks/useRecoverFocusCol/package.json +0 -10
  856. package/hooks/useRecoverFocusRow/package.json +0 -10
  857. package/parts/Cells/Cell/package.json +0 -10
  858. package/parts/Cells/package.json +0 -10
  859. package/parts/Cells/useCellStyle/package.json +0 -10
  860. package/parts/DnDHandle/package.json +0 -10
  861. package/parts/DropIndicator/package.json +0 -10
  862. package/parts/EmptyContent/package.json +0 -10
  863. package/parts/FilterBar/FiltersBar/package.json +0 -10
  864. package/parts/FilterBar/components/DateRangePill/package.json +0 -10
  865. package/parts/FilterBar/components/DateSwitcherPill/package.json +0 -10
  866. package/parts/FilterBar/components/MultiSelectPill/package.json +0 -10
  867. package/parts/FilterBar/components/NumberRangePill/package.json +0 -10
  868. package/parts/FilterBar/components/SelectPill/package.json +0 -10
  869. package/parts/FilterBar/components/SingleDatePill/package.json +0 -10
  870. package/parts/FilterBar/components/TextPill/package.json +0 -10
  871. package/parts/FilterBar/components/package.json +0 -10
  872. package/parts/FilterBar/package.json +0 -10
  873. package/parts/FilterBar/styled/package.json +0 -10
  874. package/parts/FilterBar/types/package.json +0 -10
  875. package/parts/Filters/package.json +0 -10
  876. package/parts/Footer/package.json +0 -10
  877. package/parts/Headers/EmptyChildrenGroup/package.json +0 -10
  878. package/parts/Headers/HeaderCell/package.json +0 -10
  879. package/parts/Headers/HeaderCellGroup/package.json +0 -10
  880. package/parts/Headers/HeaderCellTitle/package.json +0 -10
  881. package/parts/Headers/HeaderResizer/package.json +0 -10
  882. package/parts/Headers/RequiredDot/package.json +0 -10
  883. package/parts/Headers/package.json +0 -10
  884. package/parts/Headers/useHeaderCellConfig/package.json +0 -10
  885. package/parts/Headers/useHeaderCellHandlers/package.json +0 -10
  886. package/parts/HoC/DragOverlayContext/package.json +0 -10
  887. package/parts/HoC/SortableItemContext/package.json +0 -10
  888. package/parts/HoC/withConditionalDnDColumnContext/package.json +0 -10
  889. package/parts/HoC/withConditionalDnDRowContext/package.json +0 -10
  890. package/parts/HoC/withConditionalDnDSortableContext/package.json +0 -10
  891. package/parts/HoC/withDnDSortableColumnContext/package.json +0 -10
  892. package/parts/HoC/withDnDSortableRowContext/package.json +0 -10
  893. package/parts/Loader/package.json +0 -10
  894. package/parts/Row/package.json +0 -10
  895. package/parts/RowLoading/package.json +0 -10
  896. package/parts/RowVariants/RowVariantHeader/package.json +0 -10
  897. package/parts/RowVariants/RowVariantPrimary/package.json +0 -10
  898. package/parts/RowVariants/RowVariantSecondary/package.json +0 -10
  899. package/parts/RowVariants/package.json +0 -10
  900. package/parts/RowVariants/types/package.json +0 -10
  901. package/parts/Rows/package.json +0 -10
  902. package/parts/SortByCaret/package.json +0 -10
  903. package/parts/SortableHeaderCell/package.json +0 -10
  904. package/parts/TableContent/package.json +0 -10
  905. package/parts/VirtualRowsList/package.json +0 -10
  906. package/parts/package.json +0 -10
  907. package/prop-types/package.json +0 -10
  908. package/redux/reducers/headersReducers/defaults/package.json +0 -10
  909. package/redux/reducers/headersReducers/headersReducers/package.json +0 -10
  910. package/redux/reducers/headersReducers/logic/package.json +0 -10
  911. package/redux/reducers/headersReducers/package.json +0 -10
  912. package/redux/reducers/headersReducers/useDispatchHeadersActions/package.json +0 -10
  913. package/redux/reducers/package.json +0 -10
  914. package/redux/reducers/rowsReducers/actions_types/package.json +0 -10
  915. package/redux/reducers/rowsReducers/defaults/package.json +0 -10
  916. package/redux/reducers/rowsReducers/logic/package.json +0 -10
  917. package/redux/reducers/rowsReducers/package.json +0 -10
  918. package/redux/reducers/rowsReducers/rowsReducer/package.json +0 -10
  919. package/redux/reducers/rowsReducers/useDispatchRowsActions/package.json +0 -10
  920. package/redux/storeConfig/package.json +0 -10
  921. package/styled/package.json +0 -10
  922. package/tests/utils/package.json +0 -10
  923. package/types/FunctionalHoC/package.json +0 -10
  924. package/types/props/package.json +0 -10
@@ -1,3481 +0,0 @@
1
- 'use strict';
2
-
3
- var styled = require('styled-components');
4
- var Grid = require('@elliemae/ds-grid');
5
- var dsIcons = require('@elliemae/ds-icons');
6
- var helpers_sizeToCss = require('./helpers/sizeToCss.js');
7
- var configs_constants = require('./configs/constants.js');
8
- var helpers_cellPadding = require('./helpers/cellPadding.js');
9
- var React = require('react');
10
- var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
11
- require('react-virtual');
12
- require('./configs/useRowFlattenization.js');
13
- var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
14
- var _defineProperty = require('@babel/runtime/helpers/defineProperty');
15
- var dsForm = require('@elliemae/ds-form');
16
- var _extends = require('@babel/runtime/helpers/extends');
17
- var reactRedux = require('react-redux');
18
- var DataTableContext = require('./DataTableContext.js');
19
- var addons_Pagination_Pagination = require('./addons/Pagination/Pagination.js');
20
- var DSIndeterminateProgressIndicator = require('@elliemae/ds-indeterminate-progress-indicator');
21
- require('@elliemae/ds-circular-progress-indicator');
22
- var parts_EmptyContent = require('./parts/EmptyContent.js');
23
- var PropTypes = require('prop-types');
24
- var helpers_refsHelpers = require('./helpers/refs-helpers.js');
25
- var parts_HoC_SortableItemContext = require('./parts/HoC/SortableItemContext.js');
26
- var parts_HoC_withDnDSortableRowContext = require('./parts/HoC/withDnDSortableRowContext.js');
27
- var DSButton = require('@elliemae/ds-button');
28
- var dsPopperjs = require('@elliemae/ds-popperjs');
29
- require('./redux/reducers/index.js');
30
- var parts_Footer = require('./parts/Footer.js');
31
- require('@elliemae/ds-utilities');
32
- require('uid');
33
- var exportedRelated_RowVariants = require('./exported-related/RowVariants.js');
34
- var exportedRelated_Filters_singleSelectFilterFn = require('./exported-related/Filters/singleSelectFilterFn.js');
35
- var exportedRelated_Filters_multiSelectFilterFn = require('./exported-related/Filters/multiSelectFilterFn.js');
36
- var exportedRelated_Filters_textFilterFn = require('./exported-related/Filters/textFilterFn.js');
37
- var moment = require('moment');
38
- var exportedRelated_Filters_numberRangeFilterFn = require('./exported-related/Filters/numberRangeFilterFn.js');
39
- var exportedRelated_Filters_currencyRangeFilterFn = require('./exported-related/Filters/currencyRangeFilterFn.js');
40
- var exportedRelated_FilterTypes = require('./exported-related/FilterTypes.js');
41
- require('./addons/Columns/ColumnAction/ColumnAction.js');
42
- var hooks_useRecoverFocusRow = require('./hooks/useRecoverFocusRow.js');
43
- var dsTruncatedTooltipText = require('@elliemae/ds-truncated-tooltip-text');
44
- var propTypes = require('./prop-types.js');
45
- var parts_Cells_useCellStyle = require('./parts/Cells/useCellStyle.js');
46
- var redux_reducers_rowsReducers_useDispatchRowsActions = require('./redux/reducers/rowsReducers/useDispatchRowsActions.js');
47
- var exportedRelated_RowRenderer_useRowRendererProperties = require('./exported-related/RowRenderer/useRowRendererProperties.js');
48
- var parts_DropIndicator = require('./parts/DropIndicator.js');
49
- var parts_HoC_withConditionalDnDRowContext = require('./parts/HoC/withConditionalDnDRowContext.js');
50
- var helpers_addCellData = require('./helpers/addCellData.js');
51
- var core = require('@dnd-kit/core');
52
- var sortable = require('@dnd-kit/sortable');
53
- var parts_HoC_DragOverlayContext = require('./parts/HoC/DragOverlayContext.js');
54
- var helpers_dndkit_hierarchy_useHierarchyActionHandlers = require('./helpers/dndkit/hierarchy/useHierarchyActionHandlers.js');
55
- var helpers_dndkit_hierarchy_useHierarchyAnnouncements = require('./helpers/dndkit/hierarchy/useHierarchyAnnouncements.js');
56
- var parts_SortByCaret = require('./parts/SortByCaret.js');
57
- var dsControlledForm = require('@elliemae/ds-controlled-form');
58
- var redux_reducers_headersReducers_useDispatchHeadersActions = require('./redux/reducers/headersReducers/useDispatchHeadersActions.js');
59
- var dsFormLayoutBlocks = require('@elliemae/ds-form-layout-blocks');
60
- var _ = require('@elliemae/ds-grid/');
61
- var ComboBox = require('@elliemae/ds-form/ComboBox');
62
- var helpers_columnsToGrid = require('./helpers/columnsToGrid.js');
63
- var parts_Headers_useHeaderCellHandlers = require('./parts/Headers/useHeaderCellHandlers.js');
64
- var parts_Headers_useHeaderCellConfig = require('./parts/Headers/useHeaderCellConfig.js');
65
- var hooks_useRecoverFocusCol = require('./hooks/useRecoverFocusCol.js');
66
- var parts_Headers_RequiredDot = require('./parts/Headers/RequiredDot.js');
67
- var parts_SortableHeaderCell = require('./parts/SortableHeaderCell.js');
68
- var parts_Headers_EmptyChildrenGroup = require('./parts/Headers/EmptyChildrenGroup.js');
69
- var configs_fixedSizes = require('./configs/fixedSizes.js');
70
- var parts_Loader = require('./parts/Loader.js');
71
- var configs_zIndexInternalConfig = require('./configs/zIndexInternalConfig.js');
72
-
73
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
74
-
75
- var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
76
- var Grid__default = /*#__PURE__*/_interopDefaultLegacy(Grid);
77
- var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
78
- var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
79
- var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);
80
- var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
81
- var _extends__default = /*#__PURE__*/_interopDefaultLegacy(_extends);
82
- var DSIndeterminateProgressIndicator__default = /*#__PURE__*/_interopDefaultLegacy(DSIndeterminateProgressIndicator);
83
- var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
84
- var DSButton__default = /*#__PURE__*/_interopDefaultLegacy(DSButton);
85
- var moment__default = /*#__PURE__*/_interopDefaultLegacy(moment);
86
-
87
- function ownKeys$c(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
88
-
89
- function _objectSpread$c(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$c(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$c(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
90
- var StyledSpan = /*#__PURE__*/styled__default['default'].span.withConfig({
91
- componentId: "sc-1xp824d-0"
92
- })(["cursor:pointer;box-sizing:border-box;outline:none;display:flex;justify-content:center;align-items:center;"]);
93
- var expandRowColumn = {
94
- // Build our expander column
95
- id: 'expander',
96
- // Make sure it has an ID
97
- accessor: 'expandRowColumn',
98
- Header: function Header(_ref) {
99
- var ctx = _ref.ctx;
100
- var _ctx$tableProps = ctx.tableProps,
101
- expandedRows = _ctx$tableProps.expandedRows,
102
- onRowExpand = _ctx$tableProps.onRowExpand,
103
- allDataFlattened = ctx.allDataFlattened;
104
- var allExpandable = React.useMemo(function () {
105
- var expandable = {};
106
- allDataFlattened.forEach(function (row) {
107
- if (row.original.subRows || row.original.tableRowDetails || row.original.dimsumHeaderValue) expandable[row.uid] = true;
108
- });
109
- return expandable;
110
- }, [allDataFlattened]);
111
- var isAllRowsExpanded = React.useMemo(function () {
112
- return Object.keys(allExpandable).length === Object.keys(expandedRows).length;
113
- }, [allExpandable, expandedRows]);
114
- var onExpandedAllHandler = React.useCallback(function () {
115
- if (isAllRowsExpanded) onRowExpand({}, 'All');else onRowExpand(_objectSpread$c({}, allExpandable), 'All');
116
- }, [allExpandable, isAllRowsExpanded, onRowExpand]);
117
- var GlobalExpandIcon = React.useMemo(function () {
118
- if (isAllRowsExpanded) return /*#__PURE__*/React__default['default'].createElement(dsIcons.ArrowheadDown, {
119
- size: "s",
120
- color: ['brand-primary', '600'],
121
- "data-testid": configs_constants.DATA_TESTID.DATA_TABLE_ICON_ARROW_DOWN
122
- }); // Mixed
123
-
124
- if (Object.keys(expandedRows).length) {
125
- return /*#__PURE__*/React__default['default'].createElement(dsIcons.ArrowheadRight, {
126
- size: "s",
127
- color: ['brand-primary', '600'],
128
- "data-testid": configs_constants.DATA_TESTID.DATA_TABLE_ICON_ARROW_MIXED,
129
- style: {
130
- transform: 'rotate(45deg)'
131
- }
132
- });
133
- }
134
-
135
- return /*#__PURE__*/React__default['default'].createElement(dsIcons.ArrowheadRight, {
136
- size: "s",
137
- color: ['brand-primary', '600'],
138
- "data-testid": configs_constants.DATA_TESTID.DATA_TABLE_ICON_ARROW_RIGHT
139
- });
140
- }, [expandedRows, isAllRowsExpanded]);
141
- return /*#__PURE__*/React__default['default'].createElement(StyledFocusWithin, null, /*#__PURE__*/React__default['default'].createElement(StyledSpan, {
142
- role: "button",
143
- tabIndex: 0,
144
- title: "Toggle All Rows Expanded",
145
- onClick: onExpandedAllHandler,
146
- onKeyDown: function onKeyDown(e) {
147
- if (['Enter', 'Space'].includes(e.code)) {
148
- onExpandedAllHandler();
149
- e.preventDefault();
150
- }
151
- },
152
- "data-testid": configs_constants.DATA_TESTID.DATA_TABLE_GLOBAL_EXPAND_CELL,
153
- "aria-expanded": isAllRowsExpanded,
154
- style: {
155
- width: '24px',
156
- height: '24px'
157
- }
158
- }, GlobalExpandIcon));
159
- },
160
- Cell: function Cell(_ref2) {
161
- var _row$original$subRows;
162
-
163
- var cell = _ref2.cell,
164
- row = _ref2.row,
165
- isRowSelected = _ref2.isRowSelected,
166
- ctx = _ref2.ctx,
167
- draggableProps = _ref2.draggableProps;
168
- var _ctx$tableProps2 = ctx.tableProps,
169
- dragAndDropRows = _ctx$tableProps2.dragAndDropRows,
170
- expandedRows = _ctx$tableProps2.expandedRows,
171
- onRowExpand = _ctx$tableProps2.onRowExpand;
172
- var uniqueId = row.uid;
173
- var isExpanded = expandedRows[uniqueId];
174
- var shouldPrintCaret = ((_row$original$subRows = row.original.subRows) === null || _row$original$subRows === void 0 ? void 0 : _row$original$subRows.length) && row.depth === 0 || // only allows 1 level of expands
175
- row.original.tableRowDetails || row.original.dimsumHeaderValue;
176
- var onRowExpandHandler = React.useCallback(function (e) {
177
- e.stopPropagation();
178
-
179
- if (expandedRows[uniqueId]) {
180
- delete expandedRows[uniqueId];
181
- } else {
182
- expandedRows[uniqueId] = true;
183
- }
184
-
185
- onRowExpand(_objectSpread$c({}, expandedRows), uniqueId);
186
- }, [expandedRows, uniqueId, onRowExpand]);
187
- var isDragging = draggableProps ? draggableProps.isDragging : false;
188
- var isDragOverlay = dragAndDropRows && !draggableProps;
189
- var indentStyle = React.useMemo(function () {
190
- return {
191
- marginLeft: "".concat(row.depth * 32, "px"),
192
- marginRight: '18px',
193
- paddingLeft: '2px',
194
- paddingRight: '2px',
195
- position: 'relative',
196
- height: '100%',
197
- display: 'flex',
198
- alignItems: 'center'
199
- };
200
- }, [row.depth]);
201
- var rowProps = React.useMemo(function () {
202
- return {
203
- role: 'button',
204
- key: "".concat(row.uid, "-expand-button"),
205
- title: 'Toggle Row Expanded',
206
- onClick: onRowExpandHandler,
207
- onKeyDown: function onKeyDown(e) {
208
- if (['Enter', 'Space'].includes(e.code)) {
209
- e.preventDefault();
210
- onRowExpandHandler(e);
211
- }
212
- },
213
- ref: cell.ref,
214
- tabIndex: isRowSelected ? 0 : -1,
215
- 'data-testid': 'data-table-row-expand-cell',
216
- 'aria-expanded': isExpanded,
217
- isRightArrow: !isExpanded || isDragging || isDragOverlay
218
- };
219
- }, [row.uid, onRowExpandHandler, cell.ref, isRowSelected, isExpanded, isDragging, isDragOverlay]);
220
- var PureCaretIcon = React.useMemo(function () {
221
- return isExpanded && !isDragging && !isDragOverlay ? /*#__PURE__*/React__default['default'].createElement(dsIcons.ArrowheadDown, {
222
- "data-is-col-expanded": isExpanded,
223
- "data-role": "row-expander-col",
224
- size: "s",
225
- "data-testid": configs_constants.DATA_TESTID.DATA_TABLE_ICON_ARROW_DOWN
226
- }) : /*#__PURE__*/React__default['default'].createElement(dsIcons.ArrowheadRight, {
227
- "data-is-col-expanded": isExpanded,
228
- "data-role": "row-expander-col",
229
- size: "s",
230
- "data-testid": configs_constants.DATA_TESTID.DATA_TABLE_ICON_ARROW_RIGHT
231
- });
232
- }, [isExpanded, isDragging, isDragOverlay]);
233
- var ChildIcon = React.useMemo(function () {
234
- return /*#__PURE__*/React__default['default'].createElement(dsIcons.ArrowShortReturn, {
235
- size: "s",
236
- "data-testid": configs_constants.DATA_TESTID.DATA_TABLE_ICON_CHILD,
237
- style: {
238
- transform: 'rotate(90deg) scaleY(-1)'
239
- },
240
- color: ['brand-primary', '600']
241
- });
242
- }, []);
243
- if (shouldPrintCaret) return /*#__PURE__*/React__default['default'].createElement(StyledFocusWithin, {
244
- style: indentStyle
245
- }, /*#__PURE__*/React__default['default'].createElement(StyledSpan, rowProps, PureCaretIcon));
246
- if (row.depth !== 0) return /*#__PURE__*/React__default['default'].createElement("span", {
247
- style: indentStyle
248
- }, ChildIcon);
249
- return /*#__PURE__*/React__default['default'].createElement("div", {
250
- style: {
251
- width: '36px'
252
- }
253
- });
254
- },
255
- textWrap: 'wrap',
256
- canResize: false,
257
- width: 25,
258
- padding: 0,
259
- isFocuseable: false,
260
- disableDnD: true
261
- };
262
-
263
- function ownKeys$b(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
264
-
265
- function _objectSpread$b(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$b(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$b(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
266
- var multiSelectColumn = {
267
- // Build our multiSelecter column
268
- id: 'multiSelecter',
269
- // Make sure it has an ID
270
- Header: function Header(_ref) {
271
- var ctx = _ref.ctx;
272
- var _ctx$tableProps = ctx.tableProps,
273
- onSelectionChange = _ctx$tableProps.onSelectionChange,
274
- selection = _ctx$tableProps.selection,
275
- data = _ctx$tableProps.data,
276
- disabledRows = _ctx$tableProps.disabledRows,
277
- allDataFlattened = ctx.allDataFlattened;
278
- var selectionKeyCount = Object.keys(selection).length;
279
- var currentGlobalState = React.useMemo(function () {
280
- return selectionKeyCount > 0 && selectionKeyCount < data.length ? 'mixed' : selectionKeyCount > 0;
281
- }, [selectionKeyCount, data]);
282
- var newGlobalStateAfterToggle = React.useMemo(function () {
283
- // false -- toggles into --> true
284
- // mixed -- toggles into --> true
285
- // true -- toggles into --> false
286
- var newState = false;
287
- if (currentGlobalState === false || currentGlobalState === 'mixed') newState = true;
288
- return newState;
289
- }, [currentGlobalState]);
290
- var newSelection = React.useMemo(function () {
291
- if (newGlobalStateAfterToggle) {
292
- var nextSelection = {};
293
- allDataFlattened.forEach(function (datum) {
294
- nextSelection[datum.uid] = !disabledRows[datum.uid];
295
- });
296
- return nextSelection;
297
- }
298
-
299
- return {};
300
- }, [newGlobalStateAfterToggle, allDataFlattened, disabledRows]);
301
- var onChangeHandler = React.useCallback(function (e) {
302
- onSelectionChange(newSelection, 'All', e);
303
- }, [newSelection, onSelectionChange]);
304
- var PureHeaderCheckbox = React.useMemo(function () {
305
- return /*#__PURE__*/React__default['default'].createElement(dsForm.DSCheckbox, {
306
- "data-testid": configs_constants.DATA_TESTID.DATA_TABLE_GLOBAL_CHECKBOX,
307
- title: "Toggle All Rows Selected",
308
- checked: currentGlobalState,
309
- onChange: onChangeHandler,
310
- tabIndex: "0",
311
- style: {
312
- cursor: 'pointer'
313
- }
314
- });
315
- }, [currentGlobalState, onChangeHandler]);
316
- return PureHeaderCheckbox;
317
- },
318
- Cell: function Cell(_ref2) {
319
- var cell = _ref2.cell,
320
- row = _ref2.row,
321
- isRowSelected = _ref2.isRowSelected,
322
- ctx = _ref2.ctx;
323
- var _ctx$tableProps2 = ctx.tableProps,
324
- onSelectionChange = _ctx$tableProps2.onSelectionChange,
325
- selection = _ctx$tableProps2.selection,
326
- disabledRows = _ctx$tableProps2.disabledRows;
327
- var uid = row.uid;
328
- var selectedState = selection === null || selection === void 0 ? void 0 : selection[uid];
329
- var PureCheckboxCell = React.useMemo(function () {
330
- return /*#__PURE__*/React__default['default'].createElement(dsForm.DSCheckbox, {
331
- "data-testid": configs_constants.DATA_TESTID.DATA_TABLE_CHECKBOX,
332
- title: "Toggle Row Selected",
333
- "aria-checked": selectedState,
334
- "aria-disabled": false,
335
- checked: selectedState,
336
- onChange: function onChange(e) {
337
- var newState = !selectedState;
338
-
339
- var newSelection = _objectSpread$b(_objectSpread$b({}, selection), {}, _defineProperty__default['default']({}, uid, newState)); // we only want true and mixed values
340
-
341
-
342
- if (!newState) delete newSelection[uid]; // if newState is false, remove from the new selection
343
-
344
- onSelectionChange(newSelection, uid, e);
345
- },
346
- disabled: disabledRows[row.uid],
347
- innerRef: cell.ref,
348
- tabIndex: isRowSelected ? 0 : -1,
349
- style: {
350
- cursor: 'pointer'
351
- }
352
- });
353
- }, [selectedState, disabledRows, row.uid, cell.ref, isRowSelected, selection, uid, onSelectionChange]);
354
- return PureCheckboxCell;
355
- },
356
- textWrap: 'wrap',
357
- width: 32,
358
- padding: 7,
359
- canResize: false,
360
- isFocuseable: false,
361
- disableDnD: true
362
- };
363
-
364
- var CenteredContent = /*#__PURE__*/styled__default['default'].div.withConfig({
365
- componentId: "sc-1u47u8g-0"
366
- })(["display:flex;height:100%;width:100%;justify-content:center;align-items:center;"]);
367
- var StyledDSRadio = /*#__PURE__*/styled__default['default'](dsForm.DSRadio).withConfig({
368
- componentId: "sc-1u47u8g-1"
369
- })(["padding-bottom:0;cursor:pointer;"]);
370
- var singleSelectColumn = {
371
- // Build our singleSelecter column
372
- id: 'singleSelecter',
373
- // Make sure it has an ID
374
- // The header doesn't need anything for single selection
375
- Header: function Header() {
376
- return /*#__PURE__*/React__default['default'].createElement("div", null);
377
- },
378
- Cell: function Cell(_ref) {
379
- var cell = _ref.cell,
380
- row = _ref.row,
381
- isRowSelected = _ref.isRowSelected,
382
- ctx = _ref.ctx;
383
- var _ctx$tableProps = ctx.tableProps,
384
- onSelectionChange = _ctx$tableProps.onSelectionChange,
385
- selection = _ctx$tableProps.selection,
386
- disabledRows = _ctx$tableProps.disabledRows;
387
- var uid = row.uid;
388
- var selectedState = selection === null || selection === void 0 ? void 0 : selection[uid];
389
- var PureCheckBox = React.useMemo(function () {
390
- return /*#__PURE__*/React__default['default'].createElement(CenteredContent, null, /*#__PURE__*/React__default['default'].createElement(StyledDSRadio // eslint-disable-next-line react/prop-types
391
- , {
392
- containerProps: {
393
- 'aria-checked': selectedState,
394
- 'aria-disabled': false,
395
- title: 'Toggle Row Selected'
396
- },
397
- checked: selectedState,
398
- onChange: function onChange() {
399
- // in single select we only allow one item to be selected
400
- onSelectionChange(!selectedState ? _defineProperty__default['default']({}, uid, !selectedState) : {});
401
- },
402
- "data-testid": configs_constants.DATA_TESTID.DATA_TABLE_RADIO,
403
- disabled: disabledRows[row.uid],
404
- innerRef: cell.ref,
405
- value: "",
406
- tabIndex: isRowSelected ? 0 : -1
407
- }));
408
- }, [selectedState, disabledRows, row.uid, cell.ref, isRowSelected, onSelectionChange, uid]);
409
- return PureCheckBox;
410
- },
411
- textWrap: 'wrap',
412
- width: 32,
413
- padding: 4,
414
- canResize: false,
415
- isFocuseable: false,
416
- disableDnD: true
417
- };
418
-
419
- var StyledRowLoadingContainer = /*#__PURE__*/styled__default['default'](Grid__default['default']).withConfig({
420
- componentId: "sc-1jmutz9-0"
421
- })(["position:absolute;bottom:-40px;left:0;width:100%;place-items:center;background-color:white;"]);
422
-
423
- var RowLoading = function RowLoading() {
424
- var PureLoading = React.useMemo(function () {
425
- return /*#__PURE__*/React__default['default'].createElement(StyledRowLoadingContainer, {
426
- role: "row",
427
- "data-testid": configs_constants.DATA_TESTID.DATA_TABLE_ROW
428
- }, /*#__PURE__*/React__default['default'].createElement(DSIndeterminateProgressIndicator__default['default'], {
429
- processing: true,
430
- title: "Loading"
431
- }));
432
- }, []);
433
- return PureLoading;
434
- };
435
-
436
- function ownKeys$a(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
437
-
438
- function _objectSpread$a(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$a(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$a(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
439
- var FilterButton = /*#__PURE__*/styled__default['default'].span.withConfig({
440
- componentId: "sc-16i88ut-0"
441
- })(["display:inline-grid;", ""], function (props) {
442
- return props.hide ? 'opacity: 0; display: none; width: 0;' : '';
443
- });
444
- var Button = /*#__PURE__*/styled__default['default'](DSButton__default['default']).withConfig({
445
- componentId: "sc-16i88ut-1"
446
- })(["position:relative;justify-self:flex-end;"]);
447
- var FilterPopover = function FilterPopover(_ref2) {
448
- var _column$ref$current$o, _column$ref, _column$ref$current;
449
-
450
- var column = _ref2.column,
451
- columnId = _ref2.columnId,
452
- triggerIcon = _ref2.triggerIcon,
453
- menuContent = _ref2.menuContent,
454
- _ref2$onTriggerClick = _ref2.onTriggerClick,
455
- onTriggerClick = _ref2$onTriggerClick === void 0 ? function () {
456
- return null;
457
- } : _ref2$onTriggerClick,
458
- _ref2$onClickOutsideM = _ref2.onClickOutsideMenu,
459
- onClickOutsideMenu = _ref2$onClickOutsideM === void 0 ? function () {
460
- return null;
461
- } : _ref2$onClickOutsideM,
462
- reduxHeader = _ref2.reduxHeader,
463
- _innerRef = _ref2.innerRef,
464
- ariaLabel = _ref2.ariaLabel,
465
- customStyles = _ref2.customStyles;
466
-
467
- var _ref3 = reduxHeader || {
468
- hideFilterButton: true,
469
- hideFilterMenu: true
470
- },
471
- hideFilterButton = _ref3.hideFilterButton,
472
- hideFilterMenu = _ref3.hideFilterMenu;
473
-
474
- var popperRef = React.useRef(null);
475
-
476
- var _useDispatchHeadersAc = redux_reducers_headersReducers_useDispatchHeadersActions.useDispatchHeadersActions(),
477
- patchHeaderFilterButtonAndMenu = _useDispatchHeadersAc.patchHeaderFilterButtonAndMenu,
478
- patchHeader = _useDispatchHeadersAc.patchHeader;
479
-
480
- var isIconVisible = !hideFilterButton || !hideFilterMenu;
481
- var isMenuOpen = !hideFilterMenu;
482
-
483
- var handleClickOutsideMenu = function handleClickOutsideMenu(e) {
484
- onClickOutsideMenu(columnId, e);
485
- if (isMenuOpen) patchHeaderFilterButtonAndMenu(columnId, true);
486
- };
487
-
488
- var handleTriggerClick = function handleTriggerClick(e) {
489
- onTriggerClick(columnId, e);
490
- patchHeaderFilterButtonAndMenu(columnId, false);
491
- e.stopPropagation();
492
- };
493
-
494
- var _useState = React.useState(null),
495
- _useState2 = _slicedToArray__default['default'](_useState, 2),
496
- referenceElement = _useState2[0],
497
- setReferenceElement = _useState2[1];
498
-
499
- return /*#__PURE__*/React__default['default'].createElement("div", {
500
- // This is here to prevent propagation, and not trigger the sort functionality
501
- onClick: function onClick(e) {
502
- return e.stopPropagation();
503
- },
504
- onKeyDown: function onKeyDown(e) {
505
- e.stopPropagation();
506
-
507
- if (e.code === 'Escape') {
508
- patchHeader(columnId, {
509
- hideFilterMenu: true,
510
- hideFilterButton: false
511
- });
512
- referenceElement.focus();
513
- } // Stop propagation for some reason is not enough to prevent scrolling of the datatable
514
- // so we just prevent default behaviour in this case
515
-
516
-
517
- if (['ArrowUp', 'ArrowDown'].includes(e.code)) {
518
- e.preventDefault();
519
- }
520
- },
521
- style: {
522
- display: 'flex'
523
- },
524
- onBlur: function onBlur(e) {
525
- if (e.target !== referenceElement && !popperRef.current.contains(e.relatedTarget)) {
526
- referenceElement.focus();
527
- }
528
- }
529
- }, /*#__PURE__*/React__default['default'].createElement(FilterButton, {
530
- hide: !isIconVisible,
531
- "data-testid": configs_constants.DATA_TESTID.DATA_TABLE_FILTER_BUTTON
532
- }, /*#__PURE__*/React__default['default'].createElement(Button, {
533
- onClick: handleTriggerClick,
534
- buttonType: "text",
535
- "aria-label": ariaLabel,
536
- "aria-hidden": "true",
537
- size: "s",
538
- leftIcon: triggerIcon // implement treeview mergerefs
539
- ,
540
- innerRef: function innerRef(_ref) {
541
- if (isIconVisible) setReferenceElement(_ref);
542
- _innerRef.current = _ref;
543
- },
544
- tabIndex: reduxHeader !== null && reduxHeader !== void 0 && reduxHeader.withTabStops ? 0 : -1
545
- })), /*#__PURE__*/React__default['default'].createElement(dsPopperjs.DSPopperJS, {
546
- referenceElement: referenceElement,
547
- showPopover: isMenuOpen,
548
- closeContextMenu: handleClickOutsideMenu,
549
- "data-testid": configs_constants.DATA_TESTID.DATA_TABLE_FILTER_MENU_CONTENT,
550
- startPlacementPreference: "bottom-end",
551
- customOffset: [5, 4],
552
- withoutArrow: true,
553
- zIndex: 10,
554
- withoutAnimation: true,
555
- extraPopperStyles: _objectSpread$a(_objectSpread$a({}, customStyles), {}, {
556
- minWidth: (_column$ref$current$o = (_column$ref = column.ref) === null || _column$ref === void 0 ? void 0 : (_column$ref$current = _column$ref.current) === null || _column$ref$current === void 0 ? void 0 : _column$ref$current.offsetWidth) !== null && _column$ref$current$o !== void 0 ? _column$ref$current$o : '0px'
557
- }),
558
- placementOrderPreference: ['bottom-end']
559
- }, /*#__PURE__*/React__default['default'].createElement("div", {
560
- style: {
561
- backgroundColor: '#fff'
562
- },
563
- ref: popperRef
564
- }, menuContent)));
565
- };
566
-
567
- var EditableCell = function EditableCell(props) {
568
- var StandardRender = props.StandardRender,
569
- EditableRenderer = props.EditableRenderer,
570
- cell = props.cell,
571
- isRowSelected = props.isRowSelected;
572
-
573
- var _useContext = React.useContext(DataTableContext['default']),
574
- virtualListHelpers = _useContext.virtualListHelpers;
575
-
576
- var _useState = React.useState(false),
577
- _useState2 = _slicedToArray__default['default'](_useState, 2),
578
- isEditing = _useState2[0],
579
- setIsEditing = _useState2[1];
580
-
581
- var _useState3 = React.useState(false),
582
- _useState4 = _slicedToArray__default['default'](_useState3, 2),
583
- lastIsEditing = _useState4[0],
584
- setLastIsEditing = _useState4[1]; // When an editable cell is switched on-off, we recalculate the height of the rows
585
-
586
-
587
- React.useLayoutEffect(function () {
588
- if (isEditing !== lastIsEditing) {
589
- virtualListHelpers.measure();
590
- setLastIsEditing(isEditing);
591
- } // eslint-disable-next-line react-hooks/exhaustive-deps
592
-
593
- }, [isEditing]);
594
- var handleCellClick = React.useCallback(function (e) {
595
- if (!isEditing) {
596
- e.stopPropagation();
597
- setIsEditing(true);
598
- }
599
- }, [isEditing]);
600
- var handleOnKeyDown = React.useCallback(function (e) {
601
- if (isEditing) e.stopPropagation();
602
-
603
- if (['Enter', 'Space'].includes(e.code)) {
604
- handleCellClick(e);
605
- }
606
- }, [isEditing, handleCellClick]);
607
- var handleOnBlur = React.useCallback(function (event) {
608
- if (isEditing && !event.currentTarget.contains(event.relatedTarget)) {
609
- // Not triggered when swapping focus between children
610
- setIsEditing(false);
611
- }
612
- }, [isEditing]);
613
- return /*#__PURE__*/React__default['default'].createElement(StyledEditableContainer, {
614
- cols: !isEditing ? ['auto', 'min-content'] : ['auto'],
615
- tabIndex: isRowSelected && !isEditing ? 0 : -1,
616
- ref: cell.ref,
617
- onClick: handleCellClick,
618
- onKeyDown: handleOnKeyDown,
619
- onBlur: handleOnBlur,
620
- shouldDisplayEditIcon: cell.column.alwaysDisplayEditIcon,
621
- role: "cell",
622
- "aria-describedby": isEditing ? undefined : cell.id
623
- }, !isEditing ? StandardRender : EditableRenderer, !isEditing && /*#__PURE__*/React__default['default'].createElement(StyledPencilIcon, null), /*#__PURE__*/React__default['default'].createElement("span", {
624
- id: cell.id,
625
- style: {
626
- display: 'none'
627
- },
628
- "aria-hidden": "true"
629
- }, "Editable cell. To edit the content's of this cell, press the Enter key"));
630
- };
631
- EditableCell.propTypes = {
632
- StandardRender: PropTypes__default['default'].oneOfType([PropTypes__default['default'].func, PropTypes__default['default'].object]).isRequired,
633
- EditableRenderer: PropTypes__default['default'].oneOfType([PropTypes__default['default'].func, PropTypes__default['default'].object]).isRequired,
634
- cell: PropTypes__default['default'].object.isRequired
635
- };
636
-
637
- // use file instead of index to avoid circular imports!
638
-
639
- var singleDateFilterFn = function singleDateFilterFn(unfilteredData, filterKey, filterValue) {
640
- return unfilteredData.filter(function (datum) {
641
- return moment__default['default'](filterValue, configs_constants.momentFormat).isSame(datum[filterKey], 'day');
642
- });
643
- };
644
-
645
- // use file instead of index to avoid circular imports!
646
-
647
- var dateRangeFilterFn = function dateRangeFilterFn(unfilteredData, filterKey, filterValue) {
648
- return unfilteredData.filter(function (datum) {
649
- return !(filterValue !== null && filterValue !== void 0 && filterValue.startDate && filterValue !== null && filterValue !== void 0 && filterValue.endDate) || moment__default['default'](filterValue === null || filterValue === void 0 ? void 0 : filterValue.startDate, configs_constants.momentFormat).isSameOrBefore(datum[filterKey], 'day') && moment__default['default'](filterValue === null || filterValue === void 0 ? void 0 : filterValue.endDate, configs_constants.momentFormat).isSameOrAfter(datum[filterKey], 'day');
650
- });
651
- };
652
-
653
- // use file instead of index to avoid circular imports!
654
-
655
- var dateSwitcherFilterFn = function dateSwitcherFilterFn(unfilteredData, filterKey, filterValue) {
656
- return filterValue.isDateRange ? dateRangeFilterFn(unfilteredData, filterKey, filterValue) : singleDateFilterFn(unfilteredData, filterKey, filterValue.startDate);
657
- };
658
-
659
- var _filterMapper;
660
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
661
- var filterMapper = (_filterMapper = {}, _defineProperty__default['default'](_filterMapper, exportedRelated_FilterTypes.FILTER_TYPES.SELECT, exportedRelated_Filters_singleSelectFilterFn.singleSelectFilterFn), _defineProperty__default['default'](_filterMapper, exportedRelated_FilterTypes.FILTER_TYPES.MULTI_SELECT, exportedRelated_Filters_multiSelectFilterFn.multiSelectFilterFn), _defineProperty__default['default'](_filterMapper, exportedRelated_FilterTypes.FILTER_TYPES.TEXT, exportedRelated_Filters_textFilterFn.textFilterFn), _defineProperty__default['default'](_filterMapper, exportedRelated_FilterTypes.FILTER_TYPES.SINGLE_DATE, singleDateFilterFn), _defineProperty__default['default'](_filterMapper, exportedRelated_FilterTypes.FILTER_TYPES.DATE_RANGE, dateRangeFilterFn), _defineProperty__default['default'](_filterMapper, exportedRelated_FilterTypes.FILTER_TYPES.DATE_SWITCHER, dateSwitcherFilterFn), _defineProperty__default['default'](_filterMapper, exportedRelated_FilterTypes.FILTER_TYPES.NUMBER_RANGE, exportedRelated_Filters_numberRangeFilterFn.numberRangeFilterFn), _defineProperty__default['default'](_filterMapper, exportedRelated_FilterTypes.FILTER_TYPES.CURRENCY_RANGE, exportedRelated_Filters_currencyRangeFilterFn.currencyRangeFilterFn), _filterMapper);
662
- var applyOutOfTheBoxFilters = function applyOutOfTheBoxFilters(data, filters) {
663
- var filteredData = data;
664
- filters.forEach(function (filter) {
665
- if (filter.type in filterMapper) {
666
- filteredData = filterMapper[filter.type](filteredData, filter.id, filter.value);
667
- }
668
- });
669
- return filteredData;
670
- };
671
-
672
- var StyledInput = /*#__PURE__*/styled__default['default'].input.withConfig({
673
- componentId: "sc-15pvvoa-0"
674
- })(["outline:none;:focus{border:2px solid ", ";}max-width:100%;"], function (props) {
675
- return props.theme.colors.brand[700];
676
- });
677
- var TextEditableCell = function TextEditableCell(props) {
678
- var cell = props.cell,
679
- DefaultCellRender = props.DefaultCellRender,
680
- isRowSelected = props.isRowSelected;
681
-
682
- var _useContext = React.useContext(DataTableContext['default']),
683
- onCellValueChange = _useContext.tableProps.onCellValueChange;
684
-
685
- var _useState = React.useState(cell.value),
686
- _useState2 = _slicedToArray__default['default'](_useState, 2),
687
- value = _useState2[0],
688
- setValue = _useState2[1];
689
-
690
- var handleOnChange = React.useCallback(function (e) {
691
- var tValue = e.target.value;
692
- setValue(tValue);
693
- }, []);
694
- var handleOnBlur = React.useCallback(function () {
695
- var property = cell.column.id;
696
- var rowIndex = cell.row.index;
697
- onCellValueChange({
698
- value: value,
699
- property: property,
700
- rowIndex: rowIndex
701
- });
702
- }, [value, onCellValueChange, cell.column.id, cell.row.index]);
703
- return /*#__PURE__*/React__default['default'].createElement(EditableCell, {
704
- StandardRender: DefaultCellRender,
705
- EditableRenderer: /*#__PURE__*/React__default['default'].createElement(StyledInput, {
706
- value: value,
707
- onChange: handleOnChange,
708
- onBlur: handleOnBlur,
709
- autoFocus: true
710
- }),
711
- cell: cell,
712
- isRowSelected: isRowSelected
713
- });
714
- };
715
- TextEditableCell.propTypes = propTypes.editableCellPropType;
716
-
717
- var ComboboxEditableCell = function ComboboxEditableCell(props) {
718
- var cell = props.cell,
719
- DefaultCellRender = props.DefaultCellRender,
720
- isRowSelected = props.isRowSelected;
721
-
722
- var _useContext = React.useContext(DataTableContext['default']),
723
- onCellValueChange = _useContext.tableProps.onCellValueChange,
724
- flattenedData = _useContext.flattenedData;
725
-
726
- var cellValue = React.useMemo(function () {
727
- return cell.value;
728
- }, [cell.value]);
729
- var columnId = React.useMemo(function () {
730
- return cell.column.id;
731
- }, [cell.column.id]);
732
-
733
- var _useState = React.useState({
734
- value: cellValue,
735
- label: cellValue
736
- }),
737
- _useState2 = _slicedToArray__default['default'](_useState, 2),
738
- value = _useState2[0],
739
- setValue = _useState2[1];
740
-
741
- var uniqueOptions = React.useMemo(function () {
742
- var uniqueValuesMap = {};
743
- return flattenedData.reduce(function (optionsSoFar, currRow) {
744
- var currValue = currRow.original[columnId];
745
-
746
- if (!uniqueValuesMap[currValue]) {
747
- optionsSoFar.push({
748
- value: currValue,
749
- label: currValue
750
- });
751
- uniqueValuesMap[currValue] = true;
752
- }
753
-
754
- return optionsSoFar;
755
- }, []);
756
- }, [flattenedData, columnId]);
757
- var handleOnBlur = React.useCallback(function () {
758
- var property = columnId;
759
- onCellValueChange({
760
- value: value === null || value === void 0 ? void 0 : value.value,
761
- property: property,
762
- rowIndex: cell.row.index
763
- });
764
- }, [columnId, onCellValueChange, value === null || value === void 0 ? void 0 : value.value, cell.row.index]);
765
- return /*#__PURE__*/React__default['default'].createElement(EditableCell, {
766
- StandardRender: DefaultCellRender,
767
- EditableRenderer: /*#__PURE__*/React__default['default'].createElement(dsForm.ComboBoxFreeSolo, {
768
- value: value,
769
- autoFocus: true,
770
- onBlur: handleOnBlur,
771
- onChange: setValue,
772
- options: uniqueOptions
773
- }),
774
- cell: cell,
775
- isRowSelected: isRowSelected
776
- });
777
- };
778
- ComboboxEditableCell.propTypes = propTypes.editableCellPropType;
779
-
780
- var outOfTheBoxEditables = {
781
- 'ds-edit-text': {
782
- EditableComponent: TextEditableCell
783
- },
784
- 'ds-edit-combobox': {
785
- EditableComponent: ComboboxEditableCell
786
- }
787
- };
788
-
789
- function ownKeys$9(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
790
-
791
- function _objectSpread$9(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$9(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$9(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
792
- var PureStandardCell = /*#__PURE__*/React.memo(function (_ref) {
793
- var cellStyle = _ref.cellStyle,
794
- children = _ref.children,
795
- column = _ref.column;
796
- return /*#__PURE__*/React__default['default'].createElement(StyledCell, {
797
- column: column,
798
- style: cellStyle,
799
- role: "cell",
800
- "data-testid": configs_constants.DATA_TESTID.DATA_TABLE_CELL
801
- }, children);
802
- });
803
-
804
- var Cell = function Cell(_ref2) {
805
- var cell = _ref2.cell,
806
- column = _ref2.column,
807
- row = _ref2.row,
808
- isRowSelected = _ref2.isRowSelected,
809
- shouldAddExpandCell = _ref2.shouldAddExpandCell,
810
- isDragOverlay = _ref2.isDragOverlay;
811
- var ctx = React.useContext(DataTableContext['default']);
812
- var cellRendererProps = ctx.tableProps.cellRendererProps;
813
-
814
- var _useContext = React.useContext(parts_HoC_SortableItemContext.SortableItemContext),
815
- draggableProps = _useContext.draggableProps;
816
-
817
- var _useCellStyle = parts_Cells_useCellStyle.useCellStyle(column, shouldAddExpandCell),
818
- _useCellStyle2 = _slicedToArray__default['default'](_useCellStyle, 2),
819
- appliedTextWrap = _useCellStyle2[0],
820
- cellStyle = _useCellStyle2[1];
821
-
822
- var cellProps = React.useMemo(function () {
823
- return _objectSpread$9(_objectSpread$9({}, cellRendererProps), {}, {
824
- cell: cell,
825
- row: row,
826
- isRowSelected: isRowSelected,
827
- ctx: ctx,
828
- draggableProps: draggableProps,
829
- isDragOverlay: isDragOverlay,
830
- role: 'cell',
831
- cellStyle: cellStyle,
832
- column: column
833
- });
834
- }, [cellRendererProps, cell, row, isRowSelected, ctx, draggableProps, isDragOverlay, cellStyle, column]);
835
- var CellComponent = cell.render;
836
- var pureCellContent = React.useMemo(function () {
837
- if (shouldAddExpandCell) {
838
- return /*#__PURE__*/React__default['default'].createElement(Grid__default['default'], {
839
- cols: ['min-content', 'auto'],
840
- alignItems: "center",
841
- height: "100%"
842
- }, shouldAddExpandCell && /*#__PURE__*/React__default['default'].createElement(expandRowColumn.Cell, cellProps), /*#__PURE__*/React__default['default'].createElement(CellComponent, cellProps));
843
- }
844
-
845
- return /*#__PURE__*/React__default['default'].createElement(CellComponent, cellProps);
846
- }, [CellComponent, cellProps, shouldAddExpandCell]);
847
- var DefaultCellContentJSX = React.useMemo(function () {
848
- return /*#__PURE__*/React__default['default'].createElement(StyledCellContent, null, appliedTextWrap === 'truncate' ? /*#__PURE__*/React__default['default'].createElement(dsTruncatedTooltipText.SimpleTruncatedTooltipText, {
849
- value: pureCellContent
850
- }) : pureCellContent);
851
- }, [appliedTextWrap, pureCellContent]);
852
- var EditableContentJSX = React.useMemo(function () {
853
- if (typeof column.editable === 'string') {
854
- var _outOfTheBoxEditables = outOfTheBoxEditables === null || outOfTheBoxEditables === void 0 ? void 0 : outOfTheBoxEditables[column.editable],
855
- EditableComponent = _outOfTheBoxEditables.EditableComponent;
856
-
857
- if (EditableComponent) return /*#__PURE__*/React__default['default'].createElement(EditableComponent, _extends__default['default']({}, cellProps, {
858
- DefaultCellRender: DefaultCellContentJSX
859
- }));
860
- }
861
-
862
- if (typeof column.editable === 'function') return column.editable(_objectSpread$9({
863
- DefaultCellRender: DefaultCellContentJSX
864
- }, cellProps));
865
- return null;
866
- }, [DefaultCellContentJSX, cellProps, column]);
867
- return /*#__PURE__*/React__default['default'].createElement(PureStandardCell, cellProps, column.editable ? EditableContentJSX : DefaultCellContentJSX);
868
- };
869
-
870
- /* eslint-disable react/prop-types */
871
-
872
- var Cells = function Cells(props) {
873
- var row = props.row,
874
- isRowSelected = props.isRowSelected,
875
- isDragOverlay = props.isDragOverlay;
876
- var ctx = React.useContext(DataTableContext['default']); // we won't print sub-rows more nested than the first level
877
-
878
- if (row.depth <= 1) {
879
- var shouldAddExpandCell = false;
880
- var userCellsProcessed = 0;
881
- return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, row.cells.map(function (cell) {
882
- var column = cell.column;
883
- var isUserCell = !INTERNAL_COLUMNS.includes(column.id);
884
- var jsx = null;
885
-
886
- if (column.id === 'rowActions') {
887
- var ActionComponent = cell.render;
888
- jsx = /*#__PURE__*/React__default['default'].createElement(StyledActionCell, {
889
- role: "cell",
890
- key: cell.id
891
- }, /*#__PURE__*/React__default['default'].createElement(ActionComponent, {
892
- row: row,
893
- cell: cell,
894
- column: column,
895
- isRowSelected: isRowSelected,
896
- ctx: ctx
897
- }));
898
- } else if (column.id === 'expander') {
899
- // Next user's cell will have the expand cell
900
- shouldAddExpandCell = !isDragOverlay; // Don't add it on drag overlay
901
- } else {
902
- jsx = /*#__PURE__*/React__default['default'].createElement(Cell, {
903
- cell: cell,
904
- column: column,
905
- row: row,
906
- isRowSelected: isRowSelected,
907
- shouldAddExpandCell: isUserCell && shouldAddExpandCell,
908
- isDragOverlay: isDragOverlay,
909
- key: cell.id
910
- });
911
- } // Drag overlay only need to print the DnD handle and the first user's cell
912
-
913
-
914
- if (isDragOverlay) {
915
- if (column.id !== 'dragHandleColumn' && (!isUserCell || userCellsProcessed !== 0)) jsx = null;
916
- } // Reset expand cell
917
-
918
-
919
- if (isUserCell) {
920
- shouldAddExpandCell = false;
921
- userCellsProcessed += 1;
922
- }
923
-
924
- return jsx;
925
- }));
926
- }
927
-
928
- return null;
929
- };
930
-
931
- var DetailsWrapper = function DetailsWrapper(props) {
932
- return (
933
- /*#__PURE__*/
934
- // This can be further customized
935
- // eslint-disable-next-line react/prop-types
936
- // eslint-disable-next-line jsx-a11y/no-static-element-interactions
937
- React__default['default'].createElement("div", {
938
- "data-role": "detail-view",
939
- style: {
940
- borderTop: '1px solid #EBEDF0',
941
- borderBottom: '1px solid #EBEDF0'
942
- },
943
- onClick: function onClick(e) {
944
- return e.stopPropagation();
945
- },
946
- onKeyDown: function onKeyDown(e) {
947
- return e.stopPropagation();
948
- }
949
- }, props.children)
950
- );
951
- };
952
-
953
- var ariaLabelMessage = function ariaLabelMessage(row, selected) {
954
- return "Row number ".concat(row.realIndex + 1).concat(row.parentIndex !== null ? ", child of row number ".concat(row.parentIndex + 1) : '', ". ").concat(selected ? 'Selected. ' : '', "To interact with the cells press enter");
955
- };
956
-
957
- var DefaultRowContentRenderer = function DefaultRowContentRenderer(props) {
958
- var row = props.row,
959
- _props$ctx = props.ctx,
960
- _props$ctx$tableProps = _props$ctx.tableProps,
961
- isExpandable = _props$ctx$tableProps.isExpandable,
962
- colsLayoutStyle = _props$ctx$tableProps.colsLayoutStyle,
963
- selection = _props$ctx$tableProps.selection,
964
- noSelectionColumn = _props$ctx$tableProps.noSelectionColumn,
965
- expandedRows = _props$ctx$tableProps.expandedRows,
966
- disabledRows = _props$ctx$tableProps.disabledRows,
967
- gridLayout = _props$ctx.layoutHelpers.gridLayout,
968
- visibleColumns = _props$ctx.visibleColumns,
969
- draggableProps = props.draggableProps,
970
- isDragOverlay = props.isDragOverlay,
971
- _props$backgroundColo = props.backgroundColor,
972
- backgroundColor = _props$backgroundColo === void 0 ? 'white' : _props$backgroundColo,
973
- dropIndicatorPosition = props.dropIndicatorPosition,
974
- focusedRowId = props.focusedRowId,
975
- selectedRowId = props.selectedRowId,
976
- compact = props.compact;
977
- var rowRef = React.useRef(null);
978
- var isDndActive = draggableProps && draggableProps.active;
979
- var isDragging = draggableProps && draggableProps.isDragging;
980
- React.useLayoutEffect(function () {
981
- if (row.uid === focusedRowId) {
982
- rowRef.current.focus({
983
- preventScroll: true
984
- });
985
- }
986
- }, [focusedRowId, row.uid]);
987
- var gridTemplateColProps = React.useMemo(function () {
988
- return {
989
- cols: isDragOverlay ? ['24px', 'auto'] : gridLayout,
990
- isExpandable: isExpandable,
991
- colLayoutStyle: colsLayoutStyle
992
- };
993
- }, [isDragOverlay, gridLayout, colsLayoutStyle, isExpandable]);
994
- var detailsIndent = React.useMemo(function () {
995
- var padding = 0;
996
-
997
- for (var i = 0; i < visibleColumns.length; i += 1) {
998
- if (INTERNAL_COLUMNS.includes(visibleColumns[i].id)) {
999
- padding += visibleColumns[i].width;
1000
- } else {
1001
- padding += row.depth * 32 + 15;
1002
- break;
1003
- }
1004
- }
1005
-
1006
- return padding;
1007
- }, [row.depth, visibleColumns]);
1008
- var PureRowContent = React.useMemo(function () {
1009
- var DetailsView = row.original.tableRowDetails;
1010
- return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement(StyledCellContainer, _extends__default['default']({
1011
- ref: rowRef,
1012
- key: row.uid,
1013
- tabIndex: 0,
1014
- role: "row",
1015
- "aria-rowindex": row.realIndex + 1,
1016
- "aria-label": ariaLabelMessage(row, (selection === null || selection === void 0 ? void 0 : selection[row.uid]) === true),
1017
- "aria-level": row.depth + 1,
1018
- "aria-selected": (selection === null || selection === void 0 ? void 0 : selection[row.uid]) === true,
1019
- "aria-expanded": isExpandable ? expandedRows[row.uid] === true : undefined,
1020
- "aria-disabled": disabledRows[row.uid]
1021
- }, gridTemplateColProps, {
1022
- backgroundColor: backgroundColor,
1023
- height: compact ? '24px' : 'auto',
1024
- minHeight: compact ? '24px' : '36px',
1025
- isDropIndicatorPositionInside: dropIndicatorPosition === parts_HoC_SortableItemContext.DropIndicatorPosition.Inside,
1026
- shouldDisplayHover: !isDndActive && !isDragging && !isDragOverlay,
1027
- isDragOverlay: isDragOverlay,
1028
- isDragging: isDragging,
1029
- selected: noSelectionColumn && (selection === null || selection === void 0 ? void 0 : selection[row.uid]) === true,
1030
- disabled: disabledRows[row.uid],
1031
- "data-testid": configs_constants.DATA_TESTID.DATA_TABLE_ROW_CONTENT
1032
- }), /*#__PURE__*/React__default['default'].createElement(Cells, {
1033
- row: row,
1034
- isRowSelected: selectedRowId === row.uid,
1035
- isDragOverlay: isDragOverlay,
1036
- key: row.uid
1037
- })), isExpandable && row.isExpanded && DetailsView && /*#__PURE__*/React__default['default'].createElement(DetailsWrapper, null, /*#__PURE__*/React__default['default'].createElement(DetailsView, {
1038
- row: row,
1039
- detailsIndent: detailsIndent
1040
- })));
1041
- }, [row, selection, isExpandable, expandedRows, disabledRows, gridTemplateColProps, backgroundColor, compact, dropIndicatorPosition, isDndActive, isDragging, isDragOverlay, noSelectionColumn, selectedRowId, detailsIndent]);
1042
- return PureRowContent;
1043
- };
1044
-
1045
- var useRowRendererHandlers = function useRowRendererHandlers(_ref) {
1046
- var row = _ref.row,
1047
- itemIndex = _ref.itemIndex,
1048
- items = _ref.items,
1049
- draggableProps = _ref.draggableProps,
1050
- isDragOverlay = _ref.isDragOverlay,
1051
- selectedRowId = _ref.selectedRowId;
1052
-
1053
- var _useContext = React.useContext(DataTableContext['default']),
1054
- _useContext$tableProp = _useContext.tableProps,
1055
- onRowClick = _useContext$tableProp.onRowClick,
1056
- onRowFocus = _useContext$tableProp.onRowFocus,
1057
- scrollToIndex = _useContext.virtualListHelpers.scrollToIndex;
1058
-
1059
- var _useDispatchRowsActio = redux_reducers_rowsReducers_useDispatchRowsActions.useDispatchRowsActions(),
1060
- setSelectedRowId = _useDispatchRowsActio.setSelectedRowId,
1061
- setFocusedRowId = _useDispatchRowsActio.setFocusedRowId;
1062
-
1063
- var handleItemClick = React.useCallback(function (e) {
1064
- var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : row,
1065
- original = _ref2.original,
1066
- uid = _ref2.uid;
1067
-
1068
- // setSelectedRowId(null);
1069
- onRowClick(original, e, uid);
1070
- onRowFocus({
1071
- itemIndex: itemIndex,
1072
- scrollToItem: function scrollToItem() {
1073
- var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
1074
- align: 'start'
1075
- };
1076
- return scrollToIndex(itemIndex, opts);
1077
- },
1078
- original: original
1079
- }, e);
1080
- }, [row, onRowClick, onRowFocus, itemIndex, scrollToIndex]);
1081
- var isActive = draggableProps && draggableProps.active;
1082
- var handleKeyDown = React.useCallback(function (e) {
1083
- if (isDragOverlay || isActive) {
1084
- e.preventDefault();
1085
- return;
1086
- }
1087
-
1088
- if (e.code === 'Enter') {
1089
- e.preventDefault();
1090
-
1091
- if (selectedRowId !== row.uid) {
1092
- setSelectedRowId(row.uid);
1093
- setTimeout(function () {
1094
- var focuseableCell = row.cells.find(function (cell) {
1095
- return cell.ref.current !== null;
1096
- });
1097
- if (focuseableCell) focuseableCell.ref.current.focus();
1098
- });
1099
- }
1100
- }
1101
-
1102
- if (e.code === 'Space') {
1103
- e.preventDefault();
1104
- handleItemClick(e, row);
1105
- }
1106
-
1107
- if (e.code === 'ArrowDown') {
1108
- e.preventDefault();
1109
- if (itemIndex + 1 < items.length) setFocusedRowId(items[itemIndex + 1].uid);
1110
- }
1111
-
1112
- if (e.code === 'ArrowUp') {
1113
- e.preventDefault();
1114
- if (itemIndex - 1 >= 0) setFocusedRowId(items[itemIndex - 1].uid);
1115
- }
1116
- }, [isDragOverlay, isActive, selectedRowId, row, setSelectedRowId, handleItemClick, itemIndex, items, setFocusedRowId]);
1117
- var handleOnBlur = React.useCallback(function (e) {
1118
- var _e$relatedTarget;
1119
-
1120
- if (((_e$relatedTarget = e.relatedTarget) === null || _e$relatedTarget === void 0 ? void 0 : _e$relatedTarget.getAttribute('data-testid')) === 'data-table-row-content') {
1121
- setSelectedRowId(null);
1122
- }
1123
- }, [setSelectedRowId]);
1124
- var handleOnFocus = React.useCallback(function (e) {
1125
- if (e.target && e.target.getAttribute('data-testid') === configs_constants.DATA_TESTID.DATA_TABLE_ROW_CONTENT) {
1126
- setFocusedRowId(row.uid);
1127
- }
1128
- }, [row.uid, setFocusedRowId]);
1129
- return {
1130
- handleItemClick: handleItemClick,
1131
- handleKeyDown: handleKeyDown,
1132
- handleOnBlur: handleOnBlur,
1133
- handleOnFocus: handleOnFocus
1134
- };
1135
- };
1136
-
1137
- function ownKeys$8(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
1138
-
1139
- function _objectSpread$8(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$8(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$8(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
1140
- // CSS don't let us modify the spacing between the dots, so one solution is to use SVG
1141
- var magicDottedBorder = /*#__PURE__*/React__default['default'].createElement("svg", {
1142
- width: "100%",
1143
- height: "1px"
1144
- }, /*#__PURE__*/React__default['default'].createElement("line", {
1145
- x1: "0",
1146
- y1: "0",
1147
- x2: "100%",
1148
- y2: "0",
1149
- stroke: "#B0B9C8FF",
1150
- strokeWidth: "1.5",
1151
- strokeDasharray: "0, 5",
1152
- strokeDashoffset: "0",
1153
- strokeLinecap: "round"
1154
- }));
1155
-
1156
- var RowRenderer = function RowRenderer(props) {
1157
- var row = props.row,
1158
- itemIndex = props.itemIndex,
1159
- _props$minHeight = props.minHeight,
1160
- minHeight = _props$minHeight === void 0 ? '36px' : _props$minHeight,
1161
- _props$height = props.height,
1162
- height = _props$height === void 0 ? 'auto' : _props$height,
1163
- _props$rowsLayout = props.rowsLayout,
1164
- rowsLayout = _props$rowsLayout === void 0 ? [1] : _props$rowsLayout,
1165
- CustomRowContentRenderer = props.CustomRowContentRenderer,
1166
- focusedRowId = props.focusedRowId,
1167
- selectedRowId = props.selectedRowId,
1168
- isDragOverlay = props.isDragOverlay;
1169
- var ctx = React.useContext(DataTableContext['default']);
1170
-
1171
- var _useContext = React.useContext(parts_HoC_SortableItemContext.SortableItemContext),
1172
- draggableProps = _useContext.draggableProps;
1173
-
1174
- var flattenedData = ctx.flattenedData; // ===========================================================================
1175
- // Properties for the row
1176
- // ===========================================================================
1177
-
1178
- var _useRowRendererProper = exportedRelated_RowRenderer_useRowRendererProperties.useRowRendererProperties({
1179
- row: row
1180
- }),
1181
- userDataProperties = _useRowRendererProper.userDataProperties,
1182
- colsLayoutStyle = _useRowRendererProper.colsLayoutStyle,
1183
- totalColumnsWidth = _useRowRendererProper.totalColumnsWidth,
1184
- rowStyle = _useRowRendererProper.rowStyle,
1185
- shouldAppendDottedBorder = _useRowRendererProper.shouldAppendDottedBorder,
1186
- dropIndicatorPosition = _useRowRendererProper.dropIndicatorPosition; // ===========================================================================
1187
- // Handlers
1188
- // ===========================================================================
1189
-
1190
-
1191
- var _useRowRendererHandle = useRowRendererHandlers({
1192
- row: row,
1193
- itemIndex: itemIndex,
1194
- items: flattenedData,
1195
- draggableProps: draggableProps,
1196
- isDragOverlay: isDragOverlay,
1197
- selectedRowId: selectedRowId
1198
- }),
1199
- handleItemClick = _useRowRendererHandle.handleItemClick,
1200
- handleKeyDown = _useRowRendererHandle.handleKeyDown,
1201
- handleOnBlur = _useRowRendererHandle.handleOnBlur,
1202
- handleOnFocus = _useRowRendererHandle.handleOnFocus;
1203
-
1204
- var rowContentProps = _objectSpread$8(_objectSpread$8({}, props), {}, {
1205
- ctx: ctx,
1206
- focusedRowId: focusedRowId,
1207
- selectedRowId: selectedRowId,
1208
- draggableProps: draggableProps,
1209
- dropIndicatorPosition: dropIndicatorPosition
1210
- });
1211
-
1212
- return /*#__PURE__*/React__default['default'].createElement(StyledFullsizeGrid, _extends__default['default']({
1213
- "data-testid": configs_constants.DATA_TESTID.DATA_TABLE_ROW,
1214
- key: row.uid,
1215
- colsLayoutStyle: colsLayoutStyle
1216
- }, userDataProperties, {
1217
- totalColumnsWidth: totalColumnsWidth,
1218
- style: rowStyle,
1219
- onClick: handleItemClick,
1220
- onKeyDown: handleKeyDown,
1221
- onBlur: handleOnBlur,
1222
- onFocus: handleOnFocus,
1223
- "data-expandable": Boolean(row.original.tableRowDetails),
1224
- "data-is-row-expanded": row.isExpanded,
1225
- rows: rowsLayout,
1226
- minHeight: minHeight,
1227
- height: height
1228
- }), CustomRowContentRenderer ? /*#__PURE__*/React__default['default'].createElement(CustomRowContentRenderer, rowContentProps) : /*#__PURE__*/React__default['default'].createElement(DefaultRowContentRenderer, _extends__default['default']({}, rowContentProps, {
1229
- key: row.uid
1230
- })), shouldAppendDottedBorder && magicDottedBorder, /*#__PURE__*/React__default['default'].createElement(parts_DropIndicator, {
1231
- vertical: false,
1232
- dropIndicatorPosition: dropIndicatorPosition,
1233
- isLast: row.index === flattenedData.length - 1 && draggableProps && draggableProps.isDragging
1234
- }));
1235
- };
1236
-
1237
- /* eslint-disable react/prop-types */
1238
-
1239
- var RowContent = function RowContent(props) {
1240
- var row = props.row,
1241
- ctx = props.ctx,
1242
- groupedRowsRenderHeader = props.ctx.tableProps.groupedRowsRenderHeader,
1243
- _props$backgroundColo = props.backgroundColor,
1244
- backgroundColor = _props$backgroundColo === void 0 ? 'white' : _props$backgroundColo,
1245
- focusedRowId = props.focusedRowId,
1246
- selectedRowId = props.selectedRowId;
1247
- var rowRef = React.useRef(null);
1248
- var hasExpandCell = React.useMemo(function () {
1249
- return row.original.subRows && row.cells.find(function (cell) {
1250
- return cell.column.accessor === 'expandRowColumn';
1251
- });
1252
- }, [row]);
1253
- var titleContent = React.useMemo(function () {
1254
- if (typeof groupedRowsRenderHeader === 'function') {
1255
- return groupedRowsRenderHeader(row.original.dimsumHeaderValue, row.original.subRows);
1256
- }
1257
-
1258
- return row.original.dimsumHeaderValue;
1259
- }, [groupedRowsRenderHeader, row]);
1260
- React.useLayoutEffect(function () {
1261
- if (row.uid === focusedRowId) {
1262
- rowRef.current.focus();
1263
- }
1264
- }, [focusedRowId, row.uid]);
1265
- return /*#__PURE__*/React__default['default'].createElement(StyledCellContainer, {
1266
- ref: rowRef,
1267
- minHeight: "0px",
1268
- tabIndex: 0,
1269
- backgroundColor: backgroundColor,
1270
- "data-testid": configs_constants.DATA_TESTID.DATA_TABLE_ROW_HEADER_CONTENT
1271
- }, /*#__PURE__*/React__default['default'].createElement(GroupHeaderContainer, {
1272
- "data-testid": configs_constants.DATA_TESTID.DATA_TABLE_ROW_GROUP_HEADER,
1273
- cols: hasExpandCell ? ['min-content', 'auto'] : ['auto'],
1274
- padding: hasExpandCell ? '4px' : '16px'
1275
- }, hasExpandCell ? /*#__PURE__*/React__default['default'].createElement(expandRowColumn.Cell, {
1276
- row: row,
1277
- cell: row.cells[0],
1278
- isRowSelected: selectedRowId === row.uid,
1279
- ctx: ctx,
1280
- draggableProps: {}
1281
- }) : /*#__PURE__*/React__default['default'].createElement(Grid__default['default'], {
1282
- width: "16px"
1283
- }), /*#__PURE__*/React__default['default'].createElement(GroupHeaderTitle, null, titleContent)));
1284
- };
1285
-
1286
- var RowVariantHeader = function RowVariantHeader(_ref) {
1287
- var row = _ref.row,
1288
- itemIndex = _ref.itemIndex,
1289
- isDragOverlay = _ref.isDragOverlay,
1290
- focusedRowId = _ref.focusedRowId,
1291
- selectedRowId = _ref.selectedRowId;
1292
- return /*#__PURE__*/React__default['default'].createElement(RowRenderer, {
1293
- row: row,
1294
- itemIndex: itemIndex,
1295
- isDragOverlay: isDragOverlay,
1296
- minHeight: "0px",
1297
- height: "24px",
1298
- CustomRowContentRenderer: RowContent,
1299
- focusedRowId: focusedRowId,
1300
- selectedRowId: selectedRowId
1301
- });
1302
- };
1303
-
1304
- /* eslint-disable react/prop-types */
1305
- var RowVariantPrimary = function RowVariantPrimary(_ref) {
1306
- var row = _ref.row,
1307
- itemIndex = _ref.itemIndex,
1308
- isDragOverlay = _ref.isDragOverlay,
1309
- ctx = _ref.ctx,
1310
- focusedRowId = _ref.focusedRowId,
1311
- selectedRowId = _ref.selectedRowId,
1312
- compact = _ref.compact;
1313
- var gridLayout = ctx.layoutHelpers.gridLayout;
1314
- return /*#__PURE__*/React__default['default'].createElement(RowRenderer, {
1315
- row: row,
1316
- itemIndex: itemIndex,
1317
- isDragOverlay: isDragOverlay,
1318
- compact: compact,
1319
- height: compact ? '24px' : 'auto',
1320
- minHeight: compact ? '24px' : '36px',
1321
- colsLayout: row.isExpanded ? undefined : gridLayout,
1322
- rowsLayout: row.isExpanded ? ['auto', 'auto'] : [1],
1323
- focusedRowId: focusedRowId,
1324
- selectedRowId: selectedRowId
1325
- });
1326
- };
1327
-
1328
- /* eslint-disable react/prop-types */
1329
- var RowVariantSecondary = function RowVariantSecondary(_ref) {
1330
- var row = _ref.row,
1331
- itemIndex = _ref.itemIndex,
1332
- isDragOverlay = _ref.isDragOverlay,
1333
- ctx = _ref.ctx,
1334
- focusedRowId = _ref.focusedRowId,
1335
- selectedRowId = _ref.selectedRowId,
1336
- compact = _ref.compact;
1337
- var gridLayout = ctx.layoutHelpers.gridLayout;
1338
- return /*#__PURE__*/React__default['default'].createElement(RowRenderer, {
1339
- row: row,
1340
- itemIndex: itemIndex,
1341
- isDragOverlay: isDragOverlay,
1342
- compact: compact,
1343
- height: compact ? '24px' : 'auto',
1344
- minHeight: compact ? '24px' : '36px',
1345
- colsLayout: row.isExpanded ? undefined : gridLayout,
1346
- rowsLayout: row.isExpanded ? ['auto', 'auto'] : [1],
1347
- backgroundColor: "#F6F7F9",
1348
- focusedRowId: focusedRowId,
1349
- selectedRowId: selectedRowId
1350
- });
1351
- };
1352
-
1353
- var _RowVariantMapper;
1354
- var RowVariantMapper = (_RowVariantMapper = {}, _defineProperty__default['default'](_RowVariantMapper, exportedRelated_RowVariants.ROW_VARIANTS.HEADER_GROUP, RowVariantHeader), _defineProperty__default['default'](_RowVariantMapper, exportedRelated_RowVariants.ROW_VARIANTS.PRIMARY, RowVariantPrimary), _defineProperty__default['default'](_RowVariantMapper, exportedRelated_RowVariants.ROW_VARIANTS.SECONDARY, RowVariantSecondary), _defineProperty__default['default'](_RowVariantMapper, exportedRelated_RowVariants.ROW_VARIANTS.COMPACT_PRIMARY, function (props) {
1355
- return /*#__PURE__*/React__default['default'].createElement(RowVariantPrimary, _extends__default['default']({
1356
- compact: true
1357
- }, props));
1358
- }), _defineProperty__default['default'](_RowVariantMapper, exportedRelated_RowVariants.ROW_VARIANTS.COMPACT_SECONDARY, function (props) {
1359
- return /*#__PURE__*/React__default['default'].createElement(RowVariantSecondary, _extends__default['default']({
1360
- compact: true
1361
- }, props));
1362
- }), _RowVariantMapper);
1363
- var RowVariantMapItem = function RowVariantMapItem(props) {
1364
- var row = props.row,
1365
- getRowVariant = props.ctx.tableProps.getRowVariant;
1366
- var variant = getRowVariant(row, Cells);
1367
- var Component;
1368
-
1369
- if (typeof variant === 'string') {
1370
- if (!(variant in RowVariantMapper)) {
1371
- throw new Error("".concat(variant, " is not an out-of-the-box row variant"));
1372
- }
1373
-
1374
- Component = RowVariantMapper[variant];
1375
- } else {
1376
- Component = variant;
1377
- }
1378
-
1379
- return /*#__PURE__*/React__default['default'].createElement(Component, props);
1380
- };
1381
-
1382
- // - the virtual list ref (for react-virtual requirement)
1383
- // - (conditionally) draggableProps.setNodeRef for drag and drop of rows
1384
-
1385
- var setItemRefs = function setItemRefs(measureRef, draggableRef, ref) {
1386
- var refsToSet = [measureRef];
1387
- if (draggableRef) refsToSet.push(draggableRef);
1388
- helpers_refsHelpers.setMultipleRefs.apply(void 0, refsToSet)(ref);
1389
- };
1390
-
1391
- var Row = function Row(props) {
1392
- var row = props.row,
1393
- measureRef = props.measureRef,
1394
- itemWrapperStyle = props.itemWrapperStyle,
1395
- itemIndex = props.itemIndex,
1396
- isDragOverlay = props.isDragOverlay,
1397
- focusedRowId = props.focusedRowId,
1398
- selectedRowId = props.selectedRowId;
1399
- var ctx = React.useContext(DataTableContext['default']);
1400
-
1401
- var _useContext = React.useContext(parts_HoC_SortableItemContext.SortableItemContext),
1402
- draggableProps = _useContext.draggableProps;
1403
-
1404
- var draggableRef = draggableProps && draggableProps.setNodeRef;
1405
- return /*#__PURE__*/React__default['default'].createElement("div", {
1406
- style: !isDragOverlay ? itemWrapperStyle : {},
1407
- ref: function ref(_ref) {
1408
- return setItemRefs(measureRef, draggableRef, _ref);
1409
- }
1410
- }, /*#__PURE__*/React__default['default'].createElement(RowVariantMapItem, {
1411
- row: row,
1412
- itemIndex: itemIndex,
1413
- isDragOverlay: isDragOverlay,
1414
- ctx: ctx,
1415
- focusedRowId: focusedRowId,
1416
- selectedRowId: selectedRowId
1417
- }));
1418
- };
1419
-
1420
- Row.propTypes = {
1421
- row: PropTypes__default['default'].object.isRequired,
1422
- itemIndex: PropTypes__default['default'].number.isRequired,
1423
- measureRef: PropTypes__default['default'].func.isRequired,
1424
- itemWrapperStyle: PropTypes__default['default'].object,
1425
- isDragOverlay: PropTypes__default['default'].bool,
1426
- focusedRowId: PropTypes__default['default'].string,
1427
- selectedRowId: PropTypes__default['default'].string
1428
- };
1429
- Row.defaultProps = {
1430
- itemWrapperStyle: {}
1431
- };
1432
-
1433
- var mapStateToProps$3 = function mapStateToProps(state) {
1434
- return {
1435
- focusedRowId: state.rows.focusedRowId,
1436
- selectedRowId: state.rows.selectedRowId
1437
- };
1438
- };
1439
-
1440
- var Row$1 = parts_HoC_withDnDSortableRowContext.withDnDSortableRowContext(reactRedux.connect(mapStateToProps$3)(Row));
1441
-
1442
- /* eslint-disable no-underscore-dangle */
1443
-
1444
- var Rows = function Rows() {
1445
- var _useContext = React.useContext(DataTableContext['default']),
1446
- virtualItems = _useContext.virtualListHelpers.virtualItems,
1447
- totalColumnsWidth = _useContext.layoutHelpers.totalColumnsWidth,
1448
- flattenedData = _useContext.flattenedData,
1449
- visibleColumns = _useContext.visibleColumns;
1450
-
1451
- var _useContext2 = React.useContext(parts_HoC_withConditionalDnDRowContext.DnDTreeContext),
1452
- visibleItems = _useContext2.visibleItems;
1453
-
1454
- var items = visibleItems || flattenedData;
1455
- var PureVirtualizedRows = React.useMemo(function () {
1456
- return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, virtualItems.map(function (virtualItem) {
1457
- var index = virtualItem.index,
1458
- measureRef = virtualItem.measureRef,
1459
- start = virtualItem.start;
1460
- var row = items[index];
1461
- if (!row) return null;
1462
- helpers_addCellData.addCellData(row, visibleColumns);
1463
- var style = {
1464
- position: 'absolute',
1465
- top: "".concat(start, "px"),
1466
- left: 0,
1467
- width: totalColumnsWidth
1468
- };
1469
- var rowProps = {
1470
- key: "ds-table-row-".concat(row.uid),
1471
- row: row,
1472
- measureRef: measureRef,
1473
- index: index,
1474
- // this is consumed by the DnD HOC
1475
- itemIndex: index,
1476
- itemWrapperStyle: style
1477
- };
1478
- return /*#__PURE__*/React__default['default'].createElement(Row$1, rowProps);
1479
- }));
1480
- }, [virtualItems, items, visibleColumns, totalColumnsWidth]);
1481
- return PureVirtualizedRows;
1482
- };
1483
-
1484
- Rows.propTypes = {};
1485
- var Rows$1 = parts_HoC_withConditionalDnDRowContext.withConditionalDnDRowContext(Rows);
1486
-
1487
- var useHierarchyPreviewHandlers = function useHierarchyPreviewHandlers(_ref) {
1488
- var setOverId = _ref.setOverId,
1489
- setActiveId = _ref.setActiveId;
1490
- var resetState = React.useCallback(function () {
1491
- setOverId(null);
1492
- setActiveId(null);
1493
- document.body.style.setProperty('cursor', '');
1494
- var el = document.querySelector("[data-testid=\"".concat(configs_constants.DATA_TESTID.DATA_TABLE_SCROLLABLE_CONTAINER, "\"]"));
1495
-
1496
- el.onscroll = function () {
1497
- return null;
1498
- };
1499
- }, [setOverId, setActiveId]);
1500
- var handlePreviewDragStart = React.useCallback(function (_ref2) {
1501
- var id = _ref2.active.id;
1502
- setActiveId(id);
1503
- setOverId(id);
1504
- document.body.style.setProperty('cursor', 'grabbing');
1505
- var el = document.querySelector("[data-testid=\"".concat(configs_constants.DATA_TESTID.DATA_TABLE_SCROLLABLE_CONTAINER, "\"]"));
1506
- var y = el.scrollTop;
1507
-
1508
- el.onscroll = function () {
1509
- return el.scrollTo(0, y);
1510
- };
1511
- }, [setActiveId, setOverId]);
1512
- var handlePreviewDragMove = React.useCallback(function () {
1513
- return null;
1514
- }, []);
1515
- var handlePreviewDragOver = React.useCallback(function (_ref3) {
1516
- var _over$id;
1517
-
1518
- var over = _ref3.over;
1519
- setOverId((_over$id = over === null || over === void 0 ? void 0 : over.id) !== null && _over$id !== void 0 ? _over$id : null);
1520
- }, [setOverId]);
1521
- var handlePreviewDragEnd = React.useCallback(function () {
1522
- resetState();
1523
- }, [resetState]);
1524
- var handlePreviewDragCancel = React.useCallback(function () {
1525
- resetState();
1526
- }, [resetState]);
1527
- return {
1528
- handlePreviewDragStart: handlePreviewDragStart,
1529
- handlePreviewDragMove: handlePreviewDragMove,
1530
- handlePreviewDragOver: handlePreviewDragOver,
1531
- handlePreviewDragEnd: handlePreviewDragEnd,
1532
- handlePreviewDragCancel: handlePreviewDragCancel
1533
- };
1534
- };
1535
-
1536
- function ownKeys$7(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
1537
-
1538
- function _objectSpread$7(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$7(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$7(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
1539
- var directions = [core.KeyboardCode.Down, core.KeyboardCode.Right, core.KeyboardCode.Up, core.KeyboardCode.Left];
1540
- var vertical = [core.KeyboardCode.Up, core.KeyboardCode.Down];
1541
-
1542
- var getHorizontalKeyboardCoordinates = function getHorizontalKeyboardCoordinates(_ref) {
1543
- var _document$querySelect, _document$querySelect2;
1544
-
1545
- var items = _ref.items,
1546
- active = _ref.active,
1547
- over = _ref.over,
1548
- event = _ref.event,
1549
- currentCoordinates = _ref.currentCoordinates,
1550
- droppableContainers = _ref.droppableContainers,
1551
- translatedRect = _ref.translatedRect;
1552
- if (vertical.includes(event.code)) return undefined;
1553
- var activeItem = items.find(function (item) {
1554
- return item.id === active;
1555
- });
1556
- var overRect = over.rect;
1557
- var layoutRects = []; // Get the reacheable rects depending on the arrow key pressed
1558
-
1559
- Object.entries(droppableContainers).forEach(function (_ref2) {
1560
- var _ref3 = _slicedToArray__default['default'](_ref2, 2),
1561
- id = _ref3[0],
1562
- container = _ref3[1];
1563
-
1564
- if (container !== null && container !== void 0 && container.disabled || !overRect) {
1565
- return;
1566
- }
1567
-
1568
- var node = container === null || container === void 0 ? void 0 : container.node.current;
1569
-
1570
- if (!node) {
1571
- return;
1572
- }
1573
-
1574
- var itemParent = items.find(function (item) {
1575
- return item.id === id;
1576
- }).parentId;
1577
- if (itemParent !== activeItem.parentId) return;
1578
- var rect = core.getViewRect(node);
1579
-
1580
- if (event.code === core.KeyboardCode.Left && translatedRect.left > rect.right - 10) {
1581
- layoutRects.push([id, rect]);
1582
- } else if (event.code === core.KeyboardCode.Right && translatedRect.left < rect.left) {
1583
- layoutRects.push([id, rect]);
1584
- }
1585
- });
1586
- var dragOverlayRect = (_document$querySelect = (_document$querySelect2 = document.querySelector("[data-testid=\"".concat(configs_constants.DATA_TESTID.DATA_TABLE_COLUMN_DRAG_OVERLAY, "\"]"))) === null || _document$querySelect2 === void 0 ? void 0 : _document$querySelect2.getBoundingClientRect()) !== null && _document$querySelect !== void 0 ? _document$querySelect : {
1587
- width: 150,
1588
- left: 0
1589
- };
1590
- var closestId = core.closestCorners(layoutRects, translatedRect);
1591
- if (!closestId) return undefined;
1592
- var closestRect = core.getViewRect(droppableContainers[closestId].node.current);
1593
- var activeRect = core.getViewRect(droppableContainers[active].node.current);
1594
- return _objectSpread$7(_objectSpread$7({}, currentCoordinates), {}, {
1595
- x: closestRect.left + (closestRect.width - dragOverlayRect.width) / 2 + (closestRect.offsetLeft < activeRect.left ? -1 : 1)
1596
- });
1597
- };
1598
-
1599
- var getHierarchyKeyboardCoordinates = function getHierarchyKeyboardCoordinates(context, isHorizontalDnD) {
1600
- return function (event, _ref4) {
1601
- var active = _ref4.active,
1602
- currentCoordinates = _ref4.currentCoordinates,
1603
- _ref4$context = _ref4.context,
1604
- over = _ref4$context.over,
1605
- translatedRect = _ref4$context.translatedRect,
1606
- droppableContainers = _ref4$context.droppableContainers;
1607
-
1608
- if (directions.includes(event.code)) {
1609
- event.preventDefault();
1610
-
1611
- if (!translatedRect) {
1612
- return undefined;
1613
- }
1614
-
1615
- var items = context.current.items;
1616
- var args = {
1617
- items: items,
1618
- active: active,
1619
- over: over,
1620
- event: event,
1621
- currentCoordinates: currentCoordinates,
1622
- droppableContainers: droppableContainers,
1623
- translatedRect: translatedRect
1624
- };
1625
- if (isHorizontalDnD) return getHorizontalKeyboardCoordinates(args);
1626
- return undefined;
1627
- }
1628
-
1629
- return undefined;
1630
- };
1631
- };
1632
-
1633
- var customCollisionDetection = function customCollisionDetection(activeId, activeParent, dndItems) {
1634
- return function (entries, target) {
1635
- var _document$querySelect, _document$querySelect2;
1636
-
1637
- var entriesWithSameParent = entries.filter(function (_ref) {
1638
- var _dndItems$find;
1639
-
1640
- var _ref2 = _slicedToArray__default['default'](_ref, 1),
1641
- id = _ref2[0];
1642
-
1643
- return ((_dndItems$find = dndItems.find(function (item) {
1644
- return item.id === id;
1645
- })) === null || _dndItems$find === void 0 ? void 0 : _dndItems$find.parentId) === activeParent;
1646
- });
1647
- var dragOverlayRect = (_document$querySelect = (_document$querySelect2 = document.querySelector("[data-testid=\"".concat(configs_constants.DATA_TESTID.DATA_TABLE_COLUMN_DRAG_OVERLAY, "\"]"))) === null || _document$querySelect2 === void 0 ? void 0 : _document$querySelect2.getBoundingClientRect()) !== null && _document$querySelect !== void 0 ? _document$querySelect : {
1648
- width: 150
1649
- };
1650
- var originalRect = entriesWithSameParent.find(function (_ref3) {
1651
- var _ref4 = _slicedToArray__default['default'](_ref3, 1),
1652
- id = _ref4[0];
1653
-
1654
- return id === activeId;
1655
- });
1656
-
1657
- if (originalRect[1].offsetLeft <= target.offsetLeft && target.offsetLeft <= originalRect[1].offsetLeft + originalRect[1].width) {
1658
- return originalRect[0];
1659
- }
1660
-
1661
- var isLeft = target.offsetLeft <= originalRect[1].offsetLeft + dragOverlayRect.width / 2 + 5;
1662
- var match = null; // If going to the left, search the closest offset left
1663
- // Otherwise, get the closest offset right
1664
-
1665
- var collisionPoint = target.offsetLeft + dragOverlayRect.width / 2;
1666
- entriesWithSameParent.forEach(function (entry) {
1667
- var _entry = _slicedToArray__default['default'](entry, 2),
1668
- rect = _entry[1];
1669
-
1670
- var offsetRight = rect.offsetLeft + rect.width;
1671
- if (!match) match = entry;else if (isLeft && Math.abs(collisionPoint - rect.offsetLeft) <= Math.abs(collisionPoint - match[1].offsetLeft)) {
1672
- match = entry;
1673
- } else if (!isLeft && Math.abs(collisionPoint - offsetRight) <= Math.abs(collisionPoint - match[1].offsetLeft - match[1].width)) {
1674
- match = entry;
1675
- }
1676
- });
1677
- return match === null ? null : match[0];
1678
- };
1679
- };
1680
-
1681
- function ownKeys$6(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
1682
-
1683
- function _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$6(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
1684
- // if second parameter is true, the space will be done on the horizontal axis
1685
-
1686
- var adjustTranslate = function adjustTranslate(_ref) {
1687
- var transform = _ref.transform;
1688
- var isHorizontalDnD = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
1689
-
1690
- var newTransform = _objectSpread$6({}, transform);
1691
-
1692
- if (isHorizontalDnD) {
1693
- newTransform.y = transform.y + 15;
1694
- } else {
1695
- newTransform.y = transform.y - 35;
1696
- }
1697
-
1698
- return newTransform;
1699
- };
1700
-
1701
- var layoutMeasuring = {
1702
- strategy: core.LayoutMeasuringStrategy.Always
1703
- };
1704
-
1705
- var useHierarchyDndkitConfig = function useHierarchyDndkitConfig(_ref2) {
1706
- var flattenedItems = _ref2.flattenedItems,
1707
- _ref2$isHorizontalDnD = _ref2.isHorizontalDnD,
1708
- isHorizontalDnD = _ref2$isHorizontalDnD === void 0 ? false : _ref2$isHorizontalDnD,
1709
- onReorder = _ref2.onReorder;
1710
-
1711
- var _useState = React.useState(null),
1712
- _useState2 = _slicedToArray__default['default'](_useState, 2),
1713
- activeId = _useState2[0],
1714
- setActiveId = _useState2[1];
1715
-
1716
- var _useState3 = React.useState(null),
1717
- _useState4 = _slicedToArray__default['default'](_useState3, 2),
1718
- overId = _useState4[0],
1719
- setOverId = _useState4[1];
1720
-
1721
- var dndItems = React.useMemo(function () {
1722
- return flattenedItems.map(function (_ref3) {
1723
- var _ref4 = _slicedToArray__default['default'](_ref3, 1),
1724
- item = _ref4[0];
1725
-
1726
- return item;
1727
- });
1728
- }, [flattenedItems]);
1729
- var activeItem = React.useMemo(function () {
1730
- return dndItems.find(function (item) {
1731
- return item.id === activeId;
1732
- });
1733
- }, [activeId, dndItems]);
1734
- var itemsDictionary = React.useMemo(function () {
1735
- var dictionary = {};
1736
- dndItems.forEach(function (item) {
1737
- dictionary[item.id] = item;
1738
- });
1739
- return dictionary;
1740
- }, [dndItems]);
1741
- var modifiers = React.useMemo(function () {
1742
- return [function (options) {
1743
- return adjustTranslate(options, isHorizontalDnD);
1744
- }];
1745
- }, [isHorizontalDnD]);
1746
- var sensorContext = React.useRef({
1747
- items: dndItems
1748
- });
1749
- React.useEffect(function () {
1750
- sensorContext.current = {
1751
- items: dndItems
1752
- };
1753
- }, [dndItems]);
1754
- var coordinateGetter = React.useMemo(function () {
1755
- return getHierarchyKeyboardCoordinates(sensorContext, isHorizontalDnD);
1756
- }, [isHorizontalDnD]);
1757
- var sensors = core.useSensors(core.useSensor(core.PointerSensor), core.useSensor(core.KeyboardSensor, {
1758
- coordinateGetter: coordinateGetter
1759
- }));
1760
- var dragPreviewHandlers = useHierarchyPreviewHandlers({
1761
- setActiveId: setActiveId,
1762
- setOverId: setOverId
1763
- });
1764
- var dragActionHandlers = helpers_dndkit_hierarchy_useHierarchyActionHandlers.useHierarchyActionHandlers(_objectSpread$6(_objectSpread$6({}, dragPreviewHandlers), {}, {
1765
- dndItems: dndItems,
1766
- onReorder: onReorder
1767
- }));
1768
- var announcements = helpers_dndkit_hierarchy_useHierarchyAnnouncements.useHierarchyAnnouncements(itemsDictionary);
1769
- var dndContextProps = React.useMemo(function () {
1770
- return _objectSpread$6({
1771
- announcements: announcements,
1772
- modifiers: modifiers,
1773
- sensors: sensors,
1774
- layoutMeasuring: layoutMeasuring,
1775
- collisionDetection: customCollisionDetection(activeId, activeItem === null || activeItem === void 0 ? void 0 : activeItem.parentId, dndItems)
1776
- }, dragActionHandlers);
1777
- }, [announcements, modifiers, sensors, activeId, activeItem === null || activeItem === void 0 ? void 0 : activeItem.parentId, dndItems, dragActionHandlers]);
1778
- return {
1779
- dndContextProps: dndContextProps,
1780
- activeId: activeId,
1781
- overId: overId,
1782
- activeIndex: activeId ? activeItem.index : -1
1783
- };
1784
- };
1785
-
1786
- var DnDGroupContext = /*#__PURE__*/React.createContext({
1787
- activeIndex: undefined
1788
- });
1789
-
1790
- var flattenColumns = function flattenColumns(cols) {
1791
- var flattened = [];
1792
-
1793
- var flatten = function flatten(col, index) {
1794
- var parentId = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
1795
- var id = col.Header;
1796
- flattened.push([{
1797
- id: id,
1798
- parentId: parentId,
1799
- index: index
1800
- }, col]);
1801
- if (col.columns) col.columns.forEach(function (subColumn, childIndex) {
1802
- return flatten(subColumn, childIndex, id);
1803
- });
1804
- };
1805
-
1806
- cols.forEach(function (col, index) {
1807
- return flatten(col, index);
1808
- });
1809
- return flattened;
1810
- }; // only wraps in "DnDContext" and "DnDGroupContext" if any Drag and Drop functionality is requested
1811
-
1812
-
1813
- var withConditionalDnDColumnContext = function withConditionalDnDColumnContext(Component) {
1814
- return function (props) {
1815
- var _React$useContext = React__default['default'].useContext(DataTableContext['default']),
1816
- _React$useContext$tab = _React$useContext.tableProps,
1817
- dragAndDropColumns = _React$useContext$tab.dragAndDropColumns,
1818
- columns = _React$useContext$tab.columns,
1819
- onColumnsReorder = _React$useContext$tab.onColumnsReorder;
1820
-
1821
- var _React$useState = React__default['default'].useState(null),
1822
- _React$useState2 = _slicedToArray__default['default'](_React$useState, 2),
1823
- PureDraggedJSX = _React$useState2[0],
1824
- setPureDraggedJSX = _React$useState2[1]; // todo: check if this can be done via portal
1825
-
1826
-
1827
- var flattenedItems = React.useMemo(function () {
1828
- return flattenColumns(columns);
1829
- }, [columns]);
1830
- var onReorder = React.useCallback(function (movedItem, indexes) {
1831
- // Send from index to target index
1832
- var newFlattenedData = sortable.arrayMove(flattenedItems, indexes.fromIndex, indexes.targetIndex); // Pull the cols's data into an object
1833
-
1834
- var nodes = {};
1835
- newFlattenedData.forEach(function (_ref) {
1836
- var _ref2 = _slicedToArray__default['default'](_ref, 2),
1837
- dndData = _ref2[0],
1838
- colData = _ref2[1];
1839
-
1840
- delete colData.columns;
1841
- nodes[dndData.id] = colData;
1842
- });
1843
- var newData = [];
1844
- newFlattenedData.forEach(function (_ref3) {
1845
- var _ref4 = _slicedToArray__default['default'](_ref3, 2),
1846
- dndData = _ref4[0],
1847
- colData = _ref4[1];
1848
-
1849
- // If row has parent, insert it to it's subrows
1850
- // otherwise append it to the new user data
1851
- if (dndData.parentId) {
1852
- var parentNode = nodes[dndData.parentId];
1853
- if (parentNode.columns) parentNode.columns.push(colData);else parentNode.columns = [colData];
1854
- } else newData.push(colData);
1855
- });
1856
- onColumnsReorder(newData, indexes);
1857
- }, [flattenedItems, onColumnsReorder]);
1858
-
1859
- var _useHierarchyDndkitCo = useHierarchyDndkitConfig({
1860
- flattenedItems: flattenedItems,
1861
- isHorizontalDnD: true,
1862
- onReorder: onReorder
1863
- }),
1864
- dndContextProps = _useHierarchyDndkitCo.dndContextProps,
1865
- activeId = _useHierarchyDndkitCo.activeId,
1866
- activeIndex = _useHierarchyDndkitCo.activeIndex;
1867
-
1868
- if (dragAndDropColumns) return /*#__PURE__*/React__default['default'].createElement(core.DndContext, dndContextProps, /*#__PURE__*/React__default['default'].createElement(parts_HoC_DragOverlayContext.DragOverlayContext.Provider, {
1869
- value: {
1870
- setPureDraggedJSX: setPureDraggedJSX
1871
- }
1872
- }, /*#__PURE__*/React__default['default'].createElement(DnDGroupContext.Provider, {
1873
- value: {
1874
- activeIndex: activeIndex
1875
- }
1876
- }, /*#__PURE__*/React__default['default'].createElement(Component, props))), /*#__PURE__*/React__default['default'].createElement(core.DragOverlay, null, activeId ? PureDraggedJSX : null));
1877
- return /*#__PURE__*/React__default['default'].createElement(Component, props);
1878
- };
1879
- };
1880
-
1881
- var emptyFilterValue$1 = {
1882
- startDate: null,
1883
- endDate: null
1884
- };
1885
- var DateRangeFilter = function DateRangeFilter(props) {
1886
- var column = props.column,
1887
- id = props.column.id,
1888
- _props$filterValue = props.filterValue,
1889
- filterValue = _props$filterValue === void 0 ? emptyFilterValue$1 : _props$filterValue,
1890
- onValueChange = props.onValueChange,
1891
- patchHeaderFilterButtonAndMenu = props.patchHeaderFilterButtonAndMenu,
1892
- reduxHeader = props.reduxHeader,
1893
- innerRef = props.innerRef;
1894
- var dateRange = filterValue;
1895
-
1896
- var _useState = React.useState(dateRange.startDate || ''),
1897
- _useState2 = _slicedToArray__default['default'](_useState, 2),
1898
- startDate = _useState2[0],
1899
- setStartDate = _useState2[1];
1900
-
1901
- var _useState3 = React.useState(dateRange.endDate || ''),
1902
- _useState4 = _slicedToArray__default['default'](_useState3, 2),
1903
- endDate = _useState4[0],
1904
- setEndDate = _useState4[1];
1905
-
1906
- React.useEffect(function () {
1907
- setStartDate(dateRange.startDate || '');
1908
- setEndDate(dateRange.endDate || '');
1909
- }, [dateRange]);
1910
- React.useEffect(function () {
1911
- if (startDate && endDate && !startDate.includes('_') && !endDate.includes('_')) {
1912
- onValueChange(exportedRelated_FilterTypes.FILTER_TYPES.DATE_RANGE, {
1913
- startDate: startDate,
1914
- endDate: endDate
1915
- });
1916
- } // We are missing onValueChange on purpose, this is an internal function and won't cause any problems
1917
- // eslint-disable-next-line react-hooks/exhaustive-deps
1918
-
1919
- }, [startDate, endDate]);
1920
- return /*#__PURE__*/React__default['default'].createElement(FilterPopover, {
1921
- reduxHeader: reduxHeader,
1922
- column: column,
1923
- columnId: id,
1924
- menuContent: /*#__PURE__*/React__default['default'].createElement(Grid__default['default'], {
1925
- width: "260px",
1926
- "data-testid": configs_constants.DATA_TESTID.DATA_TABLE_DATE_RANGE_CONTROLLER
1927
- }, /*#__PURE__*/React__default['default'].createElement(Grid__default['default'], {
1928
- p: "xxs"
1929
- }, /*#__PURE__*/React__default['default'].createElement(dsControlledForm.DSControlledDateRangePicker, {
1930
- fromDate: startDate,
1931
- onFromDateChange: setStartDate,
1932
- toDate: endDate,
1933
- onToDateChange: setEndDate,
1934
- type: "date-range-inputs",
1935
- autoFocus: true
1936
- })), /*#__PURE__*/React__default['default'].createElement(Grid__default['default'], {
1937
- onKeyDown: function onKeyDown(e) {
1938
- return e.code === 'Enter' && setTimeout(function () {
1939
- return patchHeaderFilterButtonAndMenu(id, !!(dateRange.startDate || dateRange.endDate));
1940
- }, 0);
1941
- }
1942
- }, /*#__PURE__*/React__default['default'].createElement(dsControlledForm.DSControlledDateRangePicker, {
1943
- fromDate: startDate,
1944
- onFromDateChange: setStartDate,
1945
- toDate: endDate,
1946
- onToDateChange: setEndDate,
1947
- type: "date-range-picker-controller-only"
1948
- }))),
1949
- triggerIcon: /*#__PURE__*/React__default['default'].createElement(dsIcons.DatePicker2, null),
1950
- innerRef: innerRef,
1951
- ariaLabel: "Open Date Range Filter"
1952
- });
1953
- };
1954
-
1955
- var emptyFilterValue = {
1956
- startDate: null,
1957
- endDate: null
1958
- };
1959
- var DateSwitcherFilter = function DateSwitcherFilter(props) {
1960
- var column = props.column,
1961
- id = props.column.id,
1962
- _props$filterValue = props.filterValue,
1963
- filterValue = _props$filterValue === void 0 ? emptyFilterValue : _props$filterValue,
1964
- onValueChange = props.onValueChange,
1965
- patchHeaderFilterButtonAndMenu = props.patchHeaderFilterButtonAndMenu,
1966
- reduxHeader = props.reduxHeader,
1967
- innerRef = props.innerRef;
1968
- var dateRange = filterValue;
1969
-
1970
- var _useState = React.useState(dateRange.startDate || ''),
1971
- _useState2 = _slicedToArray__default['default'](_useState, 2),
1972
- startDate = _useState2[0],
1973
- setStartDate = _useState2[1];
1974
-
1975
- var _useState3 = React.useState(dateRange.endDate || ''),
1976
- _useState4 = _slicedToArray__default['default'](_useState3, 2),
1977
- endDate = _useState4[0],
1978
- setEndDate = _useState4[1];
1979
-
1980
- var _useState5 = React.useState(false),
1981
- _useState6 = _slicedToArray__default['default'](_useState5, 2),
1982
- isDateRange = _useState6[0],
1983
- setIsDateRange = _useState6[1];
1984
-
1985
- React.useEffect(function () {
1986
- setStartDate(dateRange.startDate || '');
1987
- setEndDate(dateRange.endDate || '');
1988
- }, [dateRange]);
1989
- React.useEffect(function () {
1990
- if (startDate && endDate && !startDate.includes('_') && !endDate.includes('_')) {
1991
- onValueChange(exportedRelated_FilterTypes.FILTER_TYPES.DATE_SWITCHER, {
1992
- startDate: startDate,
1993
- endDate: endDate,
1994
- isDateRange: isDateRange
1995
- });
1996
- } // We are missing onValueChange on purpose, this is an internal function and won't cause any problems
1997
- // eslint-disable-next-line react-hooks/exhaustive-deps
1998
-
1999
- }, [startDate, endDate, isDateRange]);
2000
- return /*#__PURE__*/React__default['default'].createElement(FilterPopover, {
2001
- reduxHeader: reduxHeader,
2002
- column: column,
2003
- columnId: id,
2004
- menuContent: /*#__PURE__*/React__default['default'].createElement(Grid__default['default'], {
2005
- width: "260px",
2006
- "data-testid": configs_constants.DATA_TESTID.DATA_TABLE_DATE_RANGE_CONTROLLER
2007
- }, /*#__PURE__*/React__default['default'].createElement(Grid__default['default'], {
2008
- p: "xxs",
2009
- gutter: "xxs"
2010
- }, /*#__PURE__*/React__default['default'].createElement(dsControlledForm.DSControlledCheckbox, {
2011
- checked: isDateRange,
2012
- name: "Date range",
2013
- label: "Date Range",
2014
- id: "date-range-switcher-id-internal",
2015
- onChange: function onChange() {
2016
- setIsDateRange(!isDateRange);
2017
- setStartDate('');
2018
- setEndDate('');
2019
- },
2020
- autoFocus: true
2021
- }), isDateRange ? /*#__PURE__*/React__default['default'].createElement(dsControlledForm.DSControlledDateRangePicker, {
2022
- fromDate: startDate,
2023
- onFromDateChange: setStartDate,
2024
- toDate: endDate,
2025
- onToDateChange: setEndDate,
2026
- type: "date-range-inputs"
2027
- }) : /*#__PURE__*/React__default['default'].createElement(dsControlledForm.DSControlledDateTimePicker, {
2028
- date: startDate,
2029
- onDateChange: function onDateChange(_date) {
2030
- setStartDate(_date);
2031
- setEndDate(_date);
2032
- },
2033
- type: "date-inputs"
2034
- })), /*#__PURE__*/React__default['default'].createElement(Grid__default['default'], {
2035
- onKeyDown: function onKeyDown(e) {
2036
- return e.code === 'Enter' && setTimeout(function () {
2037
- return patchHeaderFilterButtonAndMenu(id, !!(dateRange.startDate || dateRange.endDate));
2038
- }, 0);
2039
- }
2040
- }, isDateRange ? /*#__PURE__*/React__default['default'].createElement(dsControlledForm.DSControlledDateRangePicker, {
2041
- fromDate: startDate,
2042
- onFromDateChange: setStartDate,
2043
- toDate: endDate,
2044
- onToDateChange: setEndDate,
2045
- type: "date-range-picker-controller-only"
2046
- }) : /*#__PURE__*/React__default['default'].createElement(dsControlledForm.DSControlledDateTimePicker, {
2047
- date: startDate,
2048
- onDateChange: function onDateChange(_date) {
2049
- setStartDate(_date);
2050
- setEndDate(_date);
2051
- },
2052
- type: "date-picker-controller-only"
2053
- }))),
2054
- triggerIcon: /*#__PURE__*/React__default['default'].createElement(dsIcons.DatePicker2, null),
2055
- innerRef: innerRef,
2056
- ariaLabel: "Open Date Range Filter"
2057
- });
2058
- };
2059
-
2060
- function ownKeys$5(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
2061
-
2062
- function _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$5(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
2063
- var opts$1 = {
2064
- prefix: '',
2065
- suffix: '',
2066
- allowDecimal: false,
2067
- includeThousandsSeparator: false,
2068
- requireDecimal: false,
2069
- allowNegative: true
2070
- };
2071
- var NumberRangeFilter = function NumberRangeFilter(props) {
2072
- var _filterValue$from, _filterValue$to, _column$ref$current$o, _column$ref, _column$ref$current;
2073
-
2074
- var column = props.column,
2075
- _props$filterValue = props.filterValue,
2076
- filterValue = _props$filterValue === void 0 ? {
2077
- from: null,
2078
- to: null
2079
- } : _props$filterValue,
2080
- reduxHeader = props.reduxHeader,
2081
- onValueChange = props.onValueChange,
2082
- innerRef = props.innerRef;
2083
-
2084
- var handleFromChange = function handleFromChange(e) {
2085
- var from = e.target.value !== '' ? parseInt(e.target.value, 10) : '';
2086
-
2087
- var nextValue = _objectSpread$5(_objectSpread$5({}, filterValue), {}, {
2088
- from: from
2089
- });
2090
-
2091
- onValueChange(exportedRelated_FilterTypes.FILTER_TYPES.CURRENCY_RANGE, nextValue);
2092
- };
2093
-
2094
- var handleToChange = function handleToChange(e) {
2095
- var to = e.target.value !== '' ? parseInt(e.target.value, 10) : '';
2096
-
2097
- var nextValue = _objectSpread$5(_objectSpread$5({}, filterValue), {}, {
2098
- to: to
2099
- });
2100
-
2101
- onValueChange(exportedRelated_FilterTypes.FILTER_TYPES.CURRENCY_RANGE, nextValue);
2102
- };
2103
-
2104
- var idPreffix = 'datatable-number-range';
2105
- return /*#__PURE__*/React__default['default'].createElement(FilterPopover, {
2106
- reduxHeader: reduxHeader,
2107
- column: column,
2108
- columnId: column.id,
2109
- menuContent: /*#__PURE__*/React__default['default'].createElement(Grid__default['default'], {
2110
- "data-testid": configs_constants.DATA_TESTID.DATA_TABLE_CURRENCY_RANGE_CONTROLLER,
2111
- gutter: "xxxs",
2112
- padding: "xxs",
2113
- cols: ['auto', 'auto']
2114
- }, /*#__PURE__*/React__default['default'].createElement(dsFormLayoutBlocks.DSFormLayoutBlockItem, {
2115
- label: "Low",
2116
- inputID: "".concat(idPreffix, "-low-").concat(column.id)
2117
- }, /*#__PURE__*/React__default['default'].createElement(dsForm.DSInputMask, {
2118
- containerProps: {
2119
- style: {
2120
- textAlign: 'right'
2121
- }
2122
- },
2123
- id: "".concat(idPreffix, "-low-").concat(column.id),
2124
- value: "".concat((_filterValue$from = filterValue === null || filterValue === void 0 ? void 0 : filterValue.from) !== null && _filterValue$from !== void 0 ? _filterValue$from : ''),
2125
- onChange: handleFromChange,
2126
- placeholder: "0",
2127
- mask: function mask(number) {
2128
- return dsForm.MASK_TYPES.NUMBER(opts$1)(number);
2129
- },
2130
- autoFocus: true
2131
- })), /*#__PURE__*/React__default['default'].createElement(dsFormLayoutBlocks.DSFormLayoutBlockItem, {
2132
- label: "High",
2133
- inputID: "".concat(idPreffix, "-high-").concat(column.id)
2134
- }, /*#__PURE__*/React__default['default'].createElement(dsForm.DSInputMask, {
2135
- containerProps: {
2136
- style: {
2137
- textAlign: 'right'
2138
- }
2139
- },
2140
- id: "".concat(idPreffix, "-high-").concat(column.id),
2141
- value: "".concat((_filterValue$to = filterValue === null || filterValue === void 0 ? void 0 : filterValue.to) !== null && _filterValue$to !== void 0 ? _filterValue$to : ''),
2142
- onChange: handleToChange,
2143
- placeholder: "0",
2144
- mask: function mask(number) {
2145
- return dsForm.MASK_TYPES.NUMBER(opts$1)(number);
2146
- }
2147
- }))),
2148
- triggerIcon: /*#__PURE__*/React__default['default'].createElement(dsIcons.SearchXsmall, null),
2149
- customStyles: {
2150
- width: (_column$ref$current$o = (_column$ref = column.ref) === null || _column$ref === void 0 ? void 0 : (_column$ref$current = _column$ref.current) === null || _column$ref$current === void 0 ? void 0 : _column$ref$current.offsetWidth) !== null && _column$ref$current$o !== void 0 ? _column$ref$current$o : '0px'
2151
- },
2152
- innerRef: innerRef,
2153
- ariaLabel: "Open Number Range Filter"
2154
- });
2155
- };
2156
-
2157
- function ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
2158
-
2159
- function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$4(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
2160
- var opts = {
2161
- prefix: '',
2162
- suffix: '',
2163
- allowDecimal: true,
2164
- decimalLimit: 2,
2165
- includeThousandsSeparator: false,
2166
- requireDecimal: true,
2167
- allowNegative: true
2168
- };
2169
- var CurrencyRangeFilter = function CurrencyRangeFilter(props) {
2170
- var _filterValue$from, _filterValue$to, _column$ref$current$o, _column$ref, _column$ref$current;
2171
-
2172
- var column = props.column,
2173
- _props$filterValue = props.filterValue,
2174
- filterValue = _props$filterValue === void 0 ? {
2175
- from: null,
2176
- to: null
2177
- } : _props$filterValue,
2178
- reduxHeader = props.reduxHeader,
2179
- onValueChange = props.onValueChange,
2180
- innerRef = props.innerRef;
2181
-
2182
- var handleFromChange = function handleFromChange(e) {
2183
- var nextValue = _objectSpread$4(_objectSpread$4({}, filterValue), {}, {
2184
- from: e.target.value
2185
- });
2186
-
2187
- onValueChange(exportedRelated_FilterTypes.FILTER_TYPES.CURRENCY_RANGE, nextValue);
2188
- };
2189
-
2190
- var handleToChange = function handleToChange(e) {
2191
- var nextValue = _objectSpread$4(_objectSpread$4({}, filterValue), {}, {
2192
- to: e.target.value
2193
- });
2194
-
2195
- onValueChange(exportedRelated_FilterTypes.FILTER_TYPES.CURRENCY_RANGE, nextValue);
2196
- };
2197
-
2198
- var idPreffix = 'datatable-currency-range';
2199
- return /*#__PURE__*/React__default['default'].createElement(FilterPopover, {
2200
- reduxHeader: reduxHeader,
2201
- column: column,
2202
- columnId: column.id,
2203
- menuContent: /*#__PURE__*/React__default['default'].createElement(Grid__default['default'], {
2204
- "data-testid": configs_constants.DATA_TESTID.DATA_TABLE_CURRENCY_RANGE_CONTROLLER,
2205
- gutter: "xxxs",
2206
- padding: "xxs",
2207
- cols: ['auto', 'auto']
2208
- }, /*#__PURE__*/React__default['default'].createElement(dsFormLayoutBlocks.DSFormLayoutBlockItem, {
2209
- label: "Min",
2210
- inputID: "".concat(idPreffix, "-min-").concat(column.id)
2211
- }, /*#__PURE__*/React__default['default'].createElement(dsForm.DSInputMask, {
2212
- containerProps: {
2213
- style: {
2214
- textAlign: 'right'
2215
- }
2216
- },
2217
- id: "".concat(idPreffix, "-min-").concat(column.id),
2218
- value: "".concat((_filterValue$from = filterValue === null || filterValue === void 0 ? void 0 : filterValue.from) !== null && _filterValue$from !== void 0 ? _filterValue$from : ''),
2219
- onChange: handleFromChange,
2220
- placeholder: "0.00",
2221
- mask: function mask(number) {
2222
- return dsForm.MASK_TYPES.NUMBER(opts)(number);
2223
- },
2224
- autoFocus: true
2225
- })), /*#__PURE__*/React__default['default'].createElement(dsFormLayoutBlocks.DSFormLayoutBlockItem, {
2226
- label: "Max",
2227
- inputID: "".concat(idPreffix, "-max-").concat(column.id)
2228
- }, /*#__PURE__*/React__default['default'].createElement(dsForm.DSInputMask, {
2229
- containerProps: {
2230
- style: {
2231
- textAlign: 'right'
2232
- }
2233
- },
2234
- id: "".concat(idPreffix, "-max-").concat(column.id),
2235
- value: "".concat((_filterValue$to = filterValue === null || filterValue === void 0 ? void 0 : filterValue.to) !== null && _filterValue$to !== void 0 ? _filterValue$to : ''),
2236
- onChange: handleToChange,
2237
- placeholder: "0.00",
2238
- mask: function mask(number) {
2239
- return dsForm.MASK_TYPES.NUMBER(opts)(number);
2240
- }
2241
- }))),
2242
- triggerIcon: /*#__PURE__*/React__default['default'].createElement(dsIcons.SearchXsmall, null),
2243
- customStyles: {
2244
- width: (_column$ref$current$o = (_column$ref = column.ref) === null || _column$ref === void 0 ? void 0 : (_column$ref$current = _column$ref.current) === null || _column$ref$current === void 0 ? void 0 : _column$ref$current.offsetWidth) !== null && _column$ref$current$o !== void 0 ? _column$ref$current$o : '0px'
2245
- },
2246
- innerRef: innerRef,
2247
- ariaLabel: "Open Currency Range Filter"
2248
- });
2249
- };
2250
-
2251
- var BaseSelectFilter = function BaseSelectFilter(props) {
2252
- var _column$ref$current$o, _column$ref, _column$ref$current;
2253
-
2254
- var _props$isMulti = props.isMulti,
2255
- isMulti = _props$isMulti === void 0 ? false : _props$isMulti,
2256
- selectedItems = props.selectedItems,
2257
- column = props.column,
2258
- type = props.type,
2259
- _props$column = props.column,
2260
- id = _props$column.id,
2261
- userFilterOptions = _props$column.filterOptions,
2262
- data = props.ctx.tableProps.data,
2263
- reduxHeader = props.reduxHeader,
2264
- innerRef = props.innerRef,
2265
- onValueChange = props.onValueChange;
2266
- var filterOptions = React.useMemo(function () {
2267
- // If the user didn't provide options, use the available ones
2268
- if (!userFilterOptions) {
2269
- var automaticFilters = _toConsumableArray__default['default'](new Set(data.map(function (datum) {
2270
- return datum[id].toString();
2271
- }))).map(function (item) {
2272
- return {
2273
- type: 'option',
2274
- dsId: item,
2275
- value: item,
2276
- label: item
2277
- };
2278
- });
2279
-
2280
- return automaticFilters;
2281
- } // If user provided the array itself, use it
2282
-
2283
-
2284
- if (Array.isArray(userFilterOptions)) return userFilterOptions; // Otherwise, it is a function
2285
-
2286
- return userFilterOptions();
2287
- }, [data, id, userFilterOptions]);
2288
-
2289
- var handleOnChange = function handleOnChange(value) {
2290
- if (isMulti) {
2291
- var multiSelectedItem = selectedItems;
2292
- var isFound = multiSelectedItem.find(function (item) {
2293
- return item.dsId === value.dsId;
2294
- });
2295
-
2296
- if (isFound) {
2297
- onValueChange(type, multiSelectedItem.filter(function (item) {
2298
- return item.dsId !== value.dsId;
2299
- }));
2300
- } else {
2301
- onValueChange(type, [].concat(_toConsumableArray__default['default'](multiSelectedItem), [value]));
2302
- }
2303
- } else {
2304
- var singleSelectedItem = selectedItems;
2305
- onValueChange(type, (singleSelectedItem === null || singleSelectedItem === void 0 ? void 0 : singleSelectedItem.dsId) !== value.dsId ? value : null);
2306
- }
2307
- };
2308
-
2309
- var _useState = React.useState(filterOptions),
2310
- _useState2 = _slicedToArray__default['default'](_useState, 2),
2311
- filters = _useState2[0],
2312
- setFilteredOptions = _useState2[1];
2313
-
2314
- React.useEffect(function () {
2315
- setFilteredOptions(filterOptions);
2316
- }, [filterOptions]);
2317
- var filteredOptions = React.useCallback(function (filter) {
2318
- return filterOptions.filter(function (option) {
2319
- return option.type === 'separator' || option.label.toLowerCase().includes(filter.toLowerCase());
2320
- });
2321
- }, [filterOptions]);
2322
- var handleOnFilter = React.useCallback(function (newFilter) {
2323
- setFilteredOptions(filteredOptions(newFilter));
2324
- }, [filteredOptions]);
2325
- var Select = /*#__PURE__*/React__default['default'].createElement(_.Grid, {
2326
- "data-testid": isMulti ? configs_constants.DATA_TESTID.DATA_TABLE_MULTISELECT_CONTROLLER : configs_constants.DATA_TESTID.DATA_TABLE_SINGLESELECT_CONTROLLER,
2327
- style: {
2328
- background: '#fff',
2329
- position: 'relative'
2330
- }
2331
- }, /*#__PURE__*/React__default['default'].createElement(ComboBox.DSComboBox, {
2332
- inline: true,
2333
- autoFocus: true,
2334
- options: filters,
2335
- onChange: handleOnChange,
2336
- selectedValues: selectedItems,
2337
- onFilter: handleOnFilter
2338
- }));
2339
-
2340
- var handleOnClickOutside = function handleOnClickOutside() {
2341
- setFilteredOptions(filteredOptions(''));
2342
- };
2343
-
2344
- return /*#__PURE__*/React__default['default'].createElement(FilterPopover, {
2345
- reduxHeader: reduxHeader,
2346
- column: column,
2347
- columnId: column.id,
2348
- menuContent: Select,
2349
- triggerIcon: /*#__PURE__*/React__default['default'].createElement(dsIcons.SearchXsmall, null),
2350
- innerRef: innerRef,
2351
- ariaLabel: "Open Selection Filter",
2352
- onClickOutsideMenu: handleOnClickOutside,
2353
- customStyles: {
2354
- width: (_column$ref$current$o = (_column$ref = column.ref) === null || _column$ref === void 0 ? void 0 : (_column$ref$current = _column$ref.current) === null || _column$ref$current === void 0 ? void 0 : _column$ref$current.offsetWidth) !== null && _column$ref$current$o !== void 0 ? _column$ref$current$o : '0px',
2355
- maxHeight: '300px'
2356
- }
2357
- });
2358
- };
2359
-
2360
- /* eslint-disable react/prop-types */
2361
- var SingleSelectFilter = function SingleSelectFilter(_ref) {
2362
- var column = _ref.column,
2363
- ctx = _ref.ctx,
2364
- patchHeaderFilterButtonAndMenu = _ref.patchHeaderFilterButtonAndMenu,
2365
- patchHeader = _ref.patchHeader,
2366
- onValueChange = _ref.onValueChange,
2367
- filterValue = _ref.filterValue,
2368
- reduxHeader = _ref.reduxHeader,
2369
- innerRef = _ref.innerRef;
2370
- return /*#__PURE__*/React__default['default'].createElement(BaseSelectFilter, {
2371
- reduxHeader: reduxHeader,
2372
- "data-testid": configs_constants.DATA_TESTID.DATA_TABLE_SINGLESELECT_CONTROLLER,
2373
- isSingle: true,
2374
- column: column,
2375
- ctx: ctx,
2376
- selectedItems: filterValue,
2377
- type: exportedRelated_FilterTypes.FILTER_TYPES.SELECT,
2378
- onValueChange: onValueChange,
2379
- patchHeaderFilterButtonAndMenu: patchHeaderFilterButtonAndMenu,
2380
- patchHeader: patchHeader,
2381
- innerRef: innerRef
2382
- });
2383
- };
2384
-
2385
- /* eslint-disable react/prop-types */
2386
- var MultiSelectFilter = function MultiSelectFilter(_ref) {
2387
- var column = _ref.column,
2388
- ctx = _ref.ctx,
2389
- onValueChange = _ref.onValueChange,
2390
- patchHeaderFilterButtonAndMenu = _ref.patchHeaderFilterButtonAndMenu,
2391
- patchHeader = _ref.patchHeader,
2392
- reduxHeader = _ref.reduxHeader,
2393
- filterValue = _ref.filterValue,
2394
- innerRef = _ref.innerRef;
2395
- return /*#__PURE__*/React__default['default'].createElement(BaseSelectFilter, {
2396
- reduxHeader: reduxHeader,
2397
- "data-testid": configs_constants.DATA_TESTID.DATA_TABLE_MULTISELECT_CONTROLLER,
2398
- isMulti: true,
2399
- column: column,
2400
- ctx: ctx,
2401
- selectedItems: filterValue !== null && filterValue !== void 0 ? filterValue : [],
2402
- type: exportedRelated_FilterTypes.FILTER_TYPES.MULTI_SELECT,
2403
- onValueChange: onValueChange,
2404
- patchHeaderFilterButtonAndMenu: patchHeaderFilterButtonAndMenu,
2405
- patchHeader: patchHeader,
2406
- innerRef: innerRef
2407
- });
2408
- };
2409
-
2410
- var SingleDateFilter = function SingleDateFilter(props) {
2411
- var column = props.column,
2412
- id = props.column.id,
2413
- filterValue = props.filterValue,
2414
- reduxHeader = props.reduxHeader,
2415
- onValueChange = props.onValueChange,
2416
- patchHeaderFilterButtonAndMenu = props.patchHeaderFilterButtonAndMenu,
2417
- innerRef = props.innerRef;
2418
-
2419
- var _useState = React.useState(filterValue || ''),
2420
- _useState2 = _slicedToArray__default['default'](_useState, 2),
2421
- date = _useState2[0],
2422
- setDate = _useState2[1];
2423
-
2424
- React.useEffect(function () {
2425
- setDate(filterValue || '');
2426
- }, [filterValue]);
2427
- React.useEffect(function () {
2428
- if (!date.includes('_')) onValueChange(exportedRelated_FilterTypes.FILTER_TYPES.SINGLE_DATE, date || undefined); // We are missing onValueChange on purpose, this is an internal function and won't cause any problems
2429
- // eslint-disable-next-line react-hooks/exhaustive-deps
2430
- }, [date]);
2431
- var commitDateChange = React.useCallback(function () {
2432
- patchHeaderFilterButtonAndMenu(id, true);
2433
- }, [id, patchHeaderFilterButtonAndMenu]);
2434
- return /*#__PURE__*/React__default['default'].createElement(FilterPopover, {
2435
- reduxHeader: reduxHeader,
2436
- column: column,
2437
- columnId: column.id,
2438
- menuContent: /*#__PURE__*/React__default['default'].createElement(Grid__default['default'], {
2439
- "data-testid": configs_constants.DATA_TESTID.DATA_TABLE_SINGLE_DATE_CONTROLLER,
2440
- width: "260px"
2441
- }, /*#__PURE__*/React__default['default'].createElement(Grid__default['default'], {
2442
- p: "xxs"
2443
- }, /*#__PURE__*/React__default['default'].createElement(dsControlledForm.DSControlledDateTimePicker, {
2444
- date: date,
2445
- onDateChange: setDate,
2446
- type: "date-inputs",
2447
- isClearable: true,
2448
- autoFocus: true
2449
- })), /*#__PURE__*/React__default['default'].createElement(Grid__default['default'], {
2450
- onKeyDown: function onKeyDown(e) {
2451
- return e.code === 'Enter' && setTimeout(commitDateChange, 0);
2452
- }
2453
- }, /*#__PURE__*/React__default['default'].createElement(dsControlledForm.DSControlledDateTimePicker, {
2454
- date: date,
2455
- onDateChange: setDate,
2456
- type: "date-picker-controller-only"
2457
- }))),
2458
- triggerIcon: /*#__PURE__*/React__default['default'].createElement(dsIcons.DatePicker2, null),
2459
- innerRef: innerRef,
2460
- ariaLabel: "Open Single Date Filter"
2461
- });
2462
- };
2463
-
2464
- /* eslint-disable react/prop-types */
2465
- var TextInputFilter = function TextInputFilter(props) {
2466
- var column = props.column,
2467
- _props$filterValue = props.filterValue,
2468
- filterValue = _props$filterValue === void 0 ? '' : _props$filterValue,
2469
- reduxHeader = props.reduxHeader,
2470
- onValueChange = props.onValueChange,
2471
- data = props.ctx.tableProps.data,
2472
- innerRef = props.innerRef;
2473
- var count = data.length;
2474
-
2475
- var handleChange = function handleChange(event) {
2476
- var _event$target;
2477
-
2478
- var newText = (event === null || event === void 0 ? void 0 : (_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target.value) || '';
2479
- onValueChange(exportedRelated_FilterTypes.FILTER_TYPES.TEXT, newText);
2480
- };
2481
-
2482
- return /*#__PURE__*/React__default['default'].createElement(FilterPopover, {
2483
- reduxHeader: reduxHeader,
2484
- column: column,
2485
- columnId: column.id,
2486
- menuContent:
2487
- /*#__PURE__*/
2488
- // eslint-disable-next-line jsx-a11y/no-autofocus
2489
- React__default['default'].createElement("input", {
2490
- value: filterValue,
2491
- onChange: handleChange,
2492
- placeholder: "Search ".concat(count, " records..."),
2493
- autoFocus: true
2494
- }),
2495
- triggerIcon: /*#__PURE__*/React__default['default'].createElement(dsIcons.SearchXsmall, null),
2496
- removeWrapperStyles: true,
2497
- innerRef: innerRef,
2498
- ariaLabel: "Open Text Input Filter",
2499
- "data-testid": "filter-popover"
2500
- });
2501
- };
2502
-
2503
- var _FilterMapper;
2504
-
2505
- function ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
2506
-
2507
- function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$3(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
2508
- var FilterMapper = (_FilterMapper = {}, _defineProperty__default['default'](_FilterMapper, exportedRelated_FilterTypes.FILTER_TYPES.SELECT, SingleSelectFilter), _defineProperty__default['default'](_FilterMapper, exportedRelated_FilterTypes.FILTER_TYPES.MULTI_SELECT, MultiSelectFilter), _defineProperty__default['default'](_FilterMapper, exportedRelated_FilterTypes.FILTER_TYPES.TEXT, TextInputFilter), _defineProperty__default['default'](_FilterMapper, exportedRelated_FilterTypes.FILTER_TYPES.SINGLE_DATE, SingleDateFilter), _defineProperty__default['default'](_FilterMapper, exportedRelated_FilterTypes.FILTER_TYPES.DATE_RANGE, DateRangeFilter), _defineProperty__default['default'](_FilterMapper, exportedRelated_FilterTypes.FILTER_TYPES.DATE_SWITCHER, DateSwitcherFilter), _defineProperty__default['default'](_FilterMapper, exportedRelated_FilterTypes.FILTER_TYPES.NUMBER_RANGE, NumberRangeFilter), _defineProperty__default['default'](_FilterMapper, exportedRelated_FilterTypes.FILTER_TYPES.CURRENCY_RANGE, CurrencyRangeFilter), _FilterMapper);
2509
- var FilterMapItem = function FilterMapItem(props) {
2510
- var column = props.column,
2511
- filters = props.filterValue,
2512
- onFiltersChange = props.onFiltersChange;
2513
-
2514
- var _useDispatchHeadersAc = redux_reducers_headersReducers_useDispatchHeadersActions.useDispatchHeadersActions(),
2515
- patchHeaderFilterButtonAndMenu = _useDispatchHeadersAc.patchHeaderFilterButtonAndMenu,
2516
- patchHeader = _useDispatchHeadersAc.patchHeader;
2517
-
2518
- var filterValue = filters.find(function (filter) {
2519
- return filter.id === column.id;
2520
- });
2521
- var onValueChange = React.useCallback(function (type, newValue) {
2522
- var filterIndex = filters.findIndex(function (filter) {
2523
- return filter.id === column.id;
2524
- });
2525
-
2526
- if (newValue === undefined) {
2527
- var newFilters = filters.filter(function (filter) {
2528
- return filter.id !== column.id;
2529
- });
2530
- onFiltersChange(newFilters);
2531
- } else if (filterIndex === -1) {
2532
- onFiltersChange([].concat(_toConsumableArray__default['default'](filters), [{
2533
- id: column.id,
2534
- type: type,
2535
- value: newValue
2536
- }]));
2537
- } else {
2538
- var _newFilters = _toConsumableArray__default['default'](filters);
2539
-
2540
- _newFilters[filterIndex].type = type;
2541
- _newFilters[filterIndex].value = newValue;
2542
- onFiltersChange(_newFilters);
2543
- }
2544
- }, [column.id, filters, onFiltersChange]);
2545
-
2546
- var filterProps = _objectSpread$3(_objectSpread$3({}, props), {}, {
2547
- filterValue: filterValue === null || filterValue === void 0 ? void 0 : filterValue.value,
2548
- onValueChange: onValueChange,
2549
- patchHeader: patchHeader,
2550
- patchHeaderFilterButtonAndMenu: patchHeaderFilterButtonAndMenu
2551
- });
2552
-
2553
- if (typeof column.filter === 'string') {
2554
- if (!(column.filter in FilterMapper)) {
2555
- throw new Error("column.filter must be a supported out-of-the-box filter in ".concat(column));
2556
- }
2557
-
2558
- var FilterComp = FilterMapper[column.filter];
2559
- return /*#__PURE__*/React__default['default'].createElement(FilterComp, filterProps);
2560
- }
2561
-
2562
- if (column.Filter) {
2563
- if (typeof column.Filter !== 'function') {
2564
- throw new Error("column.Filter must be a component");
2565
- }
2566
-
2567
- var _FilterComp = column.Filter;
2568
- return /*#__PURE__*/React__default['default'].createElement(_FilterComp, filterProps);
2569
- } // Column doesn't have any filters
2570
-
2571
-
2572
- return null;
2573
- };
2574
-
2575
- function ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
2576
-
2577
- function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$2(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
2578
-
2579
- var narrow = function narrow(value, min, max) {
2580
- return Math.min(Math.max(value, min !== null && min !== void 0 ? min : 30), max !== null && max !== void 0 ? max : Infinity);
2581
- };
2582
-
2583
- var HeaderResizer = function HeaderResizer(_ref) {
2584
- var _column$width;
2585
-
2586
- var column = _ref.column;
2587
-
2588
- var _useContext = React.useContext(DataTableContext['default']),
2589
- setGridLayout = _useContext.layoutHelpers.setGridLayout,
2590
- visibleColumns = _useContext.visibleColumns,
2591
- onColumnResize = _useContext.tableProps.onColumnResize;
2592
-
2593
- var _useState = React.useState(false),
2594
- _useState2 = _slicedToArray__default['default'](_useState, 2),
2595
- isResizing = _useState2[0],
2596
- setIsResizing = _useState2[1];
2597
-
2598
- var _useState3 = React.useState((_column$width = column.width) !== null && _column$width !== void 0 ? _column$width : 150),
2599
- _useState4 = _slicedToArray__default['default'](_useState3, 2),
2600
- nextWidth = _useState4[0],
2601
- setNextWidth = _useState4[1];
2602
-
2603
- var visibleColumnsCopy = React.useMemo(function () {
2604
- return visibleColumns.map(function (col) {
2605
- return _objectSpread$2({}, col);
2606
- });
2607
- }, [visibleColumns]);
2608
- React.useEffect(function () {
2609
- var realColumnIndex = visibleColumnsCopy.findIndex(function (visibleColumn) {
2610
- return visibleColumn.id === column.id;
2611
- });
2612
- visibleColumnsCopy[realColumnIndex].width = nextWidth;
2613
- setGridLayout(helpers_columnsToGrid.columnsToGrid(visibleColumnsCopy, configs_constants.ColsLayoutStyle.Fixed));
2614
- }, [column.id, nextWidth, setGridLayout, visibleColumnsCopy]);
2615
- var ref = React.useRef(null);
2616
- var onResizeStart = React.useCallback(function () {
2617
- setIsResizing(true);
2618
- }, []);
2619
- var onResizeHandler = React.useCallback(function (e) {
2620
- var delta = e.clientX - ref.current.getBoundingClientRect().x; // delta in pixels
2621
-
2622
- var realColumnIndex = visibleColumnsCopy.findIndex(function (visibleColumn) {
2623
- return visibleColumn.id === column.id;
2624
- });
2625
- var widthWithDelta = narrow(nextWidth + delta, visibleColumnsCopy[realColumnIndex].minWidth, visibleColumnsCopy[realColumnIndex].maxWidth);
2626
- setNextWidth(widthWithDelta); // To prevent text selection
2627
-
2628
- e.preventDefault();
2629
- e.stopPropagation();
2630
- }, [column.id, nextWidth, visibleColumnsCopy]);
2631
- var onResizeEnd = React.useCallback(function () {
2632
- setIsResizing(false);
2633
- onColumnResize(column.id, nextWidth);
2634
- setGridLayout(helpers_columnsToGrid.columnsToGrid(visibleColumns, configs_constants.ColsLayoutStyle.Fixed));
2635
- }, [onColumnResize, column.id, nextWidth, setGridLayout, visibleColumns]);
2636
- React.useEffect(function () {
2637
- var debouncedResizeHandler = onResizeHandler;
2638
- var debouncedResizeEnd = onResizeEnd;
2639
-
2640
- var addEvents = function addEvents() {
2641
- document.addEventListener('mousemove', debouncedResizeHandler);
2642
- document.addEventListener('touchmove', debouncedResizeHandler);
2643
- document.addEventListener('mouseup', debouncedResizeEnd);
2644
- document.addEventListener('touchend', debouncedResizeEnd);
2645
- };
2646
-
2647
- var removeEvents = function removeEvents() {
2648
- document.removeEventListener('mousemove', debouncedResizeHandler);
2649
- document.removeEventListener('touchmove', debouncedResizeHandler);
2650
- document.removeEventListener('mouseup', debouncedResizeEnd);
2651
- document.removeEventListener('touchend', debouncedResizeEnd);
2652
- };
2653
-
2654
- if (isResizing) addEvents();else removeEvents(); // just in case the component is unmounted
2655
-
2656
- return removeEvents;
2657
- }, [isResizing, onResizeHandler, onResizeEnd]);
2658
- return /*#__PURE__*/React__default['default'].createElement(StyledResizer, {
2659
- ref: ref,
2660
- role: "separator",
2661
- draggable: false,
2662
- isResizing: isResizing,
2663
- onMouseDown: onResizeStart,
2664
- onTouchStart: onResizeStart,
2665
- onMouseUp: onResizeEnd,
2666
- onTouchEnd: onResizeEnd
2667
- });
2668
- };
2669
-
2670
- /* eslint-disable react/prop-types */
2671
-
2672
- var StringTitle = function StringTitle(_ref) {
2673
- var column = _ref.column,
2674
- textWrap = _ref.textWrap;
2675
- return (column.textWrap || textWrap) === 'truncate' ? /*#__PURE__*/React__default['default'].createElement(dsTruncatedTooltipText.SimpleTruncatedTooltipText, {
2676
- value: column.Header
2677
- }) : /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, column.Header);
2678
- };
2679
-
2680
- var HeaderCellTitle = function HeaderCellTitle(_ref2) {
2681
- var column = _ref2.column,
2682
- ctx = _ref2.ctx,
2683
- draggableProps = _ref2.draggableProps,
2684
- textWrap = _ref2.textWrap;
2685
- return /*#__PURE__*/React__default['default'].createElement("div", {
2686
- style: {
2687
- display: 'flex',
2688
- alignItems: 'center'
2689
- },
2690
- "data-testid": configs_constants.DATA_TESTID.DATA_TABLE_HEADER_CELL_TITLE
2691
- }, typeof column.Header === 'string' ? /*#__PURE__*/React__default['default'].createElement(StringTitle, {
2692
- column: column,
2693
- textWrap: textWrap
2694
- }) : /*#__PURE__*/React__default['default'].createElement(column.Header, {
2695
- column: column,
2696
- ctx: ctx,
2697
- draggableProps: draggableProps
2698
- }), column.required && /*#__PURE__*/React__default['default'].createElement(parts_Headers_RequiredDot.RequiredDot, null));
2699
- };
2700
-
2701
- var buildScreenReaderInstructions = function buildScreenReaderInstructions(colSpan, draggable, filterable, sortable) {
2702
- var preffix = colSpan === 1 ? '' : 'Column Group. ';
2703
- if (!draggable && !filterable && !sortable) return preffix;
2704
- var message = sortable ? 'You can sort the data ascendingly/descendingly by this column. Use the up / down arrows keys to do so' : '';
2705
-
2706
- if (draggable && filterable) {
2707
- message = "This column is draggable and filterable. To enable these interactions press the enter key. ".concat(message);
2708
- } else if (draggable || filterable) {
2709
- message = "This column is ".concat(draggable ? 'draggable' : 'filterable', ". To enable this interaction press the enter key. ").concat(message);
2710
- }
2711
-
2712
- return "".concat(preffix).concat(message);
2713
- };
2714
-
2715
- function mapStateToProps$2(state, ownProps) {
2716
- var _state$headers;
2717
-
2718
- return {
2719
- reduxHeader: (_state$headers = state.headers) === null || _state$headers === void 0 ? void 0 : _state$headers[ownProps.column.id]
2720
- };
2721
- }
2722
-
2723
- var connector = reactRedux.connect(mapStateToProps$2);
2724
-
2725
- var HeaderCellComp = function HeaderCellComp(props) {
2726
- var _flattenedData$, _flattenedData$$origi;
2727
-
2728
- var reduxHeader = props.reduxHeader,
2729
- column = props.column,
2730
- isDragOverlay = props.isDragOverlay,
2731
- colSpan = props.colSpan;
2732
- var ctx = React.useContext(DataTableContext['default']);
2733
- var _ctx$tableProps = ctx.tableProps,
2734
- isResizeable = _ctx$tableProps.isResizeable,
2735
- onColumnSortChange = _ctx$tableProps.onColumnSortChange,
2736
- dragAndDropColumns = _ctx$tableProps.dragAndDropColumns,
2737
- onFiltersChange = _ctx$tableProps.onFiltersChange,
2738
- filters = _ctx$tableProps.filters,
2739
- textWrap = _ctx$tableProps.textWrap,
2740
- flattenedData = ctx.flattenedData;
2741
-
2742
- var _useDispatchHeadersAc = redux_reducers_headersReducers_useDispatchHeadersActions.useDispatchHeadersActions(),
2743
- patchHeader = _useDispatchHeadersAc.patchHeader;
2744
-
2745
- var dragHandleRef = React.useRef(null);
2746
- var filterIconRef = React.useRef(null);
2747
-
2748
- var _useContext = React.useContext(parts_HoC_SortableItemContext.SortableItemContext),
2749
- draggableProps = _useContext.draggableProps;
2750
-
2751
- var _useHeaderCellConfig = parts_Headers_useHeaderCellConfig.useHeaderCellConfig({
2752
- column: column,
2753
- dragAndDropColumns: dragAndDropColumns,
2754
- draggableProps: draggableProps,
2755
- reduxHeader: reduxHeader,
2756
- isDragOverlay: isDragOverlay
2757
- }),
2758
- hasFilter = _useHeaderCellConfig.hasFilter,
2759
- hasDnD = _useHeaderCellConfig.hasDnD,
2760
- hasSortingCaret = _useHeaderCellConfig.hasSortingCaret,
2761
- hasRightIcons = _useHeaderCellConfig.hasRightIcons,
2762
- shouldShowDnD = _useHeaderCellConfig.shouldShowDnD,
2763
- hCols = _useHeaderCellConfig.hCols,
2764
- isDragging = _useHeaderCellConfig.isDragging;
2765
-
2766
- hooks_useRecoverFocusCol.useRecoverFocusCol(isDragging, dragHandleRef);
2767
- var rightIcons = React.useMemo(function () {
2768
- if (!hasRightIcons) return null;
2769
- return /*#__PURE__*/React__default['default'].createElement(StyledHeaderRightIconsWrapper, null, /*#__PURE__*/React__default['default'].createElement(FilterMapItem, {
2770
- column: column,
2771
- ctx: ctx,
2772
- onFiltersChange: onFiltersChange,
2773
- reduxHeader: reduxHeader,
2774
- filterValue: filters,
2775
- innerRef: filterIconRef
2776
- }), hasSortingCaret && /*#__PURE__*/React__default['default'].createElement(parts_SortByCaret.SortByCaret, {
2777
- isSortedDesc: column.isSortedDesc
2778
- }));
2779
- }, [hasRightIcons, column, ctx, onFiltersChange, reduxHeader, filters, hasSortingCaret]);
2780
- var DnDHandleComponent = React.useMemo(function () {
2781
- return /*#__PURE__*/React__default['default'].createElement(Grid__default['default'], {
2782
- mr: "2px",
2783
- alignItems: "center",
2784
- style: {
2785
- position: 'relative'
2786
- }
2787
- }, /*#__PURE__*/React__default['default'].createElement(StyledFocusWithin, {
2788
- hideFocus: isDragging
2789
- }, /*#__PURE__*/React__default['default'].createElement(DragHandle, {
2790
- key: column.id,
2791
- innerRef: dragHandleRef,
2792
- isReachable: reduxHeader === null || reduxHeader === void 0 ? void 0 : reduxHeader.withTabStops,
2793
- id: column.id,
2794
- isDragOverlay: isDragOverlay
2795
- })));
2796
- }, [column.id, isDragOverlay, isDragging, reduxHeader === null || reduxHeader === void 0 ? void 0 : reduxHeader.withTabStops]);
2797
- var handlers = parts_Headers_useHeaderCellHandlers.useHeaderCellHandlers({
2798
- hasFilter: hasFilter,
2799
- patchHeader: patchHeader,
2800
- column: column,
2801
- reduxHeader: reduxHeader,
2802
- hasDnD: hasDnD,
2803
- onColumnSortChange: onColumnSortChange,
2804
- dragHandleRef: dragHandleRef,
2805
- filterIconRef: filterIconRef,
2806
- headerRef: column.ref
2807
- });
2808
- return /*#__PURE__*/React__default['default'].createElement(StyledHeadTh, _extends__default['default']({
2809
- column: column
2810
- }, handlers, {
2811
- role: colSpan === 1 ? 'columnheader' : 'group',
2812
- colSpan: colSpan,
2813
- "aria-describedby": "".concat(column.id, "-instructions") // eslint-disable-next-line no-nested-ternary
2814
- ,
2815
- "aria-sort": hasSortingCaret ? column.isSortedDesc ? 'descending' : 'ascending' : 'none',
2816
- "data-testid": configs_constants.DATA_TESTID.DATA_TABLE_HEADER,
2817
- isFirstRowGroup: !!((_flattenedData$ = flattenedData[0]) !== null && _flattenedData$ !== void 0 && (_flattenedData$$origi = _flattenedData$.original) !== null && _flattenedData$$origi !== void 0 && _flattenedData$$origi.dimsumHeaderValue),
2818
- tabIndex: column.isFocuseable === false ? -1 : 0,
2819
- isDragOverlay: isDragOverlay,
2820
- isDraggingActive: draggableProps && draggableProps.active,
2821
- shouldShowDnD: shouldShowDnD,
2822
- ref: column.ref
2823
- }), /*#__PURE__*/React__default['default'].createElement(Grid__default['default'], {
2824
- width: "100%",
2825
- cols: hCols
2826
- }, shouldShowDnD && DnDHandleComponent, /*#__PURE__*/React__default['default'].createElement(HeaderCellTitle, {
2827
- column: column,
2828
- ctx: ctx,
2829
- draggableProps: draggableProps,
2830
- textWrap: textWrap
2831
- }), rightIcons, isResizeable && column.canResize !== false && /*#__PURE__*/React__default['default'].createElement(HeaderResizer, {
2832
- column: column
2833
- })), /*#__PURE__*/React__default['default'].createElement("span", {
2834
- id: "".concat(column.id, "-instructions"),
2835
- style: {
2836
- display: 'none'
2837
- },
2838
- "aria-hidden": "false"
2839
- }, buildScreenReaderInstructions(colSpan, dragAndDropColumns && column.disableDnD !== true, hasFilter, column.canSort)));
2840
- };
2841
-
2842
- var HeaderCell = connector(HeaderCellComp);
2843
-
2844
- function ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
2845
-
2846
- function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$1(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
2847
- var withDnDSortableColumnContext = function withDnDSortableColumnContext(Component) {
2848
- return function (props) {
2849
- var _useContext = React.useContext(DataTableContext['default']),
2850
- dragAndDropColumns = _useContext.tableProps.dragAndDropColumns;
2851
-
2852
- var _useContext2 = React.useContext(parts_HoC_DragOverlayContext.DragOverlayContext),
2853
- setPureDraggedJSX = _useContext2.setPureDraggedJSX;
2854
-
2855
- var _useContext3 = React.useContext(DnDGroupContext),
2856
- activeIndex = _useContext3.activeIndex; // onMount generate unique options, so everyting is only ran once
2857
-
2858
-
2859
- var draggableOptions = React.useMemo(function () {
2860
- return {
2861
- id: props.header.Header
2862
- };
2863
- }, [props.header.Header]);
2864
- var useSortableHelpers = sortable.useSortable(draggableOptions);
2865
- var PureComponentJSX = React.useMemo(function () {
2866
- return /*#__PURE__*/React__default['default'].createElement(Component, props);
2867
- }, [props]); // calculate all the "useSortable" values as per required
2868
-
2869
- var draggableProps = React.useMemo(function () {
2870
- if (!dragAndDropColumns) return false;
2871
- var index = useSortableHelpers.index,
2872
- overIndex = useSortableHelpers.overIndex;
2873
- return _objectSpread$1(_objectSpread$1({}, useSortableHelpers), {}, {
2874
- shouldShowDropIndicatorPosition: overIndex === index && overIndex !== -1,
2875
- dropIndicatorPosition: index > activeIndex ? parts_HoC_SortableItemContext.DropIndicatorPosition.After : parts_HoC_SortableItemContext.DropIndicatorPosition.Before
2876
- });
2877
- }, [useSortableHelpers, dragAndDropColumns, activeIndex]);
2878
- React.useEffect(function () {
2879
- // We assume the structure of the inner element WON'T change during DnD
2880
- // This is a huge performance boost
2881
- if (useSortableHelpers.isDragging) {
2882
- setPureDraggedJSX( /*#__PURE__*/React.cloneElement(PureComponentJSX, {
2883
- isDragOverlay: true
2884
- }));
2885
- }
2886
- }, [useSortableHelpers.isDragging, setPureDraggedJSX]); // we use a context so we can easly access information wherever without bubbling down
2887
- // this context is all Memoized so as long as component is not re-mounted,
2888
- // the context won't trigger un-required renders per-se...
2889
-
2890
- var ctx = React.useMemo(function () {
2891
- return {
2892
- draggableProps: draggableProps
2893
- };
2894
- }, [draggableProps]); // we always add the context, if draggableProps===false we don't have the DnD enabled.
2895
-
2896
- return /*#__PURE__*/React__default['default'].createElement(parts_HoC_SortableItemContext.SortableItemContext.Provider, {
2897
- value: ctx
2898
- }, PureComponentJSX);
2899
- };
2900
- };
2901
-
2902
- /* eslint-disable complexity */
2903
- var StyledWrapper = /*#__PURE__*/styled__default['default'](Grid.Grid).withConfig({
2904
- componentId: "sc-1dqaj8a-0"
2905
- })(["position:relative;width:", ";grid-column:", ";background:", ";opacity:", ";box-shadow:0 2px 4px 0 ", ";"], function (props) {
2906
- return props.isDragOverlay ? 'fit-content' : '100%';
2907
- }, function (props) {
2908
- return props.gridColumn;
2909
- }, function (props) {
2910
- return props.isDragging ? props.theme.colors.neutral['080'] : 'white';
2911
- }, function (props) {
2912
- return props.isDragging ? 0.8 : 1;
2913
- }, function (props) {
2914
- return props.isDragOverlay ? 'rgba(0,0,0,0.5)' : 'transparent';
2915
- });
2916
-
2917
- var HeaderCellGroupComp = function HeaderCellGroupComp(_ref) {
2918
- var _children$length;
2919
-
2920
- var header = _ref.header,
2921
- isDragOverlay = _ref.isDragOverlay,
2922
- isDraggingParent = _ref.isDraggingParent,
2923
- isLast = _ref.isLast;
2924
-
2925
- var _useContext = React.useContext(parts_HoC_SortableItemContext.SortableItemContext),
2926
- draggableProps = _useContext.draggableProps;
2927
-
2928
- var children = header.columns;
2929
- var isDragging = draggableProps && draggableProps.isDragging || isDraggingParent;
2930
- var dropIndicatorPosition = draggableProps && draggableProps.shouldShowDropIndicatorPosition && draggableProps.dropIndicatorPosition;
2931
- var ChildGroup = isDragOverlay ? NotSortableHeaderCellGroup : HeaderCellGroup;
2932
- var colSpan = (_children$length = children === null || children === void 0 ? void 0 : children.length) !== null && _children$length !== void 0 ? _children$length : 1;
2933
- return /*#__PURE__*/React__default['default'].createElement(StyledWrapper, {
2934
- ref: draggableProps ? draggableProps.setNodeRef : null,
2935
- gridColumn: isDragOverlay ? 'auto' : "span ".concat(colSpan),
2936
- isDragOverlay: isDragOverlay,
2937
- isDragging: isDragging,
2938
- cols: ['auto'],
2939
- "data-testid": isDragOverlay ? configs_constants.DATA_TESTID.DATA_TABLE_COLUMN_DRAG_OVERLAY : undefined
2940
- }, /*#__PURE__*/React__default['default'].createElement(HeaderCell, {
2941
- column: header,
2942
- isDragOverlay: isDragOverlay,
2943
- colSpan: colSpan
2944
- }), !!(children !== null && children !== void 0 && children.length) && !isDragOverlay && /*#__PURE__*/React__default['default'].createElement(parts_SortableHeaderCell.SortableHeaderCell, {
2945
- items: children,
2946
- isDragOverlay: isDragOverlay
2947
- }, children.map(function (h, index) {
2948
- return /*#__PURE__*/React__default['default'].createElement(ChildGroup, {
2949
- key: h.id,
2950
- header: h,
2951
- isDragOverlay: isDragOverlay,
2952
- isDraggingParent: isDragging,
2953
- isLast: index === children.length - 1
2954
- });
2955
- })), (children === null || children === void 0 ? void 0 : children.length) && isDragOverlay && /*#__PURE__*/React__default['default'].createElement(parts_Headers_EmptyChildrenGroup.EmptyChildrenGroup, null), /*#__PURE__*/React__default['default'].createElement(parts_DropIndicator, {
2956
- vertical: true,
2957
- dropIndicatorPosition: dropIndicatorPosition,
2958
- isLast: isLast && isDragging
2959
- }));
2960
- };
2961
-
2962
- HeaderCellGroupComp.propTypes = {
2963
- header: PropTypes__default['default'].any,
2964
- isDragOverlay: PropTypes__default['default'].bool,
2965
- isDraggingParent: PropTypes__default['default'].bool,
2966
- isLast: PropTypes__default['default'].bool
2967
- }; // We need to declare this because we MUST avoid the useSortable call in the recursive calls of the function
2968
-
2969
- var NotSortableHeaderCellGroup = HeaderCellGroupComp;
2970
- var HeaderCellGroup = withDnDSortableColumnContext(HeaderCellGroupComp);
2971
-
2972
- var HeadersComp = function HeadersComp() {
2973
- var _useContext = React.useContext(DataTableContext['default']),
2974
- _useContext$tableProp = _useContext.tableProps,
2975
- isExpandable = _useContext$tableProp.isExpandable,
2976
- colsLayoutStyle = _useContext$tableProp.colsLayoutStyle,
2977
- _useContext$layoutHel = _useContext.layoutHelpers,
2978
- gridLayout = _useContext$layoutHel.gridLayout,
2979
- totalColumnsWidth = _useContext$layoutHel.totalColumnsWidth,
2980
- columnHeaderRef = _useContext.columnHeaderRef,
2981
- visibleColumns = _useContext.visibleColumns;
2982
-
2983
- var HeadersCells = React.useMemo(function () {
2984
- return /*#__PURE__*/React__default['default'].createElement(parts_SortableHeaderCell.SortableHeaderCell, {
2985
- items: visibleColumns
2986
- }, /*#__PURE__*/React__default['default'].createElement(StyledHeadTr, {
2987
- role: "row",
2988
- cols: gridLayout,
2989
- colsLayoutStyle: colsLayoutStyle,
2990
- isExpandable: isExpandable
2991
- }, visibleColumns.map(function (h, index) {
2992
- return /*#__PURE__*/React__default['default'].createElement(HeaderCellGroup, {
2993
- header: h,
2994
- key: h.id,
2995
- isLast: index === visibleColumns.length - 1
2996
- });
2997
- })));
2998
- }, [isExpandable, visibleColumns, gridLayout, colsLayoutStyle]);
2999
- var PureHeaders = React.useMemo(function () {
3000
- return /*#__PURE__*/React__default['default'].createElement(StyledHeadWrapper, {
3001
- totalColumnsWidth: totalColumnsWidth,
3002
- colsLayoutStyle: colsLayoutStyle,
3003
- ref: columnHeaderRef
3004
- }, HeadersCells);
3005
- }, [totalColumnsWidth, colsLayoutStyle, columnHeaderRef, HeadersCells]);
3006
- return PureHeaders;
3007
- };
3008
-
3009
- var Headers = withConditionalDnDColumnContext(HeadersComp);
3010
-
3011
- function mapStateToProps$1(state) {
3012
- return {
3013
- relativeRowMouseCord: state.rows.relativeRowMouseCord
3014
- };
3015
- }
3016
-
3017
- var VirtualRowsListComponent = function VirtualRowsListComponent() {
3018
- var _useContext = React.useContext(DataTableContext['default']),
3019
- virtualListRef = _useContext.virtualListRef,
3020
- _useContext$tableProp = _useContext.tableProps,
3021
- height = _useContext$tableProp.height,
3022
- width = _useContext$tableProp.width,
3023
- isLoading = _useContext$tableProp.isLoading,
3024
- isLoadingAppended = _useContext$tableProp.isLoadingAppended,
3025
- virtualListHelpers = _useContext.virtualListHelpers,
3026
- totalColumnsWidth = _useContext.layoutHelpers.totalColumnsWidth,
3027
- flattenedData = _useContext.flattenedData;
3028
-
3029
- var totalSize = virtualListHelpers.totalSize,
3030
- scrollToIndex = virtualListHelpers.scrollToIndex;
3031
-
3032
- var _useDispatchRowsActio = redux_reducers_rowsReducers_useDispatchRowsActions.useDispatchRowsActions(),
3033
- setFocusedRowId = _useDispatchRowsActio.setFocusedRowId;
3034
-
3035
- var isEmptyContent = React.useMemo(function () {
3036
- return !isLoading && flattenedData.length === 0;
3037
- }, [isLoading, flattenedData.length]);
3038
- var tableHeight = React.useMemo(function () {
3039
- if (typeof height === 'string') return height.includes('%') ? height : Number.parseInt(height, 10) - configs_fixedSizes.FIXED_SIZES.PAGINATION_HEIGHT;
3040
- return height;
3041
- }, [height]);
3042
- var onKeyDown = React.useCallback(function (e) {
3043
- if (e.ctrlKey && e.code === 'End') {
3044
- scrollToIndex(flattenedData.length - 1);
3045
- setFocusedRowId(flattenedData[flattenedData.length - 1].uid);
3046
- } else if (e.ctrlKey && e.code === 'Home') {
3047
- scrollToIndex(0, {
3048
- align: 'center'
3049
- });
3050
- setFocusedRowId(flattenedData[0].uid);
3051
- }
3052
- }, [scrollToIndex, setFocusedRowId, flattenedData]);
3053
- return /*#__PURE__*/React__default['default'].createElement(StyledVirtualListWrapper, {
3054
- ref: virtualListRef,
3055
- height: tableHeight,
3056
- width: width,
3057
- "data-testid": configs_constants.DATA_TESTID.DATA_TABLE_SCROLLABLE_CONTAINER,
3058
- onKeyDown: onKeyDown,
3059
- tabIndex: -1
3060
- }, /*#__PURE__*/React__default['default'].createElement(StyledTableContentWrapper, {
3061
- role: "rowgroup",
3062
- height: totalSize || '100%'
3063
- }, /*#__PURE__*/React__default['default'].createElement(Headers, null), isEmptyContent && /*#__PURE__*/React__default['default'].createElement(parts_EmptyContent, {
3064
- width: totalColumnsWidth
3065
- }), isLoading ? /*#__PURE__*/React__default['default'].createElement(parts_Loader, null) : null, !isLoading && !isEmptyContent && /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement(Rows$1, null), /*#__PURE__*/React__default['default'].createElement(parts_Footer, null), isLoadingAppended && /*#__PURE__*/React__default['default'].createElement(RowLoading, null))));
3066
- };
3067
-
3068
- var VirtualRowsList = reactRedux.connect(mapStateToProps$1)(VirtualRowsListComponent);
3069
-
3070
- var mapStateToProps = function mapStateToProps(state) {
3071
- return {
3072
- reduxFilters: state.filters
3073
- };
3074
- }; // must manually declare typescript types for mapStateToProps props
3075
- // because react-redux is not smart enough
3076
-
3077
-
3078
- var TableContentComponent = function TableContentComponent(props) {
3079
- var forwardedRef = props.forwardedRef;
3080
-
3081
- var _useContext = React.useContext(DataTableContext['default']),
3082
- _useContext$tableProp = _useContext.tableProps,
3083
- height = _useContext$tableProp.height,
3084
- width = _useContext$tableProp.width,
3085
- pagination = _useContext$tableProp.pagination,
3086
- allDataFlattened = _useContext.allDataFlattened,
3087
- visibleColumns = _useContext.visibleColumns;
3088
-
3089
- var _useState = React.useState(false),
3090
- _useState2 = _slicedToArray__default['default'](_useState, 2),
3091
- shiftKeyPressed = _useState2[0],
3092
- setShiftKeyPressed = _useState2[1];
3093
-
3094
- var PureTableContent = React.useMemo(function () {
3095
- return /*#__PURE__*/React__default['default'].createElement(StyledDataTableWrapper, {
3096
- "data-testid": configs_constants.DATA_TESTID.DATA_TABLE_CONTENT_WRAPPER,
3097
- height: height,
3098
- width: width,
3099
- ref: forwardedRef,
3100
- noSelectionAllowed: shiftKeyPressed,
3101
- onKeyDown: function onKeyDown(e) {
3102
- return setShiftKeyPressed(function (prevShiftKeyPressed) {
3103
- return prevShiftKeyPressed || e.shiftKey;
3104
- });
3105
- },
3106
- onKeyUp: function onKeyUp(e) {
3107
- return setShiftKeyPressed(function (prevShiftKeyPressed) {
3108
- return prevShiftKeyPressed && e.code !== 'Shift';
3109
- });
3110
- }
3111
- }, /*#__PURE__*/React__default['default'].createElement(StyledTableWrapper, {
3112
- role: "table",
3113
- "aria-rowcount": allDataFlattened.length,
3114
- "aria-colcount": visibleColumns.length,
3115
- "data-testid": configs_constants.DATA_TESTID.DATA_TABLE_TABLE,
3116
- height: height,
3117
- width: width
3118
- }, /*#__PURE__*/React__default['default'].createElement(VirtualRowsList, null)), pagination ? /*#__PURE__*/React__default['default'].createElement(addons_Pagination_Pagination.Pagination, null) : null);
3119
- }, [height, width, forwardedRef, allDataFlattened.length, visibleColumns.length, pagination, shiftKeyPressed]);
3120
- return PureTableContent;
3121
- };
3122
-
3123
- var ConnectedTableContent = reactRedux.connect(mapStateToProps)(TableContentComponent);
3124
- var TableContent = /*#__PURE__*/React__default['default'].forwardRef(function (props, ref) {
3125
- return /*#__PURE__*/React__default['default'].createElement(ConnectedTableContent, _extends__default['default']({}, props, {
3126
- forwardedRef: ref
3127
- }));
3128
- });
3129
-
3130
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
3131
-
3132
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
3133
- var StyledGripperButton = /*#__PURE__*/styled__default['default'].div.withConfig({
3134
- componentId: "sc-fj20bf-0"
3135
- })(["cursor:", ";outline:none;display:flex;align-items:center;touch-action:none;"], function (_ref) {
3136
- var isActive = _ref.isActive,
3137
- isDragOverlay = _ref.isDragOverlay;
3138
- return isActive || isDragOverlay ? 'grabbing' : 'grab';
3139
- });
3140
-
3141
- var DragHandle = function DragHandle(_ref2) {
3142
- var id = _ref2.id,
3143
- isReachable = _ref2.isReachable,
3144
- isDragOverlay = _ref2.isDragOverlay,
3145
- innerRef = _ref2.innerRef;
3146
-
3147
- var _useContext = React.useContext(parts_HoC_SortableItemContext.SortableItemContext),
3148
- draggableProps = _useContext.draggableProps;
3149
-
3150
- var isActive = draggableProps && !!draggableProps.active;
3151
- var isDragging = draggableProps && draggableProps.isDragging;
3152
- return /*#__PURE__*/React__default['default'].createElement(StyledGripperButton, _extends__default['default']({
3153
- role: "button"
3154
- }, draggableProps && _objectSpread(_objectSpread({}, draggableProps.listeners), draggableProps.attributes), {
3155
- isActive: isActive,
3156
- isDragOverlay: isDragOverlay,
3157
- ref: innerRef,
3158
- tabIndex: isReachable ? 0 : -1,
3159
- "data-testid": configs_constants.DATA_TESTID.DATA_TABLE_DRAG_HANDLE,
3160
- id: "".concat(id, "-drag-handle"),
3161
- key: "".concat(id, "-drag-handle")
3162
- }), /*#__PURE__*/React__default['default'].createElement(dsIcons.GripperVertical, {
3163
- size: "s",
3164
- color: isDragging ? ['neutral', '500'] : ['brand-primary', '800']
3165
- }));
3166
- };
3167
-
3168
- /* eslint-disable react/prop-types */
3169
- var dragHandleColumn = {
3170
- // Build our singleSelecter column
3171
- id: 'dragHandleColumn',
3172
- // Make sure it has an ID
3173
- // The header doesn't need anything for single selection
3174
- Header: function Header() {
3175
- return /*#__PURE__*/React__default['default'].createElement("div", null);
3176
- },
3177
- Cell: function Cell(_ref2) {
3178
- var row = _ref2.row,
3179
- isRowSelected = _ref2.isRowSelected,
3180
- cell = _ref2.cell,
3181
- isDragOverlay = _ref2.isDragOverlay,
3182
- draggableProps = _ref2.draggableProps;
3183
- hooks_useRecoverFocusRow.useRecoverFocusRow(row, cell, isDragOverlay, draggableProps);
3184
- return /*#__PURE__*/React__default['default'].createElement(StyledFocusWithin, {
3185
- style: {
3186
- width: '100%',
3187
- height: '100%'
3188
- },
3189
- hideFocus: draggableProps && draggableProps.isDragging
3190
- }, /*#__PURE__*/React__default['default'].createElement(DragHandle, {
3191
- id: row.uid,
3192
- key: row.uid,
3193
- isReachable: isRowSelected,
3194
- innerRef: function innerRef(_ref) {
3195
- if (!isDragOverlay) cell.ref.current = _ref;
3196
- },
3197
- isDragOverlay: isDragOverlay
3198
- }));
3199
- },
3200
- textWrap: 'wrap-all',
3201
- width: 24,
3202
- padding: 4,
3203
- canResize: false,
3204
- disableDnD: true,
3205
- isFocuseable: false
3206
- };
3207
-
3208
- var INTERNAL_COLUMNS = ['rowActions', 'expander', 'multiSelecter', 'singleSelecter', 'dragHandleColumn'];
3209
-
3210
- /* eslint-disable max-lines */
3211
-
3212
- var styledFocusCss = function styledFocusCss(_ref) {
3213
- var theme = _ref.theme;
3214
- return "\n&:after {\n display: block;\n content: ' ';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border: 2px solid ".concat(theme.colors.brand[700], ";\n pointer-events: none;\n z-index: ").concat(configs_zIndexInternalConfig.ZIndexDataTable.FOCUS_BORDER, ";\n}");
3215
- };
3216
-
3217
- var StyledFocusWithin = /*#__PURE__*/styled__default['default'](Grid__default['default']).withConfig({
3218
- componentId: "sc-38sgfo-0"
3219
- })([":focus-within{", "}"], function (props) {
3220
- return props.hideFocus ? '' : styledFocusCss(props);
3221
- });
3222
- var StyledDataTableWrapper = /*#__PURE__*/styled__default['default'].div.withConfig({
3223
- componentId: "sc-38sgfo-1"
3224
- })(["width:", ";height:", ";user-select:", ";"], function (props) {
3225
- var _props$width;
3226
-
3227
- return helpers_sizeToCss.sizeToCss((_props$width = props.width) !== null && _props$width !== void 0 ? _props$width : ' 100%');
3228
- }, function (props) {
3229
- var _props$height;
3230
-
3231
- return helpers_sizeToCss.sizeToCss((_props$height = props.height) !== null && _props$height !== void 0 ? _props$height : ' 100%');
3232
- }, function (_ref2) {
3233
- var noSelectionAllowed = _ref2.noSelectionAllowed;
3234
- return noSelectionAllowed ? 'none' : 'auto';
3235
- });
3236
- var StyledTableWrapper = /*#__PURE__*/styled__default['default'].div.withConfig({
3237
- componentId: "sc-38sgfo-2"
3238
- })(["display:inline-block;border-spacing:0;z-index:0;position:relative;", ""], function (_ref3) {
3239
- var _ref3$width = _ref3.width,
3240
- width = _ref3$width === void 0 ? '100%' : _ref3$width,
3241
- _ref3$height = _ref3.height,
3242
- height = _ref3$height === void 0 ? '100%' : _ref3$height;
3243
- return "\n width: ".concat(helpers_sizeToCss.sizeToCss(width), ";\n height: ").concat(helpers_sizeToCss.sizeToCss(height), ";\n ");
3244
- });
3245
- var StyledTableContentWrapper = /*#__PURE__*/styled__default['default'].div.withConfig({
3246
- componentId: "sc-38sgfo-3"
3247
- })(["position:relative;", ""], function (_ref4) {
3248
- var _ref4$height = _ref4.height,
3249
- height = _ref4$height === void 0 ? 'auto' : _ref4$height;
3250
- return "\n height: ".concat(helpers_sizeToCss.sizeToCss(height), ";\n ");
3251
- });
3252
- var StyledVirtualListWrapper = /*#__PURE__*/styled__default['default'].div.withConfig({
3253
- componentId: "sc-38sgfo-4"
3254
- })(["overflow:auto;", ""], function (_ref5) {
3255
- var _ref5$height = _ref5.height,
3256
- height = _ref5$height === void 0 ? 'auto' : _ref5$height,
3257
- _ref5$width = _ref5.width,
3258
- width = _ref5$width === void 0 ? '100%' : _ref5$width;
3259
- return "\n height: ".concat(helpers_sizeToCss.sizeToCss(height), ";\n width: ").concat(helpers_sizeToCss.sizeToCss(width), ";\n ");
3260
- });
3261
- /**
3262
- * HEADER
3263
- */
3264
-
3265
- var getGridTemplateColumnsStyle = function getGridTemplateColumnsStyle(_ref6) {
3266
- var cols = _ref6.cols,
3267
- _ref6$colsLayoutStyle = _ref6.colsLayoutStyle,
3268
- colsLayoutStyle = _ref6$colsLayoutStyle === void 0 ? configs_constants.ColsLayoutStyle.Auto : _ref6$colsLayoutStyle;
3269
- if (!cols) return '';
3270
-
3271
- if (colsLayoutStyle === 'fixed') {
3272
- var widthAttr = cols.map(function (col) {
3273
- return "minmax(0, ".concat(col, ")");
3274
- }).join(' ');
3275
- return "grid-template-columns: ".concat(widthAttr);
3276
- }
3277
-
3278
- return "grid-template-columns: ".concat(cols.map(function (col) {
3279
- return "minmax(0, ".concat(col, ")");
3280
- }).join(' '));
3281
- };
3282
-
3283
- var StyledHeadWrapper = /*#__PURE__*/styled__default['default'].div.withConfig({
3284
- componentId: "sc-38sgfo-5"
3285
- })(["position:relative;position:sticky;top:0;z-index:4;background:white;width:", ";"], function (props) {
3286
- return props.colsLayoutStyle === configs_constants.ColsLayoutStyle.Fixed ? helpers_sizeToCss.sizeToCss(props.totalColumnsWidth) : '100%';
3287
- });
3288
- var StyledHeadTr = /*#__PURE__*/styled__default['default'](Grid__default['default']).withConfig({
3289
- componentId: "sc-38sgfo-6"
3290
- })(["", ";", ";"], function (props) {
3291
- return props.colsLayoutStyle === configs_constants.ColsLayoutStyle.Auto ? 'width:100%' : '';
3292
- }, function (props) {
3293
- return getGridTemplateColumnsStyle({
3294
- cols: props.cols,
3295
- isExpandable: props.isExpandable,
3296
- colsLayoutStyle: props.colsLayoutStyle
3297
- });
3298
- });
3299
-
3300
- var getStyledHeadTHBorderColor = function getStyledHeadTHBorderColor(props) {
3301
- if (props.dragOverlay) return 'transparent';
3302
- if (props.isFirstRowGroup) return 'transparent';
3303
- return props.theme.colors.neutral['080'];
3304
- };
3305
-
3306
- var StyledHeadTh = /*#__PURE__*/styled__default['default'].div.withConfig({
3307
- componentId: "sc-38sgfo-7"
3308
- })(["min-height:24px;line-height:normal;font-weight:600;text-transform:uppercase;font-size:0.923rem;text-align:left;", " color:#353c46;min-height:1.84615rem;position:relative;position:sticky;top:0;z-index:", ";display:flex;justify-content:space-between;box-sizing:border-box;border-right:1px solid ", ";border-bottom:1px solid ", ";outline:none;:focus{&:after{display:block;content:' ';position:absolute;top:0;left:0;right:-1px;bottom:-1px;border:2px solid ", ";pointer-events:none;z-index:", ";}}", ""], helpers_cellPadding.columnPadding, configs_zIndexInternalConfig.ZIndexDataTable.HEADER_ROW, function (props) {
3309
- return props.theme.colors.neutral['080'];
3310
- }, getStyledHeadTHBorderColor, function (props) {
3311
- return props.theme.colors.brand[700];
3312
- }, configs_zIndexInternalConfig.ZIndexDataTable.FOCUS_BORDER, function (props) {
3313
- return props.isDraggingActive ? '' : ":hover {\n border-bottom: 1px solid ".concat(props.isDragOverlay ? 'transparent' : props.theme.colors.brand[800], ";\n cursor: pointer;\n }");
3314
- });
3315
- var StyledHeaderRightIconsWrapper = /*#__PURE__*/styled__default['default'].div.withConfig({
3316
- componentId: "sc-38sgfo-8"
3317
- })(["height:100%;display:flex;align-items:center;max-height:24px;"]);
3318
- var StyledResizer = /*#__PURE__*/styled__default['default'].div.withConfig({
3319
- componentId: "sc-38sgfo-9"
3320
- })(["display:inline-block;background:", ";width:4px;height:100%;position:absolute;right:0;top:0;z-index:1;touch-action:none;cursor:col-resize;"], function (_ref7) {
3321
- var isResizing = _ref7.isResizing,
3322
- theme = _ref7.theme;
3323
- return isResizing ? theme.colors.brand[600] : theme.colors.brand[400];
3324
- }); // CELL ***********************************************************************/
3325
-
3326
- var StyledActionCell = /*#__PURE__*/styled__default['default'].div.withConfig({
3327
- componentId: "sc-38sgfo-10"
3328
- })(["position:relative;position:sticky;display:inline-block;right:0;background:white;"]);
3329
- var StyledCell = /*#__PURE__*/styled__default['default'].div.withConfig({
3330
- componentId: "sc-38sgfo-11"
3331
- })(["", " display:flex;align-items:center;width:100%;position:relative;"], helpers_cellPadding.cellPadding);
3332
- var StyledCellContent = /*#__PURE__*/styled__default['default'].div.withConfig({
3333
- componentId: "sc-38sgfo-12"
3334
- })(["display:grid;justify-self:flex-end;flex:1 1 auto;width:100%;height:100%;align-items:center;"]);
3335
- var StyledPencilIcon = /*#__PURE__*/styled__default['default'](dsIcons.EditPencil).withConfig({
3336
- componentId: "sc-38sgfo-13"
3337
- })([""]);
3338
- var StyledEditableContainer = /*#__PURE__*/styled__default['default'](Grid__default['default']).withConfig({
3339
- componentId: "sc-38sgfo-14"
3340
- })(["width:100%;height:100%;align-items:center;& ", "{display:", ";}&:hover{", "{display:block;}}&:focus{", " ", "{display:block;}}outline:none;"], StyledPencilIcon, function (props) {
3341
- return props.shouldDisplayEditIcon ? 'block' : 'none';
3342
- }, StyledPencilIcon, styledFocusCss, StyledPencilIcon); // ROW ************************************************************************/
3343
-
3344
- var StyledFullsizeGrid = /*#__PURE__*/styled__default['default'](Grid__default['default']).withConfig({
3345
- componentId: "sc-38sgfo-15"
3346
- })(["position:relative;z-index:", ";min-height:", ";height:", ";"], configs_zIndexInternalConfig.ZIndexDataTable.ROW, function (props) {
3347
- return props.minHeight || '36px';
3348
- }, function (props) {
3349
- return props.height || 'auto';
3350
- });
3351
- var GroupHeaderContainer = /*#__PURE__*/styled__default['default'](Grid__default['default']).withConfig({
3352
- componentId: "sc-38sgfo-16"
3353
- })(["position:relative;background-color:", ";align-items:center;padding:0 ", ";border-top:1px solid ", ";grid-template-columns:min-content 1fr;"], function (_ref8) {
3354
- var theme = _ref8.theme;
3355
- return theme.colors.brand[200];
3356
- }, function (props) {
3357
- return props.padding;
3358
- }, function (_ref9) {
3359
- var theme = _ref9.theme;
3360
- return theme.colors.brand[300];
3361
- });
3362
- var GroupHeaderTitle = /*#__PURE__*/styled__default['default'].span.withConfig({
3363
- componentId: "sc-38sgfo-17"
3364
- })(["font-weight:", ";font-size:12px;color:", ";"], function (props) {
3365
- return props.theme.fontWeights.semibold;
3366
- }, function (props) {
3367
- return props.theme.colors.neutral[700];
3368
- });
3369
- var StyledCellContainer = /*#__PURE__*/styled__default['default'](Grid__default['default']).withConfig({
3370
- componentId: "sc-38sgfo-18"
3371
- })(["position:relative;z-index:2;min-height:", ";height:", ";width:", ";", ";background-color:", ";outline:none;:focus{", "}", " ", " box-shadow:0 2px 4px 0 ", ";opacity:", ";", " color:", ";"], function (props) {
3372
- return props.minHeight || '36px';
3373
- }, function (props) {
3374
- return props.height || 'auto';
3375
- }, function (props) {
3376
- return props.colLayoutStyle === configs_constants.ColsLayoutStyle.Fixed ? helpers_sizeToCss.sizeToCss(props.totalColumnsWidth) : '100%';
3377
- }, function (props) {
3378
- return getGridTemplateColumnsStyle({
3379
- cols: props.cols,
3380
- colsLayoutStyle: props.colLayoutStyle,
3381
- isExpandable: props.isExpandable
3382
- });
3383
- }, function (_ref10) {
3384
- var backgroundColor = _ref10.backgroundColor,
3385
- isDragging = _ref10.isDragging,
3386
- theme = _ref10.theme;
3387
- return isDragging ? theme.colors.neutral[100] : backgroundColor || 'white';
3388
- }, function (props) {
3389
- return props.isDragOverlay ? '' : styledFocusCss(props);
3390
- }, function (_ref11) {
3391
- var isDropIndicatorPositionInside = _ref11.isDropIndicatorPositionInside,
3392
- theme = _ref11.theme;
3393
- if (!isDropIndicatorPositionInside) return '';
3394
- return styledFocusCss({
3395
- theme: theme
3396
- });
3397
- }, function (_ref12) {
3398
- var shouldDisplayHover = _ref12.shouldDisplayHover,
3399
- theme = _ref12.theme;
3400
- return shouldDisplayHover ? ":hover {\n background-color: ".concat(theme.colors.brand[200], ";\n }") : '';
3401
- }, function (props) {
3402
- return props.isDragOverlay ? 'rgba(0,0,0,0.5)' : 'transparent';
3403
- }, function (props) {
3404
- return props.isDragging ? 0.8 : 1;
3405
- }, function (props) {
3406
- return !props.selected ? '' : "\n background-color: ".concat(props.theme.colors.brand[200], ";\n border: 1px solid ").concat(props.theme.colors.brand[300], ";\n ");
3407
- }, function (props) {
3408
- return props.disabled ? props.theme.colors.neutral['500'] : '#333333';
3409
- });
3410
-
3411
- exports.BaseSelectFilter = BaseSelectFilter;
3412
- exports.Cell = Cell;
3413
- exports.Cells = Cells;
3414
- exports.ComboboxEditableCell = ComboboxEditableCell;
3415
- exports.CurrencyRangeFilter = CurrencyRangeFilter;
3416
- exports.DateRangeFilter = DateRangeFilter;
3417
- exports.DateSwitcherFilter = DateSwitcherFilter;
3418
- exports.DefaultRowContentRenderer = DefaultRowContentRenderer;
3419
- exports.DnDGroupContext = DnDGroupContext;
3420
- exports.DragHandle = DragHandle;
3421
- exports.EditableCell = EditableCell;
3422
- exports.FilterMapItem = FilterMapItem;
3423
- exports.FilterPopover = FilterPopover;
3424
- exports.GroupHeaderContainer = GroupHeaderContainer;
3425
- exports.GroupHeaderTitle = GroupHeaderTitle;
3426
- exports.HeaderCell = HeaderCell;
3427
- exports.HeaderCellGroup = HeaderCellGroup;
3428
- exports.HeaderCellTitle = HeaderCellTitle;
3429
- exports.HeaderResizer = HeaderResizer;
3430
- exports.Headers = Headers;
3431
- exports.INTERNAL_COLUMNS = INTERNAL_COLUMNS;
3432
- exports.MultiSelectFilter = MultiSelectFilter;
3433
- exports.NumberRangeFilter = NumberRangeFilter;
3434
- exports.Row = Row$1;
3435
- exports.RowLoading = RowLoading;
3436
- exports.RowRenderer = RowRenderer;
3437
- exports.RowVariantHeader = RowVariantHeader;
3438
- exports.RowVariantMapItem = RowVariantMapItem;
3439
- exports.RowVariantPrimary = RowVariantPrimary;
3440
- exports.RowVariantSecondary = RowVariantSecondary;
3441
- exports.Rows = Rows$1;
3442
- exports.SingleDateFilter = SingleDateFilter;
3443
- exports.SingleSelectFilter = SingleSelectFilter;
3444
- exports.StyledActionCell = StyledActionCell;
3445
- exports.StyledCell = StyledCell;
3446
- exports.StyledCellContainer = StyledCellContainer;
3447
- exports.StyledCellContent = StyledCellContent;
3448
- exports.StyledDataTableWrapper = StyledDataTableWrapper;
3449
- exports.StyledEditableContainer = StyledEditableContainer;
3450
- exports.StyledFocusWithin = StyledFocusWithin;
3451
- exports.StyledFullsizeGrid = StyledFullsizeGrid;
3452
- exports.StyledHeadTh = StyledHeadTh;
3453
- exports.StyledHeadTr = StyledHeadTr;
3454
- exports.StyledHeadWrapper = StyledHeadWrapper;
3455
- exports.StyledHeaderRightIconsWrapper = StyledHeaderRightIconsWrapper;
3456
- exports.StyledPencilIcon = StyledPencilIcon;
3457
- exports.StyledResizer = StyledResizer;
3458
- exports.StyledTableContentWrapper = StyledTableContentWrapper;
3459
- exports.StyledTableWrapper = StyledTableWrapper;
3460
- exports.StyledVirtualListWrapper = StyledVirtualListWrapper;
3461
- exports.TableContent = TableContent;
3462
- exports.TextEditableCell = TextEditableCell;
3463
- exports.TextInputFilter = TextInputFilter;
3464
- exports.VirtualRowsList = VirtualRowsList;
3465
- exports.applyOutOfTheBoxFilters = applyOutOfTheBoxFilters;
3466
- exports.customCollisionDetection = customCollisionDetection;
3467
- exports.dateRangeFilterFn = dateRangeFilterFn;
3468
- exports.dateSwitcherFilterFn = dateSwitcherFilterFn;
3469
- exports.dragHandleColumn = dragHandleColumn;
3470
- exports.expandRowColumn = expandRowColumn;
3471
- exports.getHierarchyKeyboardCoordinates = getHierarchyKeyboardCoordinates;
3472
- exports.multiSelectColumn = multiSelectColumn;
3473
- exports.outOfTheBoxEditables = outOfTheBoxEditables;
3474
- exports.singleDateFilterFn = singleDateFilterFn;
3475
- exports.singleSelectColumn = singleSelectColumn;
3476
- exports.useHierarchyDndkitConfig = useHierarchyDndkitConfig;
3477
- exports.useHierarchyPreviewHandlers = useHierarchyPreviewHandlers;
3478
- exports.useRowRendererHandlers = useRowRendererHandlers;
3479
- exports.withConditionalDnDColumnContext = withConditionalDnDColumnContext;
3480
- exports.withDnDSortableColumnContext = withDnDSortableColumnContext;
3481
- //# sourceMappingURL=styled-b86fbdf4.js.map