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