@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,6 +1,8 @@
1
1
  'use strict';
2
2
 
3
3
  var _jsx = require('@babel/runtime/helpers/jsx');
4
+ require('core-js/modules/esnext.async-iterator.map.js');
5
+ require('core-js/modules/esnext.iterator.map.js');
4
6
  var React = require('react');
5
7
  var styled = require('../../styled.js');
6
8
  var DataTableContext = require('../../DataTableContext.js');
@@ -25,15 +27,15 @@ const HeadersComp = () => {
25
27
  },
26
28
  columnHeaderRef,
27
29
  visibleColumns
28
- } = React.useContext(DataTableContext['default']);
29
- const HeadersCells = React.useMemo(() => /*#__PURE__*/_jsx__default['default'](SortableHeaderCell.SortableHeaderCell, {
30
+ } = React.useContext(DataTableContext["default"]);
31
+ const HeadersCells = React.useMemo(() => /*#__PURE__*/_jsx__default["default"](SortableHeaderCell.SortableHeaderCell, {
30
32
  items: visibleColumns
31
- }, void 0, /*#__PURE__*/_jsx__default['default'](styled.StyledHeadTr, {
33
+ }, void 0, /*#__PURE__*/_jsx__default["default"](styled.StyledHeadTr, {
32
34
  role: "row",
33
35
  cols: gridLayout,
34
36
  colsLayoutStyle: colsLayoutStyle,
35
37
  isExpandable: isExpandable
36
- }, void 0, visibleColumns.map((h, index) => /*#__PURE__*/_jsx__default['default'](HeaderCellGroup.HeaderCellGroup, {
38
+ }, void 0, visibleColumns.map((h, index) => /*#__PURE__*/_jsx__default["default"](HeaderCellGroup["default"], {
37
39
  header: h,
38
40
  isLast: index === visibleColumns.length - 1
39
41
  }, h.id)))), [isExpandable, visibleColumns, gridLayout, colsLayoutStyle]);
@@ -2,14 +2,19 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ require('core-js/modules/esnext.async-iterator.filter.js');
6
+ require('core-js/modules/esnext.iterator.constructor.js');
7
+ require('core-js/modules/esnext.iterator.filter.js');
8
+
5
9
  /* eslint-disable complexity */
6
- const useHeaderCellConfig = ({
7
- column,
8
- dragAndDropColumns,
9
- draggableProps,
10
- reduxHeader,
11
- isDragOverlay
12
- }) => {
10
+ const useHeaderCellConfig = _ref => {
11
+ let {
12
+ column,
13
+ dragAndDropColumns,
14
+ draggableProps,
15
+ reduxHeader,
16
+ isDragOverlay
17
+ } = _ref;
13
18
  const hasFilter = !!(column.filter || column.Filter);
14
19
  const hasDnD = dragAndDropColumns && !column.disableDnD;
15
20
  const hasSortingCaret = column.canSort && typeof column.isSortedDesc === 'boolean';
@@ -2,6 +2,11 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ require('core-js/modules/esnext.async-iterator.filter.js');
6
+ require('core-js/modules/esnext.iterator.constructor.js');
7
+ require('core-js/modules/esnext.iterator.filter.js');
8
+ require('core-js/modules/esnext.async-iterator.for-each.js');
9
+ require('core-js/modules/esnext.iterator.for-each.js');
5
10
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
6
11
  var React = require('react');
7
12
 
@@ -11,32 +16,38 @@ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_definePropert
11
16
 
12
17
  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; }
13
18
 
14
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
19
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
15
20
 
16
- const buildNextHeader = (reduxHeader, value, hasFilter, hasDnD, withTabStops = false) => _objectSpread(_objectSpread({
17
- hideFilterMenu: true
18
- }, reduxHeader), {}, {
19
- hideFilterButton: !(hasFilter && value),
20
- showDnDHandle: hasDnD && value,
21
- withTabStops
22
- });
21
+ const buildNextHeader = function (reduxHeader, value, hasFilter, hasDnD) {
22
+ let withTabStops = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
23
+ return _objectSpread(_objectSpread({
24
+ hideFilterMenu: true
25
+ }, reduxHeader), {}, {
26
+ hideFilterButton: !(hasFilter && value),
27
+ showDnDHandle: hasDnD && value,
28
+ withTabStops
29
+ });
30
+ };
23
31
 
24
- const useHeaderCellHandlers = ({
25
- hasFilter,
26
- patchHeader,
27
- column,
28
- reduxHeader,
29
- hasDnD,
30
- onColumnSortChange,
31
- dragHandleRef,
32
- filterIconRef,
33
- headerRef
34
- }) => {
32
+ const useHeaderCellHandlers = _ref => {
33
+ let {
34
+ hasFilter,
35
+ patchHeader,
36
+ column,
37
+ reduxHeader,
38
+ hasDnD,
39
+ onColumnSortChange,
40
+ dragHandleRef,
41
+ filterIconRef,
42
+ headerRef
43
+ } = _ref;
35
44
  const onMouseEnter = React.useCallback(() => {
36
45
  patchHeader(column.id, buildNextHeader(reduxHeader, true, hasFilter, hasDnD));
37
46
  }, [column.id, hasDnD, hasFilter, patchHeader, reduxHeader]);
38
47
  const onMouseLeave = React.useCallback(() => {
39
- if (!headerRef.current.contains(document.activeElement)) {
48
+ var _headerRef$current;
49
+
50
+ if (!(headerRef !== null && headerRef !== void 0 && (_headerRef$current = headerRef.current) !== null && _headerRef$current !== void 0 && _headerRef$current.contains(document.activeElement))) {
40
51
  patchHeader(column.id, buildNextHeader(reduxHeader, false, hasFilter, hasDnD));
41
52
  }
42
53
  }, [column.id, hasDnD, hasFilter, headerRef, patchHeader, reduxHeader]);
@@ -71,7 +82,7 @@ const useHeaderCellHandlers = ({
71
82
  }, [column.canSort, column.id, onColumnSortChange, patchHeader, reduxHeader, hasFilter, hasDnD, dragHandleRef, filterIconRef]);
72
83
  const onFocus = React.useCallback(e => {
73
84
  // Don't do anything if focus wasn't placed in the element (bubling issues)
74
- if (e.target === headerRef.current) {
85
+ if (e.target === (headerRef === null || headerRef === void 0 ? void 0 : headerRef.current)) {
75
86
  patchHeader(column.id, buildNextHeader(reduxHeader, true, hasFilter, hasDnD));
76
87
  }
77
88
  }, [column.id, hasDnD, hasFilter, headerRef, patchHeader, reduxHeader]);
@@ -4,12 +4,21 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _jsx = require('@babel/runtime/helpers/jsx');
6
6
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
7
+ require('core-js/modules/esnext.async-iterator.for-each.js');
8
+ require('core-js/modules/esnext.iterator.constructor.js');
9
+ require('core-js/modules/esnext.iterator.for-each.js');
10
+ require('core-js/modules/web.dom-collections.iterator.js');
11
+ require('core-js/modules/esnext.async-iterator.find.js');
12
+ require('core-js/modules/esnext.iterator.find.js');
13
+ require('core-js/modules/esnext.async-iterator.filter.js');
14
+ require('core-js/modules/esnext.iterator.filter.js');
7
15
  var React = require('react');
8
16
  var core = require('@dnd-kit/core');
17
+ var dsDragAndDrop = require('@elliemae/ds-drag-and-drop');
9
18
  var sortable = require('@dnd-kit/sortable');
10
- var DragOverlayContext = require('./DragOverlayContext.js');
11
- var useHierarchyDndkitConfig = require('../../helpers/dndkit/hierarchy/useHierarchyDndkitConfig.js');
12
19
  var DataTableContext = require('../../DataTableContext.js');
20
+ var HeaderCellGroup = require('../Headers/HeaderCellGroup.js');
21
+ var constants = require('../../configs/constants.js');
13
22
  var jsxRuntime = require('react/jsx-runtime');
14
23
 
15
24
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -20,7 +29,7 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
20
29
 
21
30
  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; }
22
31
 
23
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
32
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
24
33
  const DnDGroupContext = /*#__PURE__*/React.createContext({
25
34
  activeIndex: undefined
26
35
  });
@@ -28,8 +37,11 @@ const DnDGroupContext = /*#__PURE__*/React.createContext({
28
37
  const flattenColumns = cols => {
29
38
  const flattened = [];
30
39
 
31
- const flatten = (col, index, parentId = null) => {
32
- const id = col.Header;
40
+ const flatten = function (col, index) {
41
+ let parentId = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
42
+ const {
43
+ id
44
+ } = col;
33
45
  flattened.push([{
34
46
  id,
35
47
  parentId,
@@ -47,24 +59,25 @@ const withConditionalDnDColumnContext = Component => props => {
47
59
  const {
48
60
  tableProps: {
49
61
  dragAndDropColumns,
50
- columns,
51
62
  onColumnsReorder
52
- }
53
- } = React__default['default'].useContext(DataTableContext['default']);
54
- const [PureDraggedJSX, setPureDraggedJSX] = React__default['default'].useState(null); // todo: check if this can be done via portal
55
-
56
- const flattenedItems = React.useMemo(() => flattenColumns(columns), [columns]);
63
+ },
64
+ visibleColumns
65
+ } = React__default["default"].useContext(DataTableContext["default"]);
66
+ const flattenedItems = React.useMemo(() => flattenColumns(visibleColumns), [visibleColumns]);
57
67
  const onReorder = React.useCallback((movedItem, indexes) => {
58
68
  // Send from index to target index
59
69
  const newFlattenedData = sortable.arrayMove(flattenedItems, indexes.fromIndex, indexes.targetIndex); // Pull the cols's data into an object
60
70
 
61
71
  const nodes = {};
62
- newFlattenedData.forEach(([dndData, colData]) => {
72
+ newFlattenedData.forEach(_ref => {
73
+ let [dndData, colData] = _ref;
63
74
  delete colData.columns;
64
75
  nodes[dndData.id] = colData;
65
76
  });
66
77
  const newData = [];
67
- newFlattenedData.forEach(([dndData, colData]) => {
78
+ newFlattenedData.forEach(_ref2 => {
79
+ let [dndData, colData] = _ref2;
80
+
68
81
  // If row has parent, insert it to it's subrows
69
82
  // otherwise append it to the new user data
70
83
  if (dndData.parentId) {
@@ -74,25 +87,43 @@ const withConditionalDnDColumnContext = Component => props => {
74
87
  });
75
88
  onColumnsReorder(newData, indexes);
76
89
  }, [flattenedItems, onColumnsReorder]);
90
+ const onPreviewResetState = React.useCallback(() => {
91
+ const el = document.body.querySelector("[data-testid=\"".concat(constants.DATA_TESTID.DATA_TABLE_SCROLLABLE_CONTAINER, "\"]"));
92
+ if (el) el.onscroll = () => null;
93
+ }, []);
94
+ const onPreviewDragStart = React.useCallback(() => {
95
+ const el = document.body.querySelector("[data-testid=\"".concat(constants.DATA_TESTID.DATA_TABLE_SCROLLABLE_CONTAINER, "\"]"));
96
+
97
+ if (el) {
98
+ const y = el.scrollTop;
99
+
100
+ el.onscroll = () => el.scrollTo(0, y);
101
+ }
102
+ }, []);
77
103
  const {
78
104
  dndContextProps,
79
105
  activeId,
80
106
  activeIndex
81
- } = useHierarchyDndkitConfig({
107
+ } = dsDragAndDrop.useHierarchyDndkitConfig({
82
108
  flattenedItems,
109
+ dragOverlayDataTestid: constants.DATA_TESTID.DATA_TABLE_COLUMN_DRAG_OVERLAY,
83
110
  isHorizontalDnD: true,
84
- onReorder
111
+ onReorder,
112
+ onPreviewResetState,
113
+ onPreviewDragStart
85
114
  });
86
115
  if (dragAndDropColumns) return /*#__PURE__*/jsxRuntime.jsxs(core.DndContext, _objectSpread(_objectSpread({}, dndContextProps), {}, {
87
- children: [/*#__PURE__*/_jsx__default['default'](DragOverlayContext.DragOverlayContext.Provider, {
88
- value: {
89
- setPureDraggedJSX
90
- }
91
- }, void 0, /*#__PURE__*/_jsx__default['default'](DnDGroupContext.Provider, {
116
+ children: [/*#__PURE__*/_jsx__default["default"](DnDGroupContext.Provider, {
92
117
  value: {
93
118
  activeIndex
94
119
  }
95
- }, void 0, /*#__PURE__*/jsxRuntime.jsx(Component, _objectSpread({}, props)))), /*#__PURE__*/_jsx__default['default'](core.DragOverlay, {}, void 0, activeId ? PureDraggedJSX : null)]
120
+ }, void 0, /*#__PURE__*/jsxRuntime.jsx(Component, _objectSpread({}, props))), /*#__PURE__*/_jsx__default["default"](core.DragOverlay, {}, void 0, activeId ? /*#__PURE__*/_jsx__default["default"](HeaderCellGroup.HeaderCellGroup, {
121
+ header: flattenedItems.find(_ref3 => {
122
+ let [item] = _ref3;
123
+ return item.id === activeId;
124
+ })[1],
125
+ isDragOverlay: true
126
+ }) : null)]
96
127
  }));
97
128
  return /*#__PURE__*/jsxRuntime.jsx(Component, _objectSpread({}, props));
98
129
  };
@@ -4,13 +4,21 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _jsx = require('@babel/runtime/helpers/jsx');
6
6
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
7
+ require('core-js/modules/web.dom-collections.iterator.js');
8
+ require('core-js/modules/esnext.async-iterator.for-each.js');
9
+ require('core-js/modules/esnext.iterator.constructor.js');
10
+ require('core-js/modules/esnext.iterator.for-each.js');
11
+ require('core-js/modules/esnext.async-iterator.find.js');
12
+ require('core-js/modules/esnext.iterator.find.js');
13
+ require('core-js/modules/esnext.async-iterator.filter.js');
14
+ require('core-js/modules/esnext.iterator.filter.js');
7
15
  var React = require('react');
8
16
  var core = require('@dnd-kit/core');
9
17
  var sortable = require('@dnd-kit/sortable');
10
18
  var DataTableContext = require('../../DataTableContext.js');
11
- var useTreeDndkitConfig = require('../../helpers/dndkit/tree/useTreeDndkitConfig.js');
12
- var DragOverlayContext = require('./DragOverlayContext.js');
19
+ var dsDragAndDrop = require('@elliemae/ds-drag-and-drop');
13
20
  var SortableItemContext = require('./SortableItemContext.js');
21
+ var Row = require('../Row.js');
14
22
  var jsxRuntime = require('react/jsx-runtime');
15
23
 
16
24
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -21,7 +29,7 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
21
29
 
22
30
  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; }
23
31
 
24
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
32
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
25
33
  const DnDTreeContext = /*#__PURE__*/React.createContext({
26
34
  depth: undefined,
27
35
  activeIndex: undefined,
@@ -41,10 +49,8 @@ const withConditionalDnDRowContext = Component => props => {
41
49
  },
42
50
  flattenedData,
43
51
  allDataFlattened
44
- } = React__default['default'].useContext(DataTableContext['default']);
45
- const [PureDraggedJSX, setPureDraggedJSX] = React__default['default'].useState(null); // todo: check if this can be done via portal
46
-
47
- const [lastActiveId, setLastActiveId] = React__default['default'].useState(null);
52
+ } = React__default["default"].useContext(DataTableContext["default"]);
53
+ const [lastActiveId, setLastActiveId] = React__default["default"].useState(null);
48
54
  const onReorder = React.useCallback((newData, indexes, considerExpanding) => {
49
55
  // Pull the row's original data into an object
50
56
  const nodes = {};
@@ -72,7 +78,7 @@ const withConditionalDnDRowContext = Component => props => {
72
78
  depth,
73
79
  dropIndicatorPosition,
74
80
  visibleItems
75
- } = useTreeDndkitConfig({
81
+ } = dsDragAndDrop.useTreeDndkitConfig({
76
82
  flattenedItems: allDataFlattened,
77
83
  visibleItems: flattenedData,
78
84
  isHorizontalDnD: false,
@@ -83,11 +89,7 @@ const withConditionalDnDRowContext = Component => props => {
83
89
  if (lastActiveId !== activeId && activeId) setLastActiveId(activeId);
84
90
  if (dragAndDropRows) return /*#__PURE__*/jsxRuntime.jsxs(core.DndContext, _objectSpread(_objectSpread({}, dndContextProps), {}, {
85
91
  children: [/*#__PURE__*/jsxRuntime.jsx(sortable.SortableContext, _objectSpread(_objectSpread({}, sortableContextProps), {}, {
86
- children: /*#__PURE__*/_jsx__default['default'](DragOverlayContext.DragOverlayContext.Provider, {
87
- value: {
88
- setPureDraggedJSX
89
- }
90
- }, void 0, /*#__PURE__*/_jsx__default['default'](DnDTreeContext.Provider, {
92
+ children: /*#__PURE__*/_jsx__default["default"](DnDTreeContext.Provider, {
91
93
  value: {
92
94
  activeIndex,
93
95
  depth,
@@ -96,12 +98,15 @@ const withConditionalDnDRowContext = Component => props => {
96
98
  lastActiveId,
97
99
  setLastActiveId
98
100
  }
99
- }, void 0, /*#__PURE__*/jsxRuntime.jsx(Component, _objectSpread({}, props))))
100
- })), /*#__PURE__*/_jsx__default['default'](core.DragOverlay, {
101
+ }, void 0, /*#__PURE__*/jsxRuntime.jsx(Component, _objectSpread({}, props)))
102
+ })), /*#__PURE__*/_jsx__default["default"](core.DragOverlay, {
101
103
  style: {
102
104
  width: 'auto'
103
105
  }
104
- }, void 0, activeId ? PureDraggedJSX : null)]
106
+ }, void 0, activeId ? /*#__PURE__*/_jsx__default["default"](Row.Row, {
107
+ row: flattenedData.find(row => row.uid === activeId),
108
+ isDragOverlay: true
109
+ }) : null)]
105
110
  }));
106
111
  return /*#__PURE__*/jsxRuntime.jsx(Component, _objectSpread({}, props));
107
112
  };
@@ -4,6 +4,13 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _jsx = require('@babel/runtime/helpers/jsx');
6
6
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
7
+ require('core-js/modules/esnext.async-iterator.map.js');
8
+ require('core-js/modules/esnext.iterator.map.js');
9
+ require('core-js/modules/esnext.async-iterator.filter.js');
10
+ require('core-js/modules/esnext.iterator.constructor.js');
11
+ require('core-js/modules/esnext.iterator.filter.js');
12
+ require('core-js/modules/esnext.async-iterator.for-each.js');
13
+ require('core-js/modules/esnext.iterator.for-each.js');
7
14
  var sortable = require('@dnd-kit/sortable');
8
15
  var React = require('react');
9
16
  var DataTableContext = require('../../DataTableContext.js');
@@ -16,20 +23,23 @@ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_definePropert
16
23
 
17
24
  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
25
 
19
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
20
- const withConditionalDnDSortableContext = (items, isDragOverlay = false) => Component => props => {
21
- const {
22
- tableProps: {
23
- dragAndDropColumns
24
- }
25
- } = React.useContext(DataTableContext['default']); // 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!
27
-
28
- if (!isDragOverlay && dragAndDropColumns) return /*#__PURE__*/_jsx__default['default'](sortable.SortableContext, {
29
- items: items.map(item => item.Header),
30
- strategy: sortable.horizontalListSortingStrategy
31
- }, void 0, /*#__PURE__*/jsxRuntime.jsx(Component, _objectSpread({}, props)));
32
- return /*#__PURE__*/jsxRuntime.jsx(Component, _objectSpread({}, props));
26
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
27
+ const withConditionalDnDSortableContext = function (items) {
28
+ let isDragOverlay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
29
+ return Component => props => {
30
+ const {
31
+ tableProps: {
32
+ dragAndDropColumns
33
+ }
34
+ } = React.useContext(DataTableContext["default"]); // Only add the context if it's not a dragOverlay and dnd for cols was requested
35
+ // It's important that drag overlays DO NOT have any sortable functionality!
36
+
37
+ if (!isDragOverlay && dragAndDropColumns) return /*#__PURE__*/_jsx__default["default"](sortable.SortableContext, {
38
+ items: items.map(item => item.id),
39
+ strategy: sortable.horizontalListSortingStrategy
40
+ }, void 0, /*#__PURE__*/jsxRuntime.jsx(Component, _objectSpread({}, props)));
41
+ return /*#__PURE__*/jsxRuntime.jsx(Component, _objectSpread({}, props));
42
+ };
33
43
  };
34
44
 
35
45
  exports.withConditionalDnDSortableContext = withConditionalDnDSortableContext;
@@ -2,12 +2,16 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ require('core-js/modules/esnext.async-iterator.filter.js');
6
+ require('core-js/modules/esnext.iterator.constructor.js');
7
+ require('core-js/modules/esnext.iterator.filter.js');
8
+ require('core-js/modules/esnext.async-iterator.for-each.js');
9
+ require('core-js/modules/esnext.iterator.for-each.js');
5
10
  var _jsx = require('@babel/runtime/helpers/jsx');
6
11
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
7
12
  var React = require('react');
8
13
  var sortable = require('@dnd-kit/sortable');
9
14
  var DataTableContext = require('../../DataTableContext.js');
10
- var DragOverlayContext = require('./DragOverlayContext.js');
11
15
  var withConditionalDnDColumnContext = require('./withConditionalDnDColumnContext.js');
12
16
  var SortableItemContext = require('./SortableItemContext.js');
13
17
  var jsxRuntime = require('react/jsx-runtime');
@@ -19,25 +23,21 @@ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_definePropert
19
23
 
20
24
  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; }
21
25
 
22
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
26
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
23
27
  const withDnDSortableColumnContext = Component => props => {
24
28
  const {
25
29
  tableProps: {
26
30
  dragAndDropColumns
27
31
  }
28
- } = React.useContext(DataTableContext['default']);
29
- const {
30
- setPureDraggedJSX
31
- } = React.useContext(DragOverlayContext.DragOverlayContext);
32
+ } = React.useContext(DataTableContext["default"]);
32
33
  const {
33
34
  activeIndex
34
35
  } = React.useContext(withConditionalDnDColumnContext.DnDGroupContext); // onMount generate unique options, so everyting is only ran once
35
36
 
36
37
  const draggableOptions = React.useMemo(() => ({
37
- id: props.header.Header
38
- }), [props.header.Header]);
39
- const useSortableHelpers = sortable.useSortable(draggableOptions);
40
- const PureComponentJSX = React.useMemo(() => /*#__PURE__*/jsxRuntime.jsx(Component, _objectSpread({}, props)), [props]); // calculate all the "useSortable" values as per required
38
+ id: props.header.id
39
+ }), [props.header.id]);
40
+ const useSortableHelpers = sortable.useSortable(draggableOptions); // calculate all the "useSortable" values as per required
41
41
 
42
42
  const draggableProps = React.useMemo(() => {
43
43
  if (!dragAndDropColumns) return false;
@@ -49,16 +49,7 @@ const withDnDSortableColumnContext = Component => props => {
49
49
  shouldShowDropIndicatorPosition: overIndex === index && overIndex !== -1,
50
50
  dropIndicatorPosition: index > activeIndex ? SortableItemContext.DropIndicatorPosition.After : SortableItemContext.DropIndicatorPosition.Before
51
51
  });
52
- }, [useSortableHelpers, dragAndDropColumns, activeIndex]);
53
- React.useEffect(() => {
54
- // We assume the structure of the inner element WON'T change during DnD
55
- // This is a huge performance boost
56
- if (useSortableHelpers.isDragging) {
57
- setPureDraggedJSX( /*#__PURE__*/React.cloneElement(PureComponentJSX, {
58
- isDragOverlay: true
59
- }));
60
- }
61
- }, [useSortableHelpers.isDragging, setPureDraggedJSX]); // we use a context so we can easly access information wherever without bubbling down
52
+ }, [useSortableHelpers, dragAndDropColumns, activeIndex]); // we use a context so we can easly access information wherever without bubbling down
62
53
  // this context is all Memoized so as long as component is not re-mounted,
63
54
  // the context won't trigger un-required renders per-se...
64
55
 
@@ -66,9 +57,9 @@ const withDnDSortableColumnContext = Component => props => {
66
57
  draggableProps
67
58
  }), [draggableProps]); // we always add the context, if draggableProps===false we don't have the DnD enabled.
68
59
 
69
- return /*#__PURE__*/_jsx__default['default'](SortableItemContext.SortableItemContext.Provider, {
60
+ return /*#__PURE__*/_jsx__default["default"](SortableItemContext.SortableItemContext.Provider, {
70
61
  value: ctx
71
- }, void 0, PureComponentJSX);
62
+ }, void 0, /*#__PURE__*/jsxRuntime.jsx(Component, _objectSpread({}, props)));
72
63
  };
73
64
 
74
65
  exports.withDnDSortableColumnContext = withDnDSortableColumnContext;
@@ -2,13 +2,17 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ require('core-js/modules/esnext.async-iterator.filter.js');
6
+ require('core-js/modules/esnext.iterator.constructor.js');
7
+ require('core-js/modules/esnext.iterator.filter.js');
8
+ require('core-js/modules/esnext.async-iterator.for-each.js');
9
+ require('core-js/modules/esnext.iterator.for-each.js');
5
10
  var _jsx = require('@babel/runtime/helpers/jsx');
6
11
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
7
12
  var React = require('react');
8
13
  var sortable = require('@dnd-kit/sortable');
9
14
  var DataTableContext = require('../../DataTableContext.js');
10
15
  var withConditionalDnDRowContext = require('./withConditionalDnDRowContext.js');
11
- var DragOverlayContext = require('./DragOverlayContext.js');
12
16
  var SortableItemContext = require('./SortableItemContext.js');
13
17
  var jsxRuntime = require('react/jsx-runtime');
14
18
 
@@ -19,16 +23,13 @@ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_definePropert
19
23
 
20
24
  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; }
21
25
 
22
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
26
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
23
27
  const withDnDSortableRowContext = Component => props => {
24
28
  const {
25
29
  tableProps: {
26
30
  dragAndDropRows
27
31
  }
28
- } = React.useContext(DataTableContext['default']);
29
- const {
30
- setPureDraggedJSX
31
- } = React.useContext(DragOverlayContext.DragOverlayContext);
32
+ } = React.useContext(DataTableContext["default"]);
32
33
  const {
33
34
  dropIndicatorPosition,
34
35
  lastActiveId,
@@ -38,8 +39,7 @@ const withDnDSortableRowContext = Component => props => {
38
39
  const draggableOptions = React.useMemo(() => ({
39
40
  id: props.row.uid
40
41
  }), [props.row]);
41
- const useSortableHelpers = sortable.useSortable(draggableOptions);
42
- const PureComponentJSX = React.useMemo(() => /*#__PURE__*/jsxRuntime.jsx(Component, _objectSpread({}, props)), [props]); // calculate all the "useSortable" values as per required
42
+ const useSortableHelpers = sortable.useSortable(draggableOptions); // calculate all the "useSortable" values as per required
43
43
 
44
44
  const draggableProps = React.useMemo(() => {
45
45
  if (!dragAndDropRows) return false;
@@ -53,16 +53,7 @@ const withDnDSortableRowContext = Component => props => {
53
53
  lastActiveId,
54
54
  setLastActiveId
55
55
  });
56
- }, [dragAndDropRows, useSortableHelpers, dropIndicatorPosition, lastActiveId, setLastActiveId]);
57
- React.useEffect(() => {
58
- // We assume the structure of the inner element WON'T change during DnD
59
- // This is a huge performance boost
60
- if (useSortableHelpers.isDragging) {
61
- setPureDraggedJSX( /*#__PURE__*/React.cloneElement(PureComponentJSX, {
62
- isDragOverlay: true
63
- }));
64
- }
65
- }, [useSortableHelpers.isDragging, setPureDraggedJSX]); // we use a context so we can easly access information wherever without bubbling down
56
+ }, [dragAndDropRows, useSortableHelpers, dropIndicatorPosition, lastActiveId, setLastActiveId]); // we use a context so we can easly access information wherever without bubbling down
66
57
  // this context is all Memoized so as long as component is not re-mounted,
67
58
  // the context won't trigger un-required renders per-se...
68
59
 
@@ -70,9 +61,9 @@ const withDnDSortableRowContext = Component => props => {
70
61
  draggableProps
71
62
  }), [draggableProps]); // we always add the context, if draggableProps===false we don't have the DnD enabled.
72
63
 
73
- return /*#__PURE__*/_jsx__default['default'](SortableItemContext.SortableItemContext.Provider, {
64
+ return /*#__PURE__*/_jsx__default["default"](SortableItemContext.SortableItemContext.Provider, {
74
65
  value: ctx
75
- }, void 0, PureComponentJSX);
66
+ }, void 0, /*#__PURE__*/jsxRuntime.jsx(Component, _objectSpread({}, props)));
76
67
  };
77
68
 
78
69
  exports.withDnDSortableRowContext = withDnDSortableRowContext;
@@ -13,17 +13,17 @@ var Grid__default = /*#__PURE__*/_interopDefaultLegacy(Grid);
13
13
  var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
14
14
 
15
15
  var _DSCircularProgressIn;
16
- const StyledLoaderWrapper = /*#__PURE__*/styled__default['default'](Grid__default['default']).withConfig({
16
+ const StyledLoaderWrapper = /*#__PURE__*/styled__default["default"](Grid__default["default"]).withConfig({
17
17
  componentId: "sc-pol5j9-0"
18
18
  })(["place-items:center;z-index:0;background-color:white;"]);
19
19
 
20
- const Loader = () => /*#__PURE__*/_jsx__default['default'](StyledLoaderWrapper, {
20
+ const Loader = () => /*#__PURE__*/_jsx__default["default"](StyledLoaderWrapper, {
21
21
  style: {
22
22
  height: '100%',
23
23
  maxHeight: '500px'
24
24
  },
25
25
  "aria-live": "polite"
26
- }, void 0, _DSCircularProgressIn || (_DSCircularProgressIn = /*#__PURE__*/_jsx__default['default'](dsCircularProgressIndicator.DSCircularProgressIndicator, {
26
+ }, void 0, _DSCircularProgressIn || (_DSCircularProgressIn = /*#__PURE__*/_jsx__default["default"](dsCircularProgressIndicator.DSCircularProgressIndicator, {
27
27
  size: "xl",
28
28
  loading: true,
29
29
  showLabel: true,