@elliemae/ds-data-table 2.0.0-alpha.1 → 2.0.0-alpha.13

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 (306) hide show
  1. package/cjs/DataTable.js +9 -4
  2. package/cjs/DataTableContext.js +1 -1
  3. package/cjs/DataTableSchema.js +32 -20
  4. package/cjs/addons/Columns/ColumnDragHandle/ColumnDragHandle.js +12 -11
  5. package/cjs/addons/Columns/ColumnExpand/ColumnExpand.js +62 -40
  6. package/cjs/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js +30 -23
  7. package/cjs/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js +22 -16
  8. package/cjs/addons/Editables/ComboboxEditableCell/ComboboxEditableCell.js +22 -15
  9. package/cjs/addons/Editables/DateEditableCell/DateEditableCell.js +22 -13
  10. package/cjs/addons/Editables/TextEditableCell/TextEditableCell.js +38 -13
  11. package/cjs/addons/Filters/Components/CurrencyRangeFilter/index.js +169 -0
  12. package/cjs/addons/Filters/Components/DateRangeFilter/index.js +26 -19
  13. package/cjs/addons/Filters/Components/DateSwitcherFilter/index.js +145 -0
  14. package/cjs/addons/Filters/Components/NumberRangeFilter/index.js +95 -37
  15. package/cjs/addons/Filters/Components/SelectFilter/BaseSelectFilter.js +88 -91
  16. package/cjs/addons/Filters/Components/SelectFilter/MultiSelectFilter.js +46 -34
  17. package/cjs/addons/Filters/Components/SelectFilter/SingleSelectFilter.js +46 -32
  18. package/cjs/addons/Filters/Components/SelectFilter/components.js +6 -6
  19. package/cjs/addons/Filters/Components/SelectFilter/useSelectFilterHandlers.js +17 -13
  20. package/cjs/addons/Filters/Components/SelectFilter/utils.js +14 -8
  21. package/cjs/addons/Filters/Components/SingleDateFilter/index.js +25 -18
  22. package/cjs/addons/Filters/Components/index.js +8 -6
  23. package/cjs/addons/Filters/index.js +8 -6
  24. package/cjs/addons/Pagination/Pagination.js +19 -54
  25. package/cjs/configs/constants.js +4 -4
  26. package/cjs/configs/fixedSizes.js +1 -1
  27. package/cjs/configs/index.js +1 -3
  28. package/cjs/configs/useDatatableConfig.js +8 -2
  29. package/cjs/configs/usePaginationConfig.js +10 -4
  30. package/cjs/configs/useRowFlattenization.js +14 -7
  31. package/cjs/configs/useTableColsWithAddons.js +36 -21
  32. package/cjs/exported-related/EditableCell.js +22 -7
  33. package/cjs/exported-related/FilterPopover.js +72 -78
  34. package/cjs/exported-related/FilterTypes.js +3 -2
  35. package/cjs/exported-related/Filters/applyOutOfTheBoxFilters.js +8 -3
  36. package/cjs/exported-related/Filters/currencyRangeFilterFn.js +24 -0
  37. package/cjs/exported-related/Filters/dateRangeFilterFn.js +13 -7
  38. package/cjs/exported-related/Filters/dateSwitcherFilterFn.js +12 -0
  39. package/cjs/exported-related/Filters/index.js +2 -2
  40. package/cjs/exported-related/Filters/multiSelectFilterFn.js +9 -3
  41. package/cjs/exported-related/Filters/numberRangeFilterFn.js +7 -1
  42. package/cjs/exported-related/Filters/singleDateFilterFn.js +13 -7
  43. package/cjs/exported-related/Filters/singleSelectFilterFn.js +5 -1
  44. package/cjs/exported-related/RowRenderer/DefaultRowContentRenderer.js +18 -6
  45. package/cjs/exported-related/RowRenderer/index.js +20 -12
  46. package/cjs/exported-related/RowRenderer/useRowRendererHandlers.js +58 -17
  47. package/cjs/exported-related/RowRenderer/useRowRendererProperties.js +13 -5
  48. package/cjs/exported-related/RowRenderer/useRowStyle.js +7 -6
  49. package/cjs/exported-related/Toolbar/Toolbar.js +48 -28
  50. package/cjs/exported-related/groupBy.js +14 -5
  51. package/cjs/exported-related/index.js +2 -2
  52. package/cjs/helpers/addCellData.js +16 -6
  53. package/cjs/helpers/cellPadding.js +17 -11
  54. package/cjs/helpers/columnsToGrid.js +6 -1
  55. package/cjs/helpers/getIdFromUniqueRowAccessor.js +3 -0
  56. package/cjs/helpers/refs-helpers.js +13 -3
  57. package/cjs/helpers/sizeToCss.js +1 -1
  58. package/cjs/hooks/useRecoverFocusCol.js +1 -0
  59. package/cjs/index.js +2 -2
  60. package/cjs/parts/Cells/Cell.js +38 -26
  61. package/cjs/parts/Cells/index.js +7 -5
  62. package/cjs/parts/Cells/useCellStyle.js +3 -3
  63. package/cjs/parts/DnDHandle.js +31 -22
  64. package/cjs/parts/DropIndicator.js +33 -33
  65. package/cjs/parts/EmptyContent.js +23 -20
  66. package/cjs/parts/FilterBar/FiltersBar.js +62 -33
  67. package/cjs/parts/FilterBar/components/DateRangePill.js +23 -12
  68. package/cjs/parts/FilterBar/components/DateSwitcherPill.js +45 -0
  69. package/cjs/parts/FilterBar/components/MultiSelectPill.js +34 -14
  70. package/cjs/parts/FilterBar/components/NumberRangePill.js +25 -12
  71. package/cjs/parts/FilterBar/components/SelectPill.js +23 -12
  72. package/cjs/parts/FilterBar/components/SingleDatePill.js +22 -11
  73. package/cjs/parts/FilterBar/components/index.js +2 -2
  74. package/cjs/parts/FilterBar/styled.js +2 -2
  75. package/cjs/parts/Filters/index.js +34 -22
  76. package/cjs/parts/Footer.js +9 -6
  77. package/cjs/parts/Headers/EmptyChildrenGroup.js +2 -2
  78. package/cjs/parts/Headers/HeaderCell.js +34 -26
  79. package/cjs/parts/Headers/HeaderCellGroup.js +31 -21
  80. package/cjs/parts/Headers/HeaderCellTitle.js +61 -27
  81. package/cjs/parts/Headers/HeaderResizer.js +22 -13
  82. package/cjs/parts/Headers/RequiredDot.js +2 -2
  83. package/cjs/parts/Headers/index.js +6 -4
  84. package/cjs/parts/Headers/useHeaderCellConfig.js +12 -7
  85. package/cjs/parts/Headers/useHeaderCellHandlers.js +32 -21
  86. package/cjs/parts/HoC/withConditionalDnDColumnContext.js +52 -21
  87. package/cjs/parts/HoC/withConditionalDnDRowContext.js +21 -16
  88. package/cjs/parts/HoC/withConditionalDnDSortableContext.js +24 -14
  89. package/cjs/parts/HoC/withDnDSortableColumnContext.js +13 -22
  90. package/cjs/parts/HoC/withDnDSortableRowContext.js +11 -20
  91. package/cjs/parts/Loader.js +3 -3
  92. package/cjs/parts/Row.js +18 -12
  93. package/cjs/parts/RowLoading.js +14 -8
  94. package/cjs/parts/RowVariants/RowVariantHeader.js +37 -24
  95. package/cjs/parts/RowVariants/RowVariantPrimary.js +11 -10
  96. package/cjs/parts/RowVariants/RowVariantSecondary.js +11 -10
  97. package/cjs/parts/RowVariants/index.js +22 -13
  98. package/cjs/parts/Rows.js +12 -5
  99. package/cjs/parts/SortByCaret.js +16 -16
  100. package/cjs/parts/SortableHeaderCell.js +7 -2
  101. package/cjs/parts/TableContent.js +22 -12
  102. package/cjs/parts/VirtualRowsList.js +17 -10
  103. package/cjs/parts/index.js +1 -1
  104. package/cjs/prop-types.js +30 -25
  105. package/cjs/redux/reducers/headersReducers/logic.js +11 -5
  106. package/cjs/redux/reducers/index.js +1 -1
  107. package/cjs/redux/storeConfig.js +1 -1
  108. package/cjs/styled.js +133 -120
  109. package/esm/DataTable.js +5 -0
  110. package/esm/DataTableSchema.js +32 -20
  111. package/esm/addons/Columns/ColumnDragHandle/ColumnDragHandle.js +9 -8
  112. package/esm/addons/Columns/ColumnExpand/ColumnExpand.js +52 -29
  113. package/esm/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js +27 -19
  114. package/esm/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js +18 -11
  115. package/esm/addons/Editables/ComboboxEditableCell/ComboboxEditableCell.js +19 -11
  116. package/esm/addons/Editables/DateEditableCell/DateEditableCell.js +19 -10
  117. package/esm/addons/Editables/TextEditableCell/TextEditableCell.js +34 -9
  118. package/esm/addons/Filters/Components/CurrencyRangeFilter/index.js +159 -0
  119. package/esm/addons/Filters/Components/DateRangeFilter/index.js +20 -12
  120. package/esm/addons/Filters/Components/DateSwitcherFilter/index.js +136 -0
  121. package/esm/addons/Filters/Components/NumberRangeFilter/index.js +92 -32
  122. package/esm/addons/Filters/Components/SelectFilter/BaseSelectFilter.js +87 -87
  123. package/esm/addons/Filters/Components/SelectFilter/MultiSelectFilter.js +46 -34
  124. package/esm/addons/Filters/Components/SelectFilter/SingleSelectFilter.js +46 -32
  125. package/esm/addons/Filters/Components/SelectFilter/useSelectFilterHandlers.js +17 -13
  126. package/esm/addons/Filters/Components/SelectFilter/utils.js +14 -8
  127. package/esm/addons/Filters/Components/SingleDateFilter/index.js +19 -11
  128. package/esm/addons/Filters/Components/index.js +2 -1
  129. package/esm/addons/Filters/index.js +2 -1
  130. package/esm/addons/Pagination/Pagination.js +17 -52
  131. package/esm/configs/constants.js +4 -4
  132. package/esm/configs/fixedSizes.js +1 -1
  133. package/esm/configs/useDatatableConfig.js +8 -2
  134. package/esm/configs/usePaginationConfig.js +10 -4
  135. package/esm/configs/useRowFlattenization.js +14 -7
  136. package/esm/configs/useTableColsWithAddons.js +36 -21
  137. package/esm/exported-related/EditableCell.js +21 -6
  138. package/esm/exported-related/FilterPopover.js +67 -73
  139. package/esm/exported-related/FilterTypes.js +3 -2
  140. package/esm/exported-related/Filters/applyOutOfTheBoxFilters.js +8 -3
  141. package/esm/exported-related/Filters/currencyRangeFilterFn.js +20 -0
  142. package/esm/exported-related/Filters/dateRangeFilterFn.js +12 -6
  143. package/esm/exported-related/Filters/dateSwitcherFilterFn.js +8 -0
  144. package/esm/exported-related/Filters/index.js +1 -1
  145. package/esm/exported-related/Filters/multiSelectFilterFn.js +9 -3
  146. package/esm/exported-related/Filters/numberRangeFilterFn.js +7 -1
  147. package/esm/exported-related/Filters/singleDateFilterFn.js +12 -6
  148. package/esm/exported-related/Filters/singleSelectFilterFn.js +5 -1
  149. package/esm/exported-related/RowRenderer/DefaultRowContentRenderer.js +14 -2
  150. package/esm/exported-related/RowRenderer/index.js +15 -7
  151. package/esm/exported-related/RowRenderer/useRowRendererHandlers.js +57 -16
  152. package/esm/exported-related/RowRenderer/useRowRendererProperties.js +11 -3
  153. package/esm/exported-related/RowRenderer/useRowStyle.js +6 -5
  154. package/esm/exported-related/Toolbar/Toolbar.js +46 -25
  155. package/esm/exported-related/groupBy.js +14 -5
  156. package/esm/exported-related/index.js +1 -1
  157. package/esm/helpers/addCellData.js +16 -6
  158. package/esm/helpers/cellPadding.js +17 -11
  159. package/esm/helpers/columnsToGrid.js +6 -1
  160. package/esm/helpers/getIdFromUniqueRowAccessor.js +3 -0
  161. package/esm/helpers/refs-helpers.js +13 -3
  162. package/esm/helpers/sizeToCss.js +1 -1
  163. package/esm/hooks/useRecoverFocusCol.js +1 -0
  164. package/esm/index.js +1 -1
  165. package/esm/parts/Cells/Cell.js +34 -22
  166. package/esm/parts/Cells/index.js +4 -2
  167. package/esm/parts/Cells/useCellStyle.js +2 -2
  168. package/esm/parts/DnDHandle.js +28 -18
  169. package/esm/parts/DropIndicator.js +29 -29
  170. package/esm/parts/EmptyContent.js +11 -7
  171. package/esm/parts/FilterBar/FiltersBar.js +58 -29
  172. package/esm/parts/FilterBar/components/DateRangePill.js +24 -13
  173. package/esm/parts/FilterBar/components/DateSwitcherPill.js +37 -0
  174. package/esm/parts/FilterBar/components/MultiSelectPill.js +35 -15
  175. package/esm/parts/FilterBar/components/NumberRangePill.js +26 -13
  176. package/esm/parts/FilterBar/components/SelectPill.js +24 -13
  177. package/esm/parts/FilterBar/components/SingleDatePill.js +23 -12
  178. package/esm/parts/FilterBar/components/index.js +1 -1
  179. package/esm/parts/Filters/index.js +29 -17
  180. package/esm/parts/Footer.js +8 -5
  181. package/esm/parts/Headers/HeaderCell.js +23 -15
  182. package/esm/parts/Headers/HeaderCellGroup.js +26 -17
  183. package/esm/parts/Headers/HeaderCellTitle.js +60 -26
  184. package/esm/parts/Headers/HeaderResizer.js +20 -11
  185. package/esm/parts/Headers/index.js +4 -2
  186. package/esm/parts/Headers/useHeaderCellConfig.js +12 -7
  187. package/esm/parts/Headers/useHeaderCellHandlers.js +31 -20
  188. package/esm/parts/HoC/withConditionalDnDColumnContext.js +49 -18
  189. package/esm/parts/HoC/withConditionalDnDRowContext.js +16 -11
  190. package/esm/parts/HoC/withConditionalDnDSortableContext.js +22 -12
  191. package/esm/parts/HoC/withDnDSortableColumnContext.js +11 -20
  192. package/esm/parts/HoC/withDnDSortableRowContext.js +9 -18
  193. package/esm/parts/Row.js +13 -10
  194. package/esm/parts/RowLoading.js +11 -5
  195. package/esm/parts/RowVariants/RowVariantHeader.js +33 -20
  196. package/esm/parts/RowVariants/RowVariantPrimary.js +10 -9
  197. package/esm/parts/RowVariants/RowVariantSecondary.js +10 -9
  198. package/esm/parts/RowVariants/index.js +21 -12
  199. package/esm/parts/Rows.js +9 -2
  200. package/esm/parts/SortByCaret.js +16 -14
  201. package/esm/parts/SortableHeaderCell.js +5 -0
  202. package/esm/parts/TableContent.js +18 -8
  203. package/esm/parts/VirtualRowsList.js +12 -5
  204. package/esm/prop-types.js +5 -0
  205. package/esm/redux/reducers/headersReducers/logic.js +10 -4
  206. package/esm/styled.js +113 -97
  207. package/package.json +55 -108
  208. package/types/DataTable.d.ts +245 -43
  209. package/types/DataTableSchema.d.ts +245 -43
  210. package/types/addons/Filters/Components/CurrencyRangeFilter/index.d.ts +3 -0
  211. package/types/addons/Filters/Components/{TextInputFilter → DateSwitcherFilter}/index.d.ts +1 -1
  212. package/types/addons/Filters/Components/SelectFilter/BaseSelectFilter.d.ts +7 -1
  213. package/types/addons/Filters/Components/SelectFilter/components.d.ts +6 -6
  214. package/types/addons/Filters/Components/index.d.ts +2 -1
  215. package/types/configs/constants.d.ts +3 -3
  216. package/types/exported-related/FilterPopover.d.ts +1 -1
  217. package/types/exported-related/FilterTypes.d.ts +2 -1
  218. package/types/exported-related/Filters/currencyRangeFilterFn.d.ts +5 -0
  219. package/types/exported-related/Filters/dateSwitcherFilterFn.d.ts +6 -0
  220. package/types/exported-related/Filters/index.d.ts +1 -1
  221. package/types/exported-related/Filters/multiSelectFilterFn.d.ts +3 -1
  222. package/types/exported-related/Filters/singleDateFilterFn.d.ts +1 -1
  223. package/types/exported-related/Filters/singleSelectFilterFn.d.ts +3 -1
  224. package/types/exported-related/RowRenderer/useRowRendererHandlers.d.ts +1 -0
  225. package/types/exported-related/Toolbar/Toolbar.d.ts +2 -4
  226. package/types/helpers/refs-helpers.d.ts +1 -1
  227. package/types/parts/FilterBar/components/DateSwitcherPill.d.ts +6 -0
  228. package/types/parts/FilterBar/components/MultiSelectPill.d.ts +2 -2
  229. package/types/parts/FilterBar/components/SelectPill.d.ts +2 -2
  230. package/types/parts/FilterBar/components/index.d.ts +1 -1
  231. package/types/parts/FilterBar/styled.d.ts +167 -32
  232. package/types/parts/FilterBar/types.d.ts +10 -1
  233. package/types/parts/Headers/HeaderCellGroup.d.ts +4 -3
  234. package/types/parts/Row.d.ts +2 -1
  235. package/types/styled.d.ts +23 -21
  236. package/types/types/props.d.ts +14 -4
  237. package/cjs/addons/Filters/Components/TextInputFilter/index.js +0 -85
  238. package/cjs/addons/Pagination/ActiveZoneButtons.js +0 -63
  239. package/cjs/addons/Pagination/PagesButtons.js +0 -77
  240. package/cjs/addons/Pagination/PerPageSelector.js +0 -84
  241. package/cjs/exported-related/Filters/textFilterFn.js +0 -10
  242. package/cjs/helpers/dndkit/hierarchy/customCollisionDetection.js +0 -65
  243. package/cjs/helpers/dndkit/hierarchy/getHierarchyKeyboardCoordinates.js +0 -128
  244. package/cjs/helpers/dndkit/hierarchy/types.js +0 -2
  245. package/cjs/helpers/dndkit/hierarchy/useHierarchyActionHandlers.js +0 -54
  246. package/cjs/helpers/dndkit/hierarchy/useHierarchyAnnouncements.js +0 -36
  247. package/cjs/helpers/dndkit/hierarchy/useHierarchyDndkitConfig.js +0 -92
  248. package/cjs/helpers/dndkit/hierarchy/useHierarchyPreviewHandlers.js +0 -76
  249. package/cjs/helpers/dndkit/tree/customCollisionDetection.js +0 -86
  250. package/cjs/helpers/dndkit/tree/getTreeKeyboardCoordinates.js +0 -126
  251. package/cjs/helpers/dndkit/tree/types.js +0 -2
  252. package/cjs/helpers/dndkit/tree/useTreeActionHandlers.js +0 -74
  253. package/cjs/helpers/dndkit/tree/useTreeAnnouncements.js +0 -55
  254. package/cjs/helpers/dndkit/tree/useTreeDndkitConfig.js +0 -127
  255. package/cjs/helpers/dndkit/tree/useTreePreviewHandlers.js +0 -49
  256. package/cjs/helpers/dndkit/types.js +0 -2
  257. package/cjs/helpers/dndkit/utilities.js +0 -51
  258. package/cjs/package.json +0 -7
  259. package/cjs/parts/FilterBar/components/TextPill.js +0 -31
  260. package/cjs/parts/HoC/DragOverlayContext.js +0 -11
  261. package/esm/addons/Filters/Components/TextInputFilter/index.js +0 -76
  262. package/esm/addons/Pagination/ActiveZoneButtons.js +0 -57
  263. package/esm/addons/Pagination/PagesButtons.js +0 -69
  264. package/esm/addons/Pagination/PerPageSelector.js +0 -73
  265. package/esm/exported-related/Filters/textFilterFn.js +0 -6
  266. package/esm/helpers/dndkit/hierarchy/customCollisionDetection.js +0 -61
  267. package/esm/helpers/dndkit/hierarchy/getHierarchyKeyboardCoordinates.js +0 -120
  268. package/esm/helpers/dndkit/hierarchy/types.js +0 -1
  269. package/esm/helpers/dndkit/hierarchy/useHierarchyActionHandlers.js +0 -50
  270. package/esm/helpers/dndkit/hierarchy/useHierarchyAnnouncements.js +0 -32
  271. package/esm/helpers/dndkit/hierarchy/useHierarchyDndkitConfig.js +0 -86
  272. package/esm/helpers/dndkit/hierarchy/useHierarchyPreviewHandlers.js +0 -72
  273. package/esm/helpers/dndkit/tree/customCollisionDetection.js +0 -82
  274. package/esm/helpers/dndkit/tree/getTreeKeyboardCoordinates.js +0 -118
  275. package/esm/helpers/dndkit/tree/types.js +0 -1
  276. package/esm/helpers/dndkit/tree/useTreeActionHandlers.js +0 -70
  277. package/esm/helpers/dndkit/tree/useTreeAnnouncements.js +0 -51
  278. package/esm/helpers/dndkit/tree/useTreeDndkitConfig.js +0 -121
  279. package/esm/helpers/dndkit/tree/useTreePreviewHandlers.js +0 -45
  280. package/esm/helpers/dndkit/types.js +0 -1
  281. package/esm/helpers/dndkit/utilities.js +0 -46
  282. package/esm/package.json +0 -7
  283. package/esm/parts/FilterBar/components/TextPill.js +0 -23
  284. package/esm/parts/HoC/DragOverlayContext.js +0 -7
  285. package/types/addons/Pagination/ActiveZoneButtons.d.ts +0 -9
  286. package/types/addons/Pagination/PagesButtons.d.ts +0 -4
  287. package/types/addons/Pagination/PerPageSelector.d.ts +0 -8
  288. package/types/exported-related/Filters/textFilterFn.d.ts +0 -2
  289. package/types/helpers/dndkit/hierarchy/customCollisionDetection.d.ts +0 -3
  290. package/types/helpers/dndkit/hierarchy/getHierarchyKeyboardCoordinates.d.ts +0 -3
  291. package/types/helpers/dndkit/hierarchy/types.d.ts +0 -66
  292. package/types/helpers/dndkit/hierarchy/useHierarchyActionHandlers.d.ts +0 -2
  293. package/types/helpers/dndkit/hierarchy/useHierarchyAnnouncements.d.ts +0 -3
  294. package/types/helpers/dndkit/hierarchy/useHierarchyDndkitConfig.d.ts +0 -3
  295. package/types/helpers/dndkit/hierarchy/useHierarchyPreviewHandlers.d.ts +0 -2
  296. package/types/helpers/dndkit/tree/customCollisionDetection.d.ts +0 -4
  297. package/types/helpers/dndkit/tree/getTreeKeyboardCoordinates.d.ts +0 -3
  298. package/types/helpers/dndkit/tree/types.d.ts +0 -83
  299. package/types/helpers/dndkit/tree/useTreeActionHandlers.d.ts +0 -2
  300. package/types/helpers/dndkit/tree/useTreeAnnouncements.d.ts +0 -4
  301. package/types/helpers/dndkit/tree/useTreeDndkitConfig.d.ts +0 -3
  302. package/types/helpers/dndkit/tree/useTreePreviewHandlers.d.ts +0 -2
  303. package/types/helpers/dndkit/types.d.ts +0 -20
  304. package/types/helpers/dndkit/utilities.d.ts +0 -7
  305. package/types/parts/FilterBar/components/TextPill.d.ts +0 -2
  306. package/types/parts/HoC/DragOverlayContext.d.ts +0 -6
@@ -1,38 +1,47 @@
1
1
  import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
2
+ import 'core-js/modules/web.dom-collections.iterator.js';
3
+ import 'core-js/modules/esnext.async-iterator.map.js';
4
+ import 'core-js/modules/esnext.iterator.map.js';
5
+ import 'core-js/modules/esnext.async-iterator.filter.js';
6
+ import 'core-js/modules/esnext.iterator.constructor.js';
7
+ import 'core-js/modules/esnext.iterator.filter.js';
8
+ import 'core-js/modules/esnext.async-iterator.for-each.js';
9
+ import 'core-js/modules/esnext.iterator.for-each.js';
2
10
  import { useContext, useState, useMemo, useEffect, useRef, useCallback } from 'react';
3
11
  import { ColsLayoutStyle } from '../../configs/constants.js';
12
+ import 'core-js/modules/esnext.async-iterator.reduce.js';
13
+ import 'core-js/modules/esnext.iterator.reduce.js';
4
14
  import 'react-virtual';
5
15
  import { columnsToGrid } from '../../helpers/columnsToGrid.js';
6
16
  import '../../configs/useRowFlattenization.js';
7
17
  import '@babel/runtime/helpers/esm/jsx';
8
- import '@elliemae/ds-icons/ArrowShortReturn';
9
- import 'styled-components';
10
18
  import '@elliemae/ds-icons';
19
+ import 'styled-components';
11
20
  import { StyledResizer } from '../../styled.js';
12
21
  import { jsx } from 'react/jsx-runtime';
13
- import '@elliemae/ds-form/Checkbox';
14
- import '@elliemae/ds-form/Radio';
22
+ import '@elliemae/ds-form';
15
23
  import '../TableContent.js';
16
24
  import '@elliemae/ds-grid';
17
25
  import '@elliemae/ds-circular-progress-indicator';
18
- import '@elliemae/ds-icons/WarningTriangle';
19
26
  import '@elliemae/ds-system';
20
27
  import '@elliemae/ds-button';
21
28
  import DataTableContext from '../../DataTableContext.js';
22
29
  import '../Row.js';
23
30
  import '../Footer.js';
24
- import '@elliemae/ds-icons/GripperVertical';
25
31
  import '../HoC/SortableItemContext.js';
26
32
 
27
33
  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; }
28
34
 
29
35
  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; }
30
36
 
31
- const narrow = (value, min, max) => Math.min(Math.max(value, min ?? 30), max ?? Infinity);
37
+ const narrow = (value, min, max) => Math.min(Math.max(value, min !== null && min !== void 0 ? min : 30), max !== null && max !== void 0 ? max : Infinity);
38
+
39
+ const HeaderResizer = _ref => {
40
+ var _column$width;
32
41
 
33
- const HeaderResizer = ({
34
- column
35
- }) => {
42
+ let {
43
+ column
44
+ } = _ref;
36
45
  const {
37
46
  layoutHelpers: {
38
47
  setGridLayout
@@ -43,7 +52,7 @@ const HeaderResizer = ({
43
52
  }
44
53
  } = useContext(DataTableContext);
45
54
  const [isResizing, setIsResizing] = useState(false);
46
- const [nextWidth, setNextWidth] = useState(column.width ?? 150);
55
+ const [nextWidth, setNextWidth] = useState((_column$width = column.width) !== null && _column$width !== void 0 ? _column$width : 150);
47
56
  const visibleColumnsCopy = useMemo(() => visibleColumns.map(col => _objectSpread({}, col)), [visibleColumns]);
48
57
  useEffect(() => {
49
58
  const realColumnIndex = visibleColumnsCopy.findIndex(visibleColumn => visibleColumn.id === column.id);
@@ -1,9 +1,11 @@
1
1
  import _jsx from '@babel/runtime/helpers/esm/jsx';
2
+ import 'core-js/modules/esnext.async-iterator.map.js';
3
+ import 'core-js/modules/esnext.iterator.map.js';
2
4
  import { useContext, useMemo } from 'react';
3
5
  import { StyledHeadTr, StyledHeadWrapper } from '../../styled.js';
4
6
  import DataTableContext from '../../DataTableContext.js';
5
7
  import { withConditionalDnDColumnContext } from '../HoC/withConditionalDnDColumnContext.js';
6
- import { HeaderCellGroup } from './HeaderCellGroup.js';
8
+ import HeaderCellGroupSortable from './HeaderCellGroup.js';
7
9
  import { SortableHeaderCell } from '../SortableHeaderCell.js';
8
10
  import { jsx } from 'react/jsx-runtime';
9
11
 
@@ -27,7 +29,7 @@ const HeadersComp = () => {
27
29
  cols: gridLayout,
28
30
  colsLayoutStyle: colsLayoutStyle,
29
31
  isExpandable: isExpandable
30
- }, void 0, visibleColumns.map((h, index) => /*#__PURE__*/_jsx(HeaderCellGroup, {
32
+ }, void 0, visibleColumns.map((h, index) => /*#__PURE__*/_jsx(HeaderCellGroupSortable, {
31
33
  header: h,
32
34
  isLast: index === visibleColumns.length - 1
33
35
  }, h.id)))), [isExpandable, visibleColumns, gridLayout, colsLayoutStyle]);
@@ -1,11 +1,16 @@
1
+ import 'core-js/modules/esnext.async-iterator.filter.js';
2
+ import 'core-js/modules/esnext.iterator.constructor.js';
3
+ import 'core-js/modules/esnext.iterator.filter.js';
4
+
1
5
  /* eslint-disable complexity */
2
- const useHeaderCellConfig = ({
3
- column,
4
- dragAndDropColumns,
5
- draggableProps,
6
- reduxHeader,
7
- isDragOverlay
8
- }) => {
6
+ const useHeaderCellConfig = _ref => {
7
+ let {
8
+ column,
9
+ dragAndDropColumns,
10
+ draggableProps,
11
+ reduxHeader,
12
+ isDragOverlay
13
+ } = _ref;
9
14
  const hasFilter = !!(column.filter || column.Filter);
10
15
  const hasDnD = dragAndDropColumns && !column.disableDnD;
11
16
  const hasSortingCaret = column.canSort && typeof column.isSortedDesc === 'boolean';
@@ -1,3 +1,8 @@
1
+ import 'core-js/modules/esnext.async-iterator.filter.js';
2
+ import 'core-js/modules/esnext.iterator.constructor.js';
3
+ import 'core-js/modules/esnext.iterator.filter.js';
4
+ import 'core-js/modules/esnext.async-iterator.for-each.js';
5
+ import 'core-js/modules/esnext.iterator.for-each.js';
1
6
  import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
2
7
  import { useCallback } from 'react';
3
8
 
@@ -5,30 +10,36 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
5
10
 
6
11
  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; }
7
12
 
8
- const buildNextHeader = (reduxHeader, value, hasFilter, hasDnD, withTabStops = false) => _objectSpread(_objectSpread({
9
- hideFilterMenu: true
10
- }, reduxHeader), {}, {
11
- hideFilterButton: !(hasFilter && value),
12
- showDnDHandle: hasDnD && value,
13
- withTabStops
14
- });
13
+ const buildNextHeader = function (reduxHeader, value, hasFilter, hasDnD) {
14
+ let withTabStops = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
15
+ return _objectSpread(_objectSpread({
16
+ hideFilterMenu: true
17
+ }, reduxHeader), {}, {
18
+ hideFilterButton: !(hasFilter && value),
19
+ showDnDHandle: hasDnD && value,
20
+ withTabStops
21
+ });
22
+ };
15
23
 
16
- const useHeaderCellHandlers = ({
17
- hasFilter,
18
- patchHeader,
19
- column,
20
- reduxHeader,
21
- hasDnD,
22
- onColumnSortChange,
23
- dragHandleRef,
24
- filterIconRef,
25
- headerRef
26
- }) => {
24
+ const useHeaderCellHandlers = _ref => {
25
+ let {
26
+ hasFilter,
27
+ patchHeader,
28
+ column,
29
+ reduxHeader,
30
+ hasDnD,
31
+ onColumnSortChange,
32
+ dragHandleRef,
33
+ filterIconRef,
34
+ headerRef
35
+ } = _ref;
27
36
  const onMouseEnter = useCallback(() => {
28
37
  patchHeader(column.id, buildNextHeader(reduxHeader, true, hasFilter, hasDnD));
29
38
  }, [column.id, hasDnD, hasFilter, patchHeader, reduxHeader]);
30
39
  const onMouseLeave = useCallback(() => {
31
- if (!headerRef.current.contains(document.activeElement)) {
40
+ var _headerRef$current;
41
+
42
+ if (!(headerRef !== null && headerRef !== void 0 && (_headerRef$current = headerRef.current) !== null && _headerRef$current !== void 0 && _headerRef$current.contains(document.activeElement))) {
32
43
  patchHeader(column.id, buildNextHeader(reduxHeader, false, hasFilter, hasDnD));
33
44
  }
34
45
  }, [column.id, hasDnD, hasFilter, headerRef, patchHeader, reduxHeader]);
@@ -63,7 +74,7 @@ const useHeaderCellHandlers = ({
63
74
  }, [column.canSort, column.id, onColumnSortChange, patchHeader, reduxHeader, hasFilter, hasDnD, dragHandleRef, filterIconRef]);
64
75
  const onFocus = useCallback(e => {
65
76
  // Don't do anything if focus wasn't placed in the element (bubling issues)
66
- if (e.target === headerRef.current) {
77
+ if (e.target === (headerRef === null || headerRef === void 0 ? void 0 : headerRef.current)) {
67
78
  patchHeader(column.id, buildNextHeader(reduxHeader, true, hasFilter, hasDnD));
68
79
  }
69
80
  }, [column.id, hasDnD, hasFilter, headerRef, patchHeader, reduxHeader]);
@@ -1,11 +1,20 @@
1
+ import 'core-js/modules/esnext.async-iterator.filter.js';
2
+ import 'core-js/modules/esnext.iterator.filter.js';
1
3
  import _jsx from '@babel/runtime/helpers/esm/jsx';
2
4
  import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
5
+ import 'core-js/modules/esnext.async-iterator.for-each.js';
6
+ import 'core-js/modules/esnext.iterator.constructor.js';
7
+ import 'core-js/modules/esnext.iterator.for-each.js';
8
+ import 'core-js/modules/web.dom-collections.iterator.js';
9
+ import 'core-js/modules/esnext.async-iterator.find.js';
10
+ import 'core-js/modules/esnext.iterator.find.js';
3
11
  import React, { useMemo, useCallback, createContext } from 'react';
4
12
  import { DndContext, DragOverlay } from '@dnd-kit/core';
13
+ import { useHierarchyDndkitConfig } from '@elliemae/ds-drag-and-drop';
5
14
  import { arrayMove } from '@dnd-kit/sortable';
6
- import { DragOverlayContext } from './DragOverlayContext.js';
7
- import useHierarchyDndkitConfig from '../../helpers/dndkit/hierarchy/useHierarchyDndkitConfig.js';
8
15
  import DataTableContext from '../../DataTableContext.js';
16
+ import { HeaderCellGroup } from '../Headers/HeaderCellGroup.js';
17
+ import { DATA_TESTID } from '../../configs/constants.js';
9
18
  import { jsxs, jsx } from 'react/jsx-runtime';
10
19
 
11
20
  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; }
@@ -18,8 +27,11 @@ const DnDGroupContext = /*#__PURE__*/createContext({
18
27
  const flattenColumns = cols => {
19
28
  const flattened = [];
20
29
 
21
- const flatten = (col, index, parentId = null) => {
22
- const id = col.Header;
30
+ const flatten = function (col, index) {
31
+ let parentId = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
32
+ const {
33
+ id
34
+ } = col;
23
35
  flattened.push([{
24
36
  id,
25
37
  parentId,
@@ -37,24 +49,25 @@ const withConditionalDnDColumnContext = Component => props => {
37
49
  const {
38
50
  tableProps: {
39
51
  dragAndDropColumns,
40
- columns,
41
52
  onColumnsReorder
42
- }
53
+ },
54
+ visibleColumns
43
55
  } = React.useContext(DataTableContext);
44
- const [PureDraggedJSX, setPureDraggedJSX] = React.useState(null); // todo: check if this can be done via portal
45
-
46
- const flattenedItems = useMemo(() => flattenColumns(columns), [columns]);
56
+ const flattenedItems = useMemo(() => flattenColumns(visibleColumns), [visibleColumns]);
47
57
  const onReorder = useCallback((movedItem, indexes) => {
48
58
  // Send from index to target index
49
59
  const newFlattenedData = arrayMove(flattenedItems, indexes.fromIndex, indexes.targetIndex); // Pull the cols's data into an object
50
60
 
51
61
  const nodes = {};
52
- newFlattenedData.forEach(([dndData, colData]) => {
62
+ newFlattenedData.forEach(_ref => {
63
+ let [dndData, colData] = _ref;
53
64
  delete colData.columns;
54
65
  nodes[dndData.id] = colData;
55
66
  });
56
67
  const newData = [];
57
- newFlattenedData.forEach(([dndData, colData]) => {
68
+ newFlattenedData.forEach(_ref2 => {
69
+ let [dndData, colData] = _ref2;
70
+
58
71
  // If row has parent, insert it to it's subrows
59
72
  // otherwise append it to the new user data
60
73
  if (dndData.parentId) {
@@ -64,25 +77,43 @@ const withConditionalDnDColumnContext = Component => props => {
64
77
  });
65
78
  onColumnsReorder(newData, indexes);
66
79
  }, [flattenedItems, onColumnsReorder]);
80
+ const onPreviewResetState = useCallback(() => {
81
+ const el = document.body.querySelector("[data-testid=\"".concat(DATA_TESTID.DATA_TABLE_SCROLLABLE_CONTAINER, "\"]"));
82
+ if (el) el.onscroll = () => null;
83
+ }, []);
84
+ const onPreviewDragStart = useCallback(() => {
85
+ const el = document.body.querySelector("[data-testid=\"".concat(DATA_TESTID.DATA_TABLE_SCROLLABLE_CONTAINER, "\"]"));
86
+
87
+ if (el) {
88
+ const y = el.scrollTop;
89
+
90
+ el.onscroll = () => el.scrollTo(0, y);
91
+ }
92
+ }, []);
67
93
  const {
68
94
  dndContextProps,
69
95
  activeId,
70
96
  activeIndex
71
97
  } = useHierarchyDndkitConfig({
72
98
  flattenedItems,
99
+ dragOverlayDataTestid: DATA_TESTID.DATA_TABLE_COLUMN_DRAG_OVERLAY,
73
100
  isHorizontalDnD: true,
74
- onReorder
101
+ onReorder,
102
+ onPreviewResetState,
103
+ onPreviewDragStart
75
104
  });
76
105
  if (dragAndDropColumns) return /*#__PURE__*/jsxs(DndContext, _objectSpread(_objectSpread({}, dndContextProps), {}, {
77
- children: [/*#__PURE__*/_jsx(DragOverlayContext.Provider, {
78
- value: {
79
- setPureDraggedJSX
80
- }
81
- }, void 0, /*#__PURE__*/_jsx(DnDGroupContext.Provider, {
106
+ children: [/*#__PURE__*/_jsx(DnDGroupContext.Provider, {
82
107
  value: {
83
108
  activeIndex
84
109
  }
85
- }, void 0, /*#__PURE__*/jsx(Component, _objectSpread({}, props)))), /*#__PURE__*/_jsx(DragOverlay, {}, void 0, activeId ? PureDraggedJSX : null)]
110
+ }, void 0, /*#__PURE__*/jsx(Component, _objectSpread({}, props))), /*#__PURE__*/_jsx(DragOverlay, {}, void 0, activeId ? /*#__PURE__*/_jsx(HeaderCellGroup, {
111
+ header: flattenedItems.find(_ref3 => {
112
+ let [item] = _ref3;
113
+ return item.id === activeId;
114
+ })[1],
115
+ isDragOverlay: true
116
+ }) : null)]
86
117
  }));
87
118
  return /*#__PURE__*/jsx(Component, _objectSpread({}, props));
88
119
  };
@@ -1,12 +1,20 @@
1
+ import 'core-js/modules/esnext.async-iterator.filter.js';
2
+ import 'core-js/modules/esnext.iterator.filter.js';
1
3
  import _jsx from '@babel/runtime/helpers/esm/jsx';
2
4
  import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
5
+ import 'core-js/modules/web.dom-collections.iterator.js';
6
+ import 'core-js/modules/esnext.async-iterator.for-each.js';
7
+ import 'core-js/modules/esnext.iterator.constructor.js';
8
+ import 'core-js/modules/esnext.iterator.for-each.js';
9
+ import 'core-js/modules/esnext.async-iterator.find.js';
10
+ import 'core-js/modules/esnext.iterator.find.js';
3
11
  import React, { createContext, useCallback } from 'react';
4
12
  import { DndContext, DragOverlay } from '@dnd-kit/core';
5
13
  import { SortableContext } from '@dnd-kit/sortable';
6
14
  import DataTableContext from '../../DataTableContext.js';
7
- import useTreeDndkitConfig from '../../helpers/dndkit/tree/useTreeDndkitConfig.js';
8
- import { DragOverlayContext } from './DragOverlayContext.js';
15
+ import { useTreeDndkitConfig } from '@elliemae/ds-drag-and-drop';
9
16
  import { DropIndicatorPosition } from './SortableItemContext.js';
17
+ import { Row } from '../Row.js';
10
18
  import { jsxs, jsx } from 'react/jsx-runtime';
11
19
 
12
20
  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; }
@@ -32,8 +40,6 @@ const withConditionalDnDRowContext = Component => props => {
32
40
  flattenedData,
33
41
  allDataFlattened
34
42
  } = React.useContext(DataTableContext);
35
- const [PureDraggedJSX, setPureDraggedJSX] = React.useState(null); // todo: check if this can be done via portal
36
-
37
43
  const [lastActiveId, setLastActiveId] = React.useState(null);
38
44
  const onReorder = useCallback((newData, indexes, considerExpanding) => {
39
45
  // Pull the row's original data into an object
@@ -73,11 +79,7 @@ const withConditionalDnDRowContext = Component => props => {
73
79
  if (lastActiveId !== activeId && activeId) setLastActiveId(activeId);
74
80
  if (dragAndDropRows) return /*#__PURE__*/jsxs(DndContext, _objectSpread(_objectSpread({}, dndContextProps), {}, {
75
81
  children: [/*#__PURE__*/jsx(SortableContext, _objectSpread(_objectSpread({}, sortableContextProps), {}, {
76
- children: /*#__PURE__*/_jsx(DragOverlayContext.Provider, {
77
- value: {
78
- setPureDraggedJSX
79
- }
80
- }, void 0, /*#__PURE__*/_jsx(DnDTreeContext.Provider, {
82
+ children: /*#__PURE__*/_jsx(DnDTreeContext.Provider, {
81
83
  value: {
82
84
  activeIndex,
83
85
  depth,
@@ -86,12 +88,15 @@ const withConditionalDnDRowContext = Component => props => {
86
88
  lastActiveId,
87
89
  setLastActiveId
88
90
  }
89
- }, void 0, /*#__PURE__*/jsx(Component, _objectSpread({}, props))))
91
+ }, void 0, /*#__PURE__*/jsx(Component, _objectSpread({}, props)))
90
92
  })), /*#__PURE__*/_jsx(DragOverlay, {
91
93
  style: {
92
94
  width: 'auto'
93
95
  }
94
- }, void 0, activeId ? PureDraggedJSX : null)]
96
+ }, void 0, activeId ? /*#__PURE__*/_jsx(Row, {
97
+ row: flattenedData.find(row => row.uid === activeId),
98
+ isDragOverlay: true
99
+ }) : null)]
95
100
  }));
96
101
  return /*#__PURE__*/jsx(Component, _objectSpread({}, props));
97
102
  };
@@ -1,5 +1,12 @@
1
1
  import _jsx from '@babel/runtime/helpers/esm/jsx';
2
2
  import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
3
+ import 'core-js/modules/esnext.async-iterator.map.js';
4
+ import 'core-js/modules/esnext.iterator.map.js';
5
+ import 'core-js/modules/esnext.async-iterator.filter.js';
6
+ import 'core-js/modules/esnext.iterator.constructor.js';
7
+ import 'core-js/modules/esnext.iterator.filter.js';
8
+ import 'core-js/modules/esnext.async-iterator.for-each.js';
9
+ import 'core-js/modules/esnext.iterator.for-each.js';
3
10
  import { SortableContext, horizontalListSortingStrategy } from '@dnd-kit/sortable';
4
11
  import { useContext } from 'react';
5
12
  import DataTableContext from '../../DataTableContext.js';
@@ -8,19 +15,22 @@ import { jsx } from 'react/jsx-runtime';
8
15
  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; }
9
16
 
10
17
  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; }
11
- const withConditionalDnDSortableContext = (items, isDragOverlay = false) => Component => props => {
12
- const {
13
- tableProps: {
14
- dragAndDropColumns
15
- }
16
- } = useContext(DataTableContext); // Only add the context if it's not a dragOverlay and dnd for cols was requested
17
- // It's important that drag overlays DO NOT have any sortable functionality!
18
+ const withConditionalDnDSortableContext = function (items) {
19
+ let isDragOverlay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
20
+ return Component => props => {
21
+ const {
22
+ tableProps: {
23
+ dragAndDropColumns
24
+ }
25
+ } = useContext(DataTableContext); // Only add the context if it's not a dragOverlay and dnd for cols was requested
26
+ // It's important that drag overlays DO NOT have any sortable functionality!
18
27
 
19
- if (!isDragOverlay && dragAndDropColumns) return /*#__PURE__*/_jsx(SortableContext, {
20
- items: items.map(item => item.Header),
21
- strategy: horizontalListSortingStrategy
22
- }, void 0, /*#__PURE__*/jsx(Component, _objectSpread({}, props)));
23
- return /*#__PURE__*/jsx(Component, _objectSpread({}, props));
28
+ if (!isDragOverlay && dragAndDropColumns) return /*#__PURE__*/_jsx(SortableContext, {
29
+ items: items.map(item => item.id),
30
+ strategy: horizontalListSortingStrategy
31
+ }, void 0, /*#__PURE__*/jsx(Component, _objectSpread({}, props)));
32
+ return /*#__PURE__*/jsx(Component, _objectSpread({}, props));
33
+ };
24
34
  };
25
35
 
26
36
  export { withConditionalDnDSortableContext };
@@ -1,9 +1,13 @@
1
+ import 'core-js/modules/esnext.async-iterator.filter.js';
2
+ import 'core-js/modules/esnext.iterator.constructor.js';
3
+ import 'core-js/modules/esnext.iterator.filter.js';
4
+ import 'core-js/modules/esnext.async-iterator.for-each.js';
5
+ import 'core-js/modules/esnext.iterator.for-each.js';
1
6
  import _jsx from '@babel/runtime/helpers/esm/jsx';
2
7
  import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
3
- import { useContext, useMemo, useEffect, cloneElement } from 'react';
8
+ import { useContext, useMemo } from 'react';
4
9
  import { useSortable } from '@dnd-kit/sortable';
5
10
  import DataTableContext from '../../DataTableContext.js';
6
- import { DragOverlayContext } from './DragOverlayContext.js';
7
11
  import { DnDGroupContext } from './withConditionalDnDColumnContext.js';
8
12
  import { DropIndicatorPosition, SortableItemContext } from './SortableItemContext.js';
9
13
  import { jsx } from 'react/jsx-runtime';
@@ -17,18 +21,14 @@ const withDnDSortableColumnContext = Component => props => {
17
21
  dragAndDropColumns
18
22
  }
19
23
  } = useContext(DataTableContext);
20
- const {
21
- setPureDraggedJSX
22
- } = useContext(DragOverlayContext);
23
24
  const {
24
25
  activeIndex
25
26
  } = useContext(DnDGroupContext); // onMount generate unique options, so everyting is only ran once
26
27
 
27
28
  const draggableOptions = useMemo(() => ({
28
- id: props.header.Header
29
- }), [props.header.Header]);
30
- const useSortableHelpers = useSortable(draggableOptions);
31
- const PureComponentJSX = useMemo(() => /*#__PURE__*/jsx(Component, _objectSpread({}, props)), [props]); // calculate all the "useSortable" values as per required
29
+ id: props.header.id
30
+ }), [props.header.id]);
31
+ const useSortableHelpers = useSortable(draggableOptions); // calculate all the "useSortable" values as per required
32
32
 
33
33
  const draggableProps = useMemo(() => {
34
34
  if (!dragAndDropColumns) return false;
@@ -40,16 +40,7 @@ const withDnDSortableColumnContext = Component => props => {
40
40
  shouldShowDropIndicatorPosition: overIndex === index && overIndex !== -1,
41
41
  dropIndicatorPosition: index > activeIndex ? DropIndicatorPosition.After : DropIndicatorPosition.Before
42
42
  });
43
- }, [useSortableHelpers, dragAndDropColumns, activeIndex]);
44
- useEffect(() => {
45
- // We assume the structure of the inner element WON'T change during DnD
46
- // This is a huge performance boost
47
- if (useSortableHelpers.isDragging) {
48
- setPureDraggedJSX( /*#__PURE__*/cloneElement(PureComponentJSX, {
49
- isDragOverlay: true
50
- }));
51
- }
52
- }, [useSortableHelpers.isDragging, setPureDraggedJSX]); // we use a context so we can easly access information wherever without bubbling down
43
+ }, [useSortableHelpers, dragAndDropColumns, activeIndex]); // we use a context so we can easly access information wherever without bubbling down
53
44
  // this context is all Memoized so as long as component is not re-mounted,
54
45
  // the context won't trigger un-required renders per-se...
55
46
 
@@ -59,7 +50,7 @@ const withDnDSortableColumnContext = Component => props => {
59
50
 
60
51
  return /*#__PURE__*/_jsx(SortableItemContext.Provider, {
61
52
  value: ctx
62
- }, void 0, PureComponentJSX);
53
+ }, void 0, /*#__PURE__*/jsx(Component, _objectSpread({}, props)));
63
54
  };
64
55
 
65
56
  export { withDnDSortableColumnContext };
@@ -1,10 +1,14 @@
1
+ import 'core-js/modules/esnext.async-iterator.filter.js';
2
+ import 'core-js/modules/esnext.iterator.constructor.js';
3
+ import 'core-js/modules/esnext.iterator.filter.js';
4
+ import 'core-js/modules/esnext.async-iterator.for-each.js';
5
+ import 'core-js/modules/esnext.iterator.for-each.js';
1
6
  import _jsx from '@babel/runtime/helpers/esm/jsx';
2
7
  import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
3
- import { useContext, useMemo, useEffect, cloneElement } from 'react';
8
+ import { useContext, useMemo } from 'react';
4
9
  import { useSortable } from '@dnd-kit/sortable';
5
10
  import DataTableContext from '../../DataTableContext.js';
6
11
  import { DnDTreeContext } from './withConditionalDnDRowContext.js';
7
- import { DragOverlayContext } from './DragOverlayContext.js';
8
12
  import { SortableItemContext } from './SortableItemContext.js';
9
13
  import { jsx } from 'react/jsx-runtime';
10
14
 
@@ -17,9 +21,6 @@ const withDnDSortableRowContext = Component => props => {
17
21
  dragAndDropRows
18
22
  }
19
23
  } = useContext(DataTableContext);
20
- const {
21
- setPureDraggedJSX
22
- } = useContext(DragOverlayContext);
23
24
  const {
24
25
  dropIndicatorPosition,
25
26
  lastActiveId,
@@ -29,8 +30,7 @@ const withDnDSortableRowContext = Component => props => {
29
30
  const draggableOptions = useMemo(() => ({
30
31
  id: props.row.uid
31
32
  }), [props.row]);
32
- const useSortableHelpers = useSortable(draggableOptions);
33
- const PureComponentJSX = useMemo(() => /*#__PURE__*/jsx(Component, _objectSpread({}, props)), [props]); // calculate all the "useSortable" values as per required
33
+ const useSortableHelpers = useSortable(draggableOptions); // calculate all the "useSortable" values as per required
34
34
 
35
35
  const draggableProps = useMemo(() => {
36
36
  if (!dragAndDropRows) return false;
@@ -44,16 +44,7 @@ const withDnDSortableRowContext = Component => props => {
44
44
  lastActiveId,
45
45
  setLastActiveId
46
46
  });
47
- }, [dragAndDropRows, useSortableHelpers, dropIndicatorPosition, lastActiveId, setLastActiveId]);
48
- useEffect(() => {
49
- // We assume the structure of the inner element WON'T change during DnD
50
- // This is a huge performance boost
51
- if (useSortableHelpers.isDragging) {
52
- setPureDraggedJSX( /*#__PURE__*/cloneElement(PureComponentJSX, {
53
- isDragOverlay: true
54
- }));
55
- }
56
- }, [useSortableHelpers.isDragging, setPureDraggedJSX]); // we use a context so we can easly access information wherever without bubbling down
47
+ }, [dragAndDropRows, useSortableHelpers, dropIndicatorPosition, lastActiveId, setLastActiveId]); // we use a context so we can easly access information wherever without bubbling down
57
48
  // this context is all Memoized so as long as component is not re-mounted,
58
49
  // the context won't trigger un-required renders per-se...
59
50
 
@@ -63,7 +54,7 @@ const withDnDSortableRowContext = Component => props => {
63
54
 
64
55
  return /*#__PURE__*/_jsx(SortableItemContext.Provider, {
65
56
  value: ctx
66
- }, void 0, PureComponentJSX);
57
+ }, void 0, /*#__PURE__*/jsx(Component, _objectSpread({}, props)));
67
58
  };
68
59
 
69
60
  export { withDnDSortableRowContext };
package/esm/parts/Row.js CHANGED
@@ -1,26 +1,32 @@
1
1
  import _jsx from '@babel/runtime/helpers/esm/jsx';
2
+ import 'core-js/modules/web.dom-collections.iterator.js';
2
3
  import { useContext } from 'react';
3
4
  import { connect } from 'react-redux';
4
5
  import DataTableContext from '../DataTableContext.js';
6
+ import 'core-js/modules/esnext.async-iterator.for-each.js';
7
+ import 'core-js/modules/esnext.iterator.constructor.js';
8
+ import 'core-js/modules/esnext.iterator.for-each.js';
5
9
  import '../configs/constants.js';
6
10
  import { setMultipleRefs } from '../helpers/refs-helpers.js';
11
+ import 'core-js/modules/esnext.async-iterator.map.js';
12
+ import 'core-js/modules/esnext.iterator.map.js';
7
13
  import { SortableItemContext } from './HoC/SortableItemContext.js';
8
14
  import { withDnDSortableRowContext } from './HoC/withDnDSortableRowContext.js';
9
15
  import { RowVariantMapItem } from './RowVariants/index.js';
10
16
  import { jsx } from 'react/jsx-runtime';
11
17
 
12
18
  const setItemRefs = (measureRef, draggableRef, ref) => {
13
- const refsToSet = [measureRef];
19
+ const refsToSet = [];
20
+ if (measureRef) refsToSet.push(measureRef);
14
21
  if (draggableRef) refsToSet.push(draggableRef);
15
22
  setMultipleRefs(...refsToSet)(ref);
16
23
  };
17
24
 
18
- const Row = props => {
25
+ const RowComp = props => {
19
26
  const {
20
27
  row,
21
28
  measureRef,
22
29
  itemWrapperStyle,
23
- itemIndex,
24
30
  isDragOverlay,
25
31
  focusedRowId,
26
32
  selectedRowId
@@ -35,7 +41,7 @@ const Row = props => {
35
41
  ref: ref => setItemRefs(measureRef, draggableRef, ref),
36
42
  children: /*#__PURE__*/_jsx(RowVariantMapItem, {
37
43
  row: row,
38
- itemIndex: itemIndex,
44
+ itemIndex: row.realIndex,
39
45
  isDragOverlay: isDragOverlay,
40
46
  ctx: ctx,
41
47
  focusedRowId: focusedRowId,
@@ -44,15 +50,12 @@ const Row = props => {
44
50
  });
45
51
  };
46
52
 
47
- Row.defaultProps = {
48
- itemWrapperStyle: {}
49
- };
50
-
51
53
  const mapStateToProps = state => ({
52
54
  focusedRowId: state.rows.focusedRowId,
53
55
  selectedRowId: state.rows.selectedRowId
54
56
  });
55
57
 
56
- var Row$1 = withDnDSortableRowContext(connect(mapStateToProps)(Row));
58
+ const Row = connect(mapStateToProps)(RowComp);
59
+ var Row$1 = withDnDSortableRowContext(Row);
57
60
 
58
- export { Row$1 as default };
61
+ export { Row, Row$1 as default };
@@ -4,24 +4,30 @@ import DSIndeterminateProgressIndicator from '@elliemae/ds-indeterminate-progres
4
4
  import Grid from '@elliemae/ds-grid';
5
5
  import styled from 'styled-components';
6
6
  import { DATA_TESTID } from '../configs/constants.js';
7
+ import 'core-js/modules/esnext.async-iterator.filter.js';
8
+ import 'core-js/modules/esnext.iterator.constructor.js';
9
+ import 'core-js/modules/esnext.iterator.filter.js';
10
+ import 'core-js/modules/web.dom-collections.iterator.js';
11
+ import 'core-js/modules/esnext.async-iterator.reduce.js';
12
+ import 'core-js/modules/esnext.iterator.reduce.js';
7
13
  import 'react-virtual';
14
+ import 'core-js/modules/esnext.async-iterator.for-each.js';
15
+ import 'core-js/modules/esnext.iterator.for-each.js';
8
16
  import '../configs/useRowFlattenization.js';
9
17
  import '@babel/runtime/helpers/esm/defineProperty';
10
- import '@elliemae/ds-icons/ArrowShortReturn';
18
+ import 'core-js/modules/esnext.async-iterator.map.js';
19
+ import 'core-js/modules/esnext.iterator.map.js';
11
20
  import '@elliemae/ds-icons';
12
21
  import '../styled.js';
13
22
  import 'react/jsx-runtime';
14
- import '@elliemae/ds-form/Checkbox';
15
- import '@elliemae/ds-form/Radio';
23
+ import '@elliemae/ds-form';
16
24
  import './TableContent.js';
17
25
  import '@elliemae/ds-circular-progress-indicator';
18
- import '@elliemae/ds-icons/WarningTriangle';
19
26
  import '@elliemae/ds-system';
20
27
  import '@elliemae/ds-button';
21
28
  import '../DataTableContext.js';
22
29
  import './Row.js';
23
30
  import './Footer.js';
24
- import '@elliemae/ds-icons/GripperVertical';
25
31
  import './HoC/SortableItemContext.js';
26
32
 
27
33
  var _DSIndeterminateProgr;