@elliemae/ds-data-table 2.0.0-alpha.10 → 2.0.0-alpha.14

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 (296) hide show
  1. package/cjs/DataTable.js +5 -0
  2. package/cjs/DataTableSchema.js +24 -12
  3. package/cjs/addons/Columns/ColumnDragHandle/ColumnDragHandle.js +9 -8
  4. package/cjs/addons/Columns/ColumnExpand/ColumnExpand.js +25 -16
  5. package/cjs/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js +24 -16
  6. package/cjs/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js +19 -12
  7. package/cjs/addons/Editables/ComboboxEditableCell/ComboboxEditableCell.js +16 -9
  8. package/cjs/addons/Editables/DateEditableCell/DateEditableCell.js +15 -6
  9. package/cjs/addons/Editables/TextEditableCell/TextEditableCell.js +31 -6
  10. package/cjs/addons/Filters/Components/CurrencyRangeFilter/index.js +169 -0
  11. package/cjs/addons/Filters/Components/DateRangeFilter/index.js +17 -10
  12. package/cjs/addons/Filters/Components/DateSwitcherFilter/index.js +145 -0
  13. package/cjs/addons/Filters/Components/NumberRangeFilter/index.js +92 -33
  14. package/cjs/addons/Filters/Components/SelectFilter/BaseSelectFilter.js +87 -89
  15. package/cjs/addons/Filters/Components/SelectFilter/MultiSelectFilter.js +40 -28
  16. package/cjs/addons/Filters/Components/SelectFilter/SingleSelectFilter.js +40 -26
  17. package/cjs/addons/Filters/Components/SelectFilter/useSelectFilterHandlers.js +17 -13
  18. package/cjs/addons/Filters/Components/SelectFilter/utils.js +13 -6
  19. package/cjs/addons/Filters/Components/SingleDateFilter/index.js +17 -10
  20. package/cjs/addons/Filters/Components/index.js +8 -6
  21. package/cjs/addons/Filters/index.js +8 -6
  22. package/cjs/addons/Pagination/Pagination.js +18 -52
  23. package/cjs/configs/constants.js +1 -3
  24. package/cjs/configs/fixedSizes.js +1 -1
  25. package/cjs/configs/useDatatableConfig.js +8 -2
  26. package/cjs/configs/usePaginationConfig.js +10 -4
  27. package/cjs/configs/useRowFlattenization.js +14 -7
  28. package/cjs/configs/useTableColsWithAddons.js +35 -20
  29. package/cjs/exported-related/EditableCell.js +16 -8
  30. package/cjs/exported-related/FilterPopover.js +63 -25
  31. package/cjs/exported-related/FilterTypes.js +3 -2
  32. package/cjs/exported-related/Filters/applyOutOfTheBoxFilters.js +8 -3
  33. package/cjs/exported-related/Filters/currencyRangeFilterFn.js +24 -0
  34. package/cjs/exported-related/Filters/dateRangeFilterFn.js +11 -4
  35. package/cjs/exported-related/Filters/dateSwitcherFilterFn.js +12 -0
  36. package/cjs/exported-related/Filters/index.js +2 -2
  37. package/cjs/exported-related/Filters/multiSelectFilterFn.js +9 -3
  38. package/cjs/exported-related/Filters/numberRangeFilterFn.js +7 -1
  39. package/cjs/exported-related/Filters/singleDateFilterFn.js +11 -4
  40. package/cjs/exported-related/Filters/singleSelectFilterFn.js +5 -1
  41. package/cjs/exported-related/RowRenderer/DefaultRowContentRenderer.js +11 -1
  42. package/cjs/exported-related/RowRenderer/index.js +11 -4
  43. package/cjs/exported-related/RowRenderer/useRowRendererHandlers.js +54 -17
  44. package/cjs/exported-related/RowRenderer/useRowRendererProperties.js +11 -3
  45. package/cjs/exported-related/RowRenderer/useRowStyle.js +6 -5
  46. package/cjs/exported-related/Toolbar/Toolbar.js +45 -24
  47. package/cjs/exported-related/groupBy.js +14 -5
  48. package/cjs/exported-related/index.js +2 -2
  49. package/cjs/helpers/addCellData.js +15 -6
  50. package/cjs/helpers/cellPadding.js +17 -11
  51. package/cjs/helpers/columnsToGrid.js +6 -1
  52. package/cjs/helpers/getIdFromUniqueRowAccessor.js +3 -0
  53. package/cjs/helpers/refs-helpers.js +13 -3
  54. package/cjs/helpers/sizeToCss.js +1 -1
  55. package/cjs/hooks/useRecoverFocusCol.js +1 -0
  56. package/cjs/index.js +2 -2
  57. package/cjs/parts/Cells/Cell.js +34 -22
  58. package/cjs/parts/Cells/index.js +2 -0
  59. package/cjs/parts/Cells/useCellStyle.js +2 -2
  60. package/cjs/parts/DnDHandle.js +29 -19
  61. package/cjs/parts/DropIndicator.js +29 -29
  62. package/cjs/parts/EmptyContent.js +12 -9
  63. package/cjs/parts/FilterBar/FiltersBar.js +32 -20
  64. package/cjs/parts/FilterBar/components/DateRangePill.js +15 -11
  65. package/cjs/parts/FilterBar/components/DateSwitcherPill.js +45 -0
  66. package/cjs/parts/FilterBar/components/MultiSelectPill.js +25 -17
  67. package/cjs/parts/FilterBar/components/NumberRangePill.js +18 -12
  68. package/cjs/parts/FilterBar/components/SelectPill.js +15 -11
  69. package/cjs/parts/FilterBar/components/SingleDatePill.js +14 -10
  70. package/cjs/parts/FilterBar/components/index.js +2 -2
  71. package/cjs/parts/Filters/index.js +27 -14
  72. package/cjs/parts/Footer.js +8 -5
  73. package/cjs/parts/Headers/HeaderCell.js +23 -14
  74. package/cjs/parts/Headers/HeaderCellGroup.js +26 -15
  75. package/cjs/parts/Headers/HeaderCellTitle.js +44 -31
  76. package/cjs/parts/Headers/HeaderResizer.js +19 -9
  77. package/cjs/parts/Headers/index.js +3 -1
  78. package/cjs/parts/Headers/useHeaderCellConfig.js +12 -7
  79. package/cjs/parts/Headers/useHeaderCellHandlers.js +31 -20
  80. package/cjs/parts/HoC/withConditionalDnDColumnContext.js +50 -19
  81. package/cjs/parts/HoC/withConditionalDnDRowContext.js +17 -12
  82. package/cjs/parts/HoC/withConditionalDnDSortableContext.js +23 -13
  83. package/cjs/parts/HoC/withDnDSortableColumnContext.js +10 -19
  84. package/cjs/parts/HoC/withDnDSortableRowContext.js +8 -17
  85. package/cjs/parts/Row.js +16 -10
  86. package/cjs/parts/RowLoading.js +11 -4
  87. package/cjs/parts/RowVariants/RowVariantHeader.js +33 -20
  88. package/cjs/parts/RowVariants/RowVariantPrimary.js +10 -9
  89. package/cjs/parts/RowVariants/RowVariantSecondary.js +10 -9
  90. package/cjs/parts/RowVariants/index.js +15 -6
  91. package/cjs/parts/Rows.js +10 -3
  92. package/cjs/parts/SortByCaret.js +16 -16
  93. package/cjs/parts/SortableHeaderCell.js +5 -0
  94. package/cjs/parts/TableContent.js +11 -4
  95. package/cjs/parts/VirtualRowsList.js +11 -3
  96. package/cjs/parts/index.js +1 -1
  97. package/cjs/prop-types.js +5 -0
  98. package/cjs/redux/reducers/headersReducers/logic.js +10 -4
  99. package/cjs/styled.js +114 -96
  100. package/esm/DataTable.js +5 -0
  101. package/esm/DataTableSchema.js +24 -12
  102. package/esm/addons/Columns/ColumnDragHandle/ColumnDragHandle.js +9 -8
  103. package/esm/addons/Columns/ColumnExpand/ColumnExpand.js +25 -16
  104. package/esm/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js +22 -13
  105. package/esm/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js +18 -10
  106. package/esm/addons/Editables/ComboboxEditableCell/ComboboxEditableCell.js +15 -7
  107. package/esm/addons/Editables/DateEditableCell/DateEditableCell.js +15 -6
  108. package/esm/addons/Editables/TextEditableCell/TextEditableCell.js +31 -6
  109. package/esm/addons/Filters/Components/CurrencyRangeFilter/index.js +159 -0
  110. package/esm/addons/Filters/Components/DateRangeFilter/index.js +17 -9
  111. package/esm/addons/Filters/Components/DateSwitcherFilter/index.js +136 -0
  112. package/esm/addons/Filters/Components/NumberRangeFilter/index.js +92 -31
  113. package/esm/addons/Filters/Components/SelectFilter/BaseSelectFilter.js +87 -86
  114. package/esm/addons/Filters/Components/SelectFilter/MultiSelectFilter.js +40 -28
  115. package/esm/addons/Filters/Components/SelectFilter/SingleSelectFilter.js +40 -26
  116. package/esm/addons/Filters/Components/SelectFilter/useSelectFilterHandlers.js +17 -13
  117. package/esm/addons/Filters/Components/SelectFilter/utils.js +13 -6
  118. package/esm/addons/Filters/Components/SingleDateFilter/index.js +17 -9
  119. package/esm/addons/Filters/Components/index.js +2 -1
  120. package/esm/addons/Filters/index.js +2 -1
  121. package/esm/addons/Pagination/Pagination.js +17 -51
  122. package/esm/configs/constants.js +1 -3
  123. package/esm/configs/fixedSizes.js +1 -1
  124. package/esm/configs/useDatatableConfig.js +8 -2
  125. package/esm/configs/usePaginationConfig.js +10 -4
  126. package/esm/configs/useRowFlattenization.js +14 -7
  127. package/esm/configs/useTableColsWithAddons.js +36 -21
  128. package/esm/exported-related/EditableCell.js +16 -8
  129. package/esm/exported-related/FilterPopover.js +63 -26
  130. package/esm/exported-related/FilterTypes.js +3 -2
  131. package/esm/exported-related/Filters/applyOutOfTheBoxFilters.js +8 -3
  132. package/esm/exported-related/Filters/currencyRangeFilterFn.js +20 -0
  133. package/esm/exported-related/Filters/dateRangeFilterFn.js +11 -4
  134. package/esm/exported-related/Filters/dateSwitcherFilterFn.js +8 -0
  135. package/esm/exported-related/Filters/index.js +1 -1
  136. package/esm/exported-related/Filters/multiSelectFilterFn.js +9 -3
  137. package/esm/exported-related/Filters/numberRangeFilterFn.js +7 -1
  138. package/esm/exported-related/Filters/singleDateFilterFn.js +11 -4
  139. package/esm/exported-related/Filters/singleSelectFilterFn.js +5 -1
  140. package/esm/exported-related/RowRenderer/DefaultRowContentRenderer.js +11 -1
  141. package/esm/exported-related/RowRenderer/index.js +11 -4
  142. package/esm/exported-related/RowRenderer/useRowRendererHandlers.js +54 -17
  143. package/esm/exported-related/RowRenderer/useRowRendererProperties.js +11 -3
  144. package/esm/exported-related/RowRenderer/useRowStyle.js +6 -5
  145. package/esm/exported-related/Toolbar/Toolbar.js +46 -24
  146. package/esm/exported-related/groupBy.js +14 -5
  147. package/esm/exported-related/index.js +1 -1
  148. package/esm/helpers/addCellData.js +15 -6
  149. package/esm/helpers/cellPadding.js +17 -11
  150. package/esm/helpers/columnsToGrid.js +6 -1
  151. package/esm/helpers/getIdFromUniqueRowAccessor.js +3 -0
  152. package/esm/helpers/refs-helpers.js +13 -3
  153. package/esm/helpers/sizeToCss.js +1 -1
  154. package/esm/hooks/useRecoverFocusCol.js +1 -0
  155. package/esm/index.js +1 -1
  156. package/esm/parts/Cells/Cell.js +34 -22
  157. package/esm/parts/Cells/index.js +2 -0
  158. package/esm/parts/Cells/useCellStyle.js +2 -2
  159. package/esm/parts/DnDHandle.js +28 -17
  160. package/esm/parts/DropIndicator.js +29 -29
  161. package/esm/parts/EmptyContent.js +11 -7
  162. package/esm/parts/FilterBar/FiltersBar.js +32 -19
  163. package/esm/parts/FilterBar/components/DateRangePill.js +15 -11
  164. package/esm/parts/FilterBar/components/DateSwitcherPill.js +37 -0
  165. package/esm/parts/FilterBar/components/MultiSelectPill.js +25 -17
  166. package/esm/parts/FilterBar/components/NumberRangePill.js +18 -12
  167. package/esm/parts/FilterBar/components/SelectPill.js +15 -11
  168. package/esm/parts/FilterBar/components/SingleDatePill.js +14 -10
  169. package/esm/parts/FilterBar/components/index.js +1 -1
  170. package/esm/parts/Filters/index.js +23 -10
  171. package/esm/parts/Footer.js +8 -5
  172. package/esm/parts/Headers/HeaderCell.js +23 -14
  173. package/esm/parts/Headers/HeaderCellGroup.js +26 -16
  174. package/esm/parts/Headers/HeaderCellTitle.js +44 -31
  175. package/esm/parts/Headers/HeaderResizer.js +19 -9
  176. package/esm/parts/Headers/index.js +4 -2
  177. package/esm/parts/Headers/useHeaderCellConfig.js +12 -7
  178. package/esm/parts/Headers/useHeaderCellHandlers.js +31 -20
  179. package/esm/parts/HoC/withConditionalDnDColumnContext.js +49 -18
  180. package/esm/parts/HoC/withConditionalDnDRowContext.js +16 -11
  181. package/esm/parts/HoC/withConditionalDnDSortableContext.js +22 -12
  182. package/esm/parts/HoC/withDnDSortableColumnContext.js +11 -20
  183. package/esm/parts/HoC/withDnDSortableRowContext.js +9 -18
  184. package/esm/parts/Row.js +13 -10
  185. package/esm/parts/RowLoading.js +11 -4
  186. package/esm/parts/RowVariants/RowVariantHeader.js +33 -20
  187. package/esm/parts/RowVariants/RowVariantPrimary.js +10 -9
  188. package/esm/parts/RowVariants/RowVariantSecondary.js +10 -9
  189. package/esm/parts/RowVariants/index.js +15 -6
  190. package/esm/parts/Rows.js +9 -2
  191. package/esm/parts/SortByCaret.js +16 -14
  192. package/esm/parts/SortableHeaderCell.js +5 -0
  193. package/esm/parts/TableContent.js +11 -4
  194. package/esm/parts/VirtualRowsList.js +11 -3
  195. package/esm/prop-types.js +5 -0
  196. package/esm/redux/reducers/headersReducers/logic.js +10 -4
  197. package/esm/styled.js +113 -92
  198. package/package.json +55 -108
  199. package/types/DataTable.d.ts +245 -43
  200. package/types/DataTableSchema.d.ts +245 -43
  201. package/types/addons/Filters/Components/CurrencyRangeFilter/index.d.ts +3 -0
  202. package/types/addons/Filters/Components/{TextInputFilter → DateSwitcherFilter}/index.d.ts +1 -1
  203. package/types/addons/Filters/Components/SelectFilter/BaseSelectFilter.d.ts +7 -1
  204. package/types/addons/Filters/Components/SelectFilter/components.d.ts +6 -6
  205. package/types/addons/Filters/Components/index.d.ts +2 -1
  206. package/types/configs/constants.d.ts +1 -3
  207. package/types/exported-related/FilterPopover.d.ts +3 -0
  208. package/types/exported-related/FilterTypes.d.ts +2 -1
  209. package/types/exported-related/Filters/currencyRangeFilterFn.d.ts +5 -0
  210. package/types/exported-related/Filters/dateSwitcherFilterFn.d.ts +6 -0
  211. package/types/exported-related/Filters/index.d.ts +1 -1
  212. package/types/exported-related/Filters/multiSelectFilterFn.d.ts +3 -1
  213. package/types/exported-related/Filters/singleDateFilterFn.d.ts +1 -1
  214. package/types/exported-related/Filters/singleSelectFilterFn.d.ts +3 -1
  215. package/types/exported-related/Toolbar/Toolbar.d.ts +2 -4
  216. package/types/helpers/refs-helpers.d.ts +1 -1
  217. package/types/parts/FilterBar/components/DateSwitcherPill.d.ts +6 -0
  218. package/types/parts/FilterBar/components/MultiSelectPill.d.ts +2 -2
  219. package/types/parts/FilterBar/components/SelectPill.d.ts +2 -2
  220. package/types/parts/FilterBar/components/index.d.ts +1 -1
  221. package/types/parts/FilterBar/styled.d.ts +167 -32
  222. package/types/parts/FilterBar/types.d.ts +6 -0
  223. package/types/parts/Headers/HeaderCellGroup.d.ts +4 -3
  224. package/types/parts/Row.d.ts +2 -1
  225. package/types/styled.d.ts +21 -21
  226. package/types/types/props.d.ts +14 -4
  227. package/cjs/addons/Filters/Components/TextInputFilter/index.js +0 -84
  228. package/cjs/addons/Pagination/ActiveZoneButtons.js +0 -63
  229. package/cjs/addons/Pagination/PagesButtons.js +0 -76
  230. package/cjs/addons/Pagination/PerPageSelector.js +0 -84
  231. package/cjs/exported-related/Filters/textFilterFn.js +0 -10
  232. package/cjs/helpers/dndkit/hierarchy/customCollisionDetection.js +0 -64
  233. package/cjs/helpers/dndkit/hierarchy/getHierarchyKeyboardCoordinates.js +0 -127
  234. package/cjs/helpers/dndkit/hierarchy/types.js +0 -2
  235. package/cjs/helpers/dndkit/hierarchy/useHierarchyActionHandlers.js +0 -54
  236. package/cjs/helpers/dndkit/hierarchy/useHierarchyAnnouncements.js +0 -36
  237. package/cjs/helpers/dndkit/hierarchy/useHierarchyDndkitConfig.js +0 -92
  238. package/cjs/helpers/dndkit/hierarchy/useHierarchyPreviewHandlers.js +0 -75
  239. package/cjs/helpers/dndkit/tree/customCollisionDetection.js +0 -86
  240. package/cjs/helpers/dndkit/tree/getTreeKeyboardCoordinates.js +0 -126
  241. package/cjs/helpers/dndkit/tree/types.js +0 -2
  242. package/cjs/helpers/dndkit/tree/useTreeActionHandlers.js +0 -74
  243. package/cjs/helpers/dndkit/tree/useTreeAnnouncements.js +0 -55
  244. package/cjs/helpers/dndkit/tree/useTreeDndkitConfig.js +0 -127
  245. package/cjs/helpers/dndkit/tree/useTreePreviewHandlers.js +0 -49
  246. package/cjs/helpers/dndkit/types.js +0 -2
  247. package/cjs/helpers/dndkit/utilities.js +0 -51
  248. package/cjs/package.json +0 -7
  249. package/cjs/parts/FilterBar/components/TextPill.js +0 -38
  250. package/cjs/parts/HoC/DragOverlayContext.js +0 -11
  251. package/esm/addons/Filters/Components/TextInputFilter/index.js +0 -75
  252. package/esm/addons/Pagination/ActiveZoneButtons.js +0 -57
  253. package/esm/addons/Pagination/PagesButtons.js +0 -68
  254. package/esm/addons/Pagination/PerPageSelector.js +0 -73
  255. package/esm/exported-related/Filters/textFilterFn.js +0 -6
  256. package/esm/helpers/dndkit/hierarchy/customCollisionDetection.js +0 -60
  257. package/esm/helpers/dndkit/hierarchy/getHierarchyKeyboardCoordinates.js +0 -119
  258. package/esm/helpers/dndkit/hierarchy/types.js +0 -1
  259. package/esm/helpers/dndkit/hierarchy/useHierarchyActionHandlers.js +0 -50
  260. package/esm/helpers/dndkit/hierarchy/useHierarchyAnnouncements.js +0 -32
  261. package/esm/helpers/dndkit/hierarchy/useHierarchyDndkitConfig.js +0 -86
  262. package/esm/helpers/dndkit/hierarchy/useHierarchyPreviewHandlers.js +0 -71
  263. package/esm/helpers/dndkit/tree/customCollisionDetection.js +0 -82
  264. package/esm/helpers/dndkit/tree/getTreeKeyboardCoordinates.js +0 -118
  265. package/esm/helpers/dndkit/tree/types.js +0 -1
  266. package/esm/helpers/dndkit/tree/useTreeActionHandlers.js +0 -70
  267. package/esm/helpers/dndkit/tree/useTreeAnnouncements.js +0 -51
  268. package/esm/helpers/dndkit/tree/useTreeDndkitConfig.js +0 -121
  269. package/esm/helpers/dndkit/tree/useTreePreviewHandlers.js +0 -45
  270. package/esm/helpers/dndkit/types.js +0 -1
  271. package/esm/helpers/dndkit/utilities.js +0 -46
  272. package/esm/package.json +0 -7
  273. package/esm/parts/FilterBar/components/TextPill.js +0 -30
  274. package/esm/parts/HoC/DragOverlayContext.js +0 -7
  275. package/types/addons/Pagination/ActiveZoneButtons.d.ts +0 -9
  276. package/types/addons/Pagination/PagesButtons.d.ts +0 -4
  277. package/types/addons/Pagination/PerPageSelector.d.ts +0 -8
  278. package/types/exported-related/Filters/textFilterFn.d.ts +0 -2
  279. package/types/helpers/dndkit/hierarchy/customCollisionDetection.d.ts +0 -3
  280. package/types/helpers/dndkit/hierarchy/getHierarchyKeyboardCoordinates.d.ts +0 -3
  281. package/types/helpers/dndkit/hierarchy/types.d.ts +0 -66
  282. package/types/helpers/dndkit/hierarchy/useHierarchyActionHandlers.d.ts +0 -2
  283. package/types/helpers/dndkit/hierarchy/useHierarchyAnnouncements.d.ts +0 -3
  284. package/types/helpers/dndkit/hierarchy/useHierarchyDndkitConfig.d.ts +0 -3
  285. package/types/helpers/dndkit/hierarchy/useHierarchyPreviewHandlers.d.ts +0 -2
  286. package/types/helpers/dndkit/tree/customCollisionDetection.d.ts +0 -4
  287. package/types/helpers/dndkit/tree/getTreeKeyboardCoordinates.d.ts +0 -3
  288. package/types/helpers/dndkit/tree/types.d.ts +0 -83
  289. package/types/helpers/dndkit/tree/useTreeActionHandlers.d.ts +0 -2
  290. package/types/helpers/dndkit/tree/useTreeAnnouncements.d.ts +0 -4
  291. package/types/helpers/dndkit/tree/useTreeDndkitConfig.d.ts +0 -3
  292. package/types/helpers/dndkit/tree/useTreePreviewHandlers.d.ts +0 -2
  293. package/types/helpers/dndkit/types.d.ts +0 -20
  294. package/types/helpers/dndkit/utilities.d.ts +0 -7
  295. package/types/parts/FilterBar/components/TextPill.d.ts +0 -2
  296. package/types/parts/HoC/DragOverlayContext.d.ts +0 -6
@@ -7,25 +7,32 @@ require('react');
7
7
  var dsTruncatedTooltipText = require('@elliemae/ds-truncated-tooltip-text');
8
8
  var RequiredDot = require('./RequiredDot.js');
9
9
  var constants = require('../../configs/constants.js');
10
+ require('core-js/modules/esnext.async-iterator.filter.js');
11
+ require('core-js/modules/esnext.iterator.constructor.js');
12
+ require('core-js/modules/esnext.iterator.filter.js');
13
+ require('core-js/modules/web.dom-collections.iterator.js');
14
+ require('core-js/modules/esnext.async-iterator.reduce.js');
15
+ require('core-js/modules/esnext.iterator.reduce.js');
10
16
  require('react-virtual');
17
+ require('core-js/modules/esnext.async-iterator.for-each.js');
18
+ require('core-js/modules/esnext.iterator.for-each.js');
11
19
  require('../../configs/useRowFlattenization.js');
12
20
  require('@babel/runtime/helpers/defineProperty');
21
+ require('core-js/modules/esnext.async-iterator.map.js');
22
+ require('core-js/modules/esnext.iterator.map.js');
13
23
  require('@elliemae/ds-icons');
14
24
  require('styled-components');
15
25
  require('../../styled.js');
16
26
  var jsxRuntime = require('react/jsx-runtime');
17
- require('@elliemae/ds-form/Checkbox');
18
- require('@elliemae/ds-form/Radio');
27
+ require('@elliemae/ds-form');
19
28
  require('../TableContent.js');
20
29
  require('@elliemae/ds-grid');
21
30
  require('@elliemae/ds-circular-progress-indicator');
22
- require('@elliemae/ds-icons/WarningTriangle');
23
31
  require('@elliemae/ds-system');
24
32
  require('@elliemae/ds-button');
25
33
  require('../../DataTableContext.js');
26
34
  require('../Row.js');
27
35
  require('../Footer.js');
28
- require('@elliemae/ds-icons/GripperVertical');
29
36
  require('../HoC/SortableItemContext.js');
30
37
 
31
38
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -34,33 +41,39 @@ var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
34
41
 
35
42
  var _RequiredDot;
36
43
 
37
- const StringTitle = ({
38
- column,
39
- textWrap
40
- }) => (column.textWrap || textWrap) === 'truncate' ? /*#__PURE__*/_jsx__default["default"](dsTruncatedTooltipText.SimpleTruncatedTooltipText, {
41
- value: column.Header
42
- }) : /*#__PURE__*/jsxRuntime.jsx(jsxRuntime.Fragment, {
43
- children: column.Header
44
- });
44
+ const StringTitle = _ref => {
45
+ let {
46
+ column,
47
+ textWrap
48
+ } = _ref;
49
+ return (column.textWrap || textWrap) === 'truncate' ? /*#__PURE__*/_jsx__default["default"](dsTruncatedTooltipText.SimpleTruncatedTooltipText, {
50
+ value: column.Header
51
+ }) : /*#__PURE__*/jsxRuntime.jsx(jsxRuntime.Fragment, {
52
+ children: column.Header
53
+ });
54
+ };
45
55
 
46
- const HeaderCellTitle = ({
47
- column,
48
- ctx,
49
- draggableProps,
50
- textWrap
51
- }) => /*#__PURE__*/_jsx__default["default"]("div", {
52
- style: {
53
- display: 'flex',
54
- alignItems: 'center'
55
- },
56
- "data-testid": constants.DATA_TESTID.DATA_TABLE_HEADER_CELL_TITLE
57
- }, void 0, typeof column.Header === 'string' ? /*#__PURE__*/_jsx__default["default"](StringTitle, {
58
- column: column,
59
- textWrap: textWrap
60
- }) : /*#__PURE__*/_jsx__default["default"](column.Header, {
61
- column: column,
62
- ctx: ctx,
63
- draggableProps: draggableProps
64
- }), column.required && (_RequiredDot || (_RequiredDot = /*#__PURE__*/_jsx__default["default"](RequiredDot.RequiredDot, {}))));
56
+ const HeaderCellTitle = _ref2 => {
57
+ let {
58
+ column,
59
+ ctx,
60
+ draggableProps,
61
+ textWrap
62
+ } = _ref2;
63
+ return /*#__PURE__*/_jsx__default["default"]("div", {
64
+ style: {
65
+ display: 'flex',
66
+ alignItems: 'center'
67
+ },
68
+ "data-testid": constants.DATA_TESTID.DATA_TABLE_HEADER_CELL_TITLE
69
+ }, void 0, typeof column.Header === 'string' ? /*#__PURE__*/_jsx__default["default"](StringTitle, {
70
+ column: column,
71
+ textWrap: textWrap
72
+ }) : /*#__PURE__*/_jsx__default["default"](column.Header, {
73
+ column: column,
74
+ ctx: ctx,
75
+ draggableProps: draggableProps
76
+ }), column.required && (_RequiredDot || (_RequiredDot = /*#__PURE__*/_jsx__default["default"](RequiredDot.RequiredDot, {}))));
77
+ };
65
78
 
66
79
  exports.HeaderCellTitle = HeaderCellTitle;
@@ -3,8 +3,18 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
6
+ require('core-js/modules/web.dom-collections.iterator.js');
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');
6
14
  var React = require('react');
7
15
  var constants = require('../../configs/constants.js');
16
+ require('core-js/modules/esnext.async-iterator.reduce.js');
17
+ require('core-js/modules/esnext.iterator.reduce.js');
8
18
  require('react-virtual');
9
19
  var columnsToGrid = require('../../helpers/columnsToGrid.js');
10
20
  require('../../configs/useRowFlattenization.js');
@@ -13,18 +23,15 @@ require('@elliemae/ds-icons');
13
23
  require('styled-components');
14
24
  var styled = require('../../styled.js');
15
25
  var jsxRuntime = require('react/jsx-runtime');
16
- require('@elliemae/ds-form/Checkbox');
17
- require('@elliemae/ds-form/Radio');
26
+ require('@elliemae/ds-form');
18
27
  require('../TableContent.js');
19
28
  require('@elliemae/ds-grid');
20
29
  require('@elliemae/ds-circular-progress-indicator');
21
- require('@elliemae/ds-icons/WarningTriangle');
22
30
  require('@elliemae/ds-system');
23
31
  require('@elliemae/ds-button');
24
32
  var DataTableContext = require('../../DataTableContext.js');
25
33
  require('../Row.js');
26
34
  require('../Footer.js');
27
- require('@elliemae/ds-icons/GripperVertical');
28
35
  require('../HoC/SortableItemContext.js');
29
36
 
30
37
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -35,11 +42,14 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
35
42
 
36
43
  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; }
37
44
 
38
- const narrow = (value, min, max) => Math.min(Math.max(value, min ?? 30), max ?? Infinity);
45
+ const narrow = (value, min, max) => Math.min(Math.max(value, min !== null && min !== void 0 ? min : 30), max !== null && max !== void 0 ? max : Infinity);
39
46
 
40
- const HeaderResizer = ({
41
- column
42
- }) => {
47
+ const HeaderResizer = _ref => {
48
+ var _column$width;
49
+
50
+ let {
51
+ column
52
+ } = _ref;
43
53
  const {
44
54
  layoutHelpers: {
45
55
  setGridLayout
@@ -50,7 +60,7 @@ const HeaderResizer = ({
50
60
  }
51
61
  } = React.useContext(DataTableContext["default"]);
52
62
  const [isResizing, setIsResizing] = React.useState(false);
53
- const [nextWidth, setNextWidth] = React.useState(column.width ?? 150);
63
+ const [nextWidth, setNextWidth] = React.useState((_column$width = column.width) !== null && _column$width !== void 0 ? _column$width : 150);
54
64
  const visibleColumnsCopy = React.useMemo(() => visibleColumns.map(col => _objectSpread({}, col)), [visibleColumns]);
55
65
  React.useEffect(() => {
56
66
  const realColumnIndex = visibleColumnsCopy.findIndex(visibleColumn => visibleColumn.id === column.id);
@@ -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');
@@ -33,7 +35,7 @@ const HeadersComp = () => {
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
 
@@ -13,30 +18,36 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
13
18
 
14
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 }; }
@@ -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
- }
63
+ },
64
+ visibleColumns
53
65
  } = 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]);
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 }; }
@@ -42,8 +50,6 @@ const withConditionalDnDRowContext = Component => props => {
42
50
  flattenedData,
43
51
  allDataFlattened
44
52
  } = 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
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
@@ -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))))
101
+ }, void 0, /*#__PURE__*/jsxRuntime.jsx(Component, _objectSpread({}, props)))
100
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');
@@ -17,19 +24,22 @@ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_definePropert
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
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; }
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));
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');
@@ -26,18 +30,14 @@ const withDnDSortableColumnContext = Component => props => {
26
30
  dragAndDropColumns
27
31
  }
28
32
  } = React.useContext(DataTableContext["default"]);
29
- const {
30
- setPureDraggedJSX
31
- } = React.useContext(DragOverlayContext.DragOverlayContext);
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
 
@@ -68,7 +59,7 @@ const withDnDSortableColumnContext = Component => props => {
68
59
 
69
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;