@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,7 +1,7 @@
1
1
  import { PropTypes } from 'react-desc';
2
2
 
3
3
  /* eslint-disable max-lines */
4
- const outOfTheBoxFilterType = PropTypes.oneOf(['ds-filter-select', 'ds-filter-multi-select', 'ds-filter-text', 'ds-filter-single-date', 'ds-filter-date-range', 'ds-filter-number-range']);
4
+ const outOfTheBoxFilterType = PropTypes.oneOf(['ds-filter-select', 'ds-filter-multi-select', 'ds-filter-single-date', 'ds-filter-date-range', 'ds-filter-number-range']);
5
5
  const textWrappingType = PropTypes.oneOf(['wrap', 'wrap-all', 'truncate']);
6
6
  const rowVariantType = PropTypes.oneOf(['ds_header_group_row', 'ds_primary_row', 'ds_secondary_row']);
7
7
  const columnPropTypes = {
@@ -9,12 +9,12 @@ const columnPropTypes = {
9
9
  accessor: PropTypes.string.description('The entry of the data that this column will display'),
10
10
  id: PropTypes.string.description('The id of the column, will default to the Header or accessor if not present'),
11
11
  filter: outOfTheBoxFilterType.description('out-of-the-box filters'),
12
- Filter: PropTypes.oneOf([PropTypes.func, PropTypes.element]).description('The custom component to render as a filter'),
13
- Cell: PropTypes.oneOf([PropTypes.func, PropTypes.element]).description('The custom cell renderer component'),
12
+ Filter: PropTypes.oneOfType([PropTypes.func, PropTypes.element]).description('The custom component to render as a filter'),
13
+ Cell: PropTypes.oneOfType([PropTypes.func, PropTypes.element]).description('The custom cell renderer component'),
14
14
  editable: PropTypes.oneOfType([PropTypes.string, PropTypes.func, PropTypes.element]).description('The editable out-of-the-box or component to render'),
15
15
  disableDnD: PropTypes.bool.description('Whereas this column should be draggable'),
16
16
  canResize: PropTypes.bool.description('Whereas this column should be resizable'),
17
- width: PropTypes.oneOf([PropTypes.string, PropTypes.number]).description('Width of this column'),
17
+ width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).description('Width of this column'),
18
18
  minWidth: PropTypes.number.description('Minimum width of this column, useful when resizing'),
19
19
  maxWidth: PropTypes.number.description('Maximum width of this column, useful when resizing'),
20
20
  canSort: PropTypes.bool.description('Whereas this column is sortable'),
@@ -27,7 +27,7 @@ const columnsPropTypes = PropTypes.shape(columnPropTypes).description('Columns p
27
27
  const rowPropTypes = {
28
28
  row_variant_type: rowVariantType.description('Which row variant to use, will default to primary'),
29
29
  row_variant_compact: PropTypes.bool.description('Whether to use the compact version of the row'),
30
- tableRowDetails: PropTypes.oneOf([PropTypes.func, PropTypes.element]).description('Component for row details'),
30
+ tableRowDetails: PropTypes.oneOfType([PropTypes.func, PropTypes.element]).description('Component for row details'),
31
31
  dimsumHeaderValue: PropTypes.string.description('Header displayed on the header variant of the row')
32
32
  };
33
33
  const rowsPropTypes = PropTypes.shape(rowPropTypes).description('Rows props');
@@ -35,8 +35,8 @@ const DataTableSchema = {
35
35
  columns: PropTypes.arrayOf(columnsPropTypes).description('Array of columns').isRequired,
36
36
  data: PropTypes.arrayOf(rowsPropTypes).description('Array of rows'),
37
37
  height: PropTypes.number.description('Height of the datatable component'),
38
- width: PropTypes.oneOf([PropTypes.string, PropTypes.number]).description('Width of the datatable component'),
39
- renderRowActions: PropTypes.oneOf([PropTypes.object, PropTypes.bool]).description('The renderer to use for the action toolbar'),
38
+ width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).description('Width of the datatable component'),
39
+ renderRowActions: PropTypes.oneOfType([PropTypes.object, PropTypes.bool]).description('The renderer to use for the action toolbar'),
40
40
  isExpandable: PropTypes.bool.description('Whether the datatable is expandable').defaultValue(false),
41
41
  uniqueRowAccessor: PropTypes.oneOfType([PropTypes.string, PropTypes.arrayOf(PropTypes.string), PropTypes.func]).description('Column / Combination of columns / Function to call to produce a unique identifier for each row.' + ' This is necessary for the selectable and drag and drop features'),
42
42
  disabledRows: PropTypes.object.description('Object with the identifiers of the rows as keys, and booleans as values. Specifies if a row is disabled or not'),
@@ -55,7 +55,7 @@ const DataTableSchema = {
55
55
  })).description('Array of filter keys and values'),
56
56
  withFilterBar: PropTypes.bool.description('Whether to display the filter bar'),
57
57
  filterBarProps: PropTypes.shape({
58
- customPillRenderer: PropTypes.oneOf([PropTypes.func, PropTypes.element]).description('If you specify custom filters, you will need to render their pills here'),
58
+ customPillRenderer: PropTypes.oneOfType([PropTypes.func, PropTypes.element]).description('If you specify custom filters, you will need to render their pills here'),
59
59
  extraOptions: PropTypes.arrayOf(PropTypes.shape({
60
60
  type: PropTypes.string,
61
61
  id: PropTypes.string,
@@ -64,17 +64,29 @@ const DataTableSchema = {
64
64
  })).description('Any extra option you want in the dropdownmenu of the filter bar')
65
65
  }).description('Props for the filter bar'),
66
66
  onFiltersChange: PropTypes.func.description('Function invoked when filters change'),
67
- pagination: PropTypes.oneOf([PropTypes.bool, PropTypes.shape({
68
- pageIndex: PropTypes.number.description('Index of the current page, starting from 1'),
69
- canPreviousPage: PropTypes.bool.description('Whether the previous button is disabled or not'),
70
- canNextPage: PropTypes.bool.description('Whether the next button is disabled or not'),
71
- pageSize: PropTypes.number.description('The current page size'),
72
- perPageOptions: PropTypes.arrayOf(PropTypes.number).description('The available options for page size'),
73
- onPageChange: PropTypes.func.description('Function invoked when the page is changed'),
74
- onPreviousPage: PropTypes.func.description('Function invoked when the previous button is pressed'),
75
- onNextPage: PropTypes.func.description('Function invoked when next button is pressed'),
76
- pageCount: PropTypes.number.description('How many pages are there. By default it will be calculated based on the ammount of rows you have')
77
- })]).description('Object containing the data for the pagination'),
67
+ pagination: PropTypes.shape({
68
+ pageCount: PropTypes.number.description('How many pages are there'),
69
+ pageIndex: PropTypes.number.description('Index of the current page, starting from 1').defaultValue(1),
70
+ canPreviousPage: PropTypes.bool.description('Whether the previous button is disabled or not').defaultValue(true),
71
+ canNextPage: PropTypes.bool.description('Whether the next button is disabled or not').defaultValue(true),
72
+ pageSize: PropTypes.number.description('The current page size').defaultValue(10),
73
+ showPerPageSelector: PropTypes.bool.description('Whether to show the page selector').defaultValue(true),
74
+ perPageOptions: PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.shape({
75
+ dsId: PropTypes.string,
76
+ value: PropTypes.number,
77
+ label: PropTypes.string,
78
+ type: PropTypes.oneOf(['single'])
79
+ })])).description('The available options for page size').defaultValue([10]),
80
+ perPageStep: PropTypes.number.description('Step for the per page options').defaultValue(5),
81
+ minPerPage: PropTypes.number.description('Step for the per page options').defaultValue(0),
82
+ maxPerPage: PropTypes.number.description('Step for the per page options').defaultValue(100),
83
+ onPageSizeChange: PropTypes.func.description('Function invoked when the page size changes').defaultValue(() => null),
84
+ onPreviousPage: PropTypes.func.description('Function invoked when the previous button is pressed').defaultValue(() => null),
85
+ onPageChange: PropTypes.func.description('Function invoked when the page changes').defaultValue(() => null),
86
+ onNextPage: PropTypes.func.description('Function invoked when next button is pressed').defaultValue(() => null),
87
+ pageDetails: PropTypes.arrayOf(PropTypes.string).description('Details to provide for each page').defaultValue([]),
88
+ pageDetailsTitle: PropTypes.string.description('The title of the details (usually a column of your dataset)').defaultValue('')
89
+ }).description('Object containing the data for the pagination'),
78
90
  colsLayoutStyle: PropTypes.oneOf(['auto', 'fixed']).description('Whether the datatable fills its container or not'),
79
91
  hiddenColumns: PropTypes.arrayOf(PropTypes.string).description('IDs of columns not to render'),
80
92
  dragAndDropRows: PropTypes.bool.description('Whether to turn on the d&d feature for the rows').defaultValue(false),
@@ -86,7 +98,7 @@ const DataTableSchema = {
86
98
  noResultsMessage: PropTypes.string.description('Message to show when no more data is available'),
87
99
  noResultsSecondaryMessage: PropTypes.string.description('Secondary message to show when no more data is available'),
88
100
  noResultsButtonLabel: PropTypes.string.description('Label of the button when no more data is available'),
89
- noResultsPlaceholder: PropTypes.oneOf([PropTypes.func, PropTypes.element]).description('Custom content to show when dataset is empty'),
101
+ noResultsPlaceholder: PropTypes.oneOfType([PropTypes.func, PropTypes.element]).description('Custom content to show when dataset is empty'),
90
102
  isLoading: PropTypes.bool.description('Whether to show a global loader in the datatable'),
91
103
  isLoadingAppended: PropTypes.bool.description('Whether to show an appended loader in the datatable'),
92
104
  // eslint-disable-next-line max-lines
@@ -5,7 +5,7 @@ import '../../../parts/TableContent.js';
5
5
  import '@elliemae/ds-grid';
6
6
  import '@elliemae/ds-circular-progress-indicator';
7
7
  import 'styled-components';
8
- import '@elliemae/ds-icons/WarningTriangle';
8
+ import '@elliemae/ds-icons';
9
9
  import '@elliemae/ds-system';
10
10
  import '@elliemae/ds-button';
11
11
  import '../../../DataTableContext.js';
@@ -21,13 +21,14 @@ const dragHandleColumn = {
21
21
  // Make sure it has an ID
22
22
  // The header doesn't need anything for single selection
23
23
  Header: () => _div || (_div = /*#__PURE__*/_jsx("div", {})),
24
- Cell: ({
25
- row,
26
- isRowSelected,
27
- cell,
28
- isDragOverlay,
29
- draggableProps
30
- }) => {
24
+ Cell: _ref2 => {
25
+ let {
26
+ row,
27
+ isRowSelected,
28
+ cell,
29
+ isDragOverlay,
30
+ draggableProps
31
+ } = _ref2;
31
32
  useRecoverFocusRow(row, cell, isDragOverlay, draggableProps);
32
33
  return /*#__PURE__*/_jsx(StyledFocusWithin, {
33
34
  style: {
@@ -1,25 +1,31 @@
1
- import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
2
1
  import _jsx from '@babel/runtime/helpers/esm/jsx';
2
+ import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
3
+ import 'core-js/modules/esnext.async-iterator.for-each.js';
4
+ import 'core-js/modules/esnext.iterator.constructor.js';
5
+ import 'core-js/modules/esnext.iterator.for-each.js';
6
+ import 'core-js/modules/esnext.async-iterator.filter.js';
7
+ import 'core-js/modules/esnext.iterator.filter.js';
3
8
  import { useMemo, useCallback } from 'react';
4
- import ArrowShortReturn from '@elliemae/ds-icons/ArrowShortReturn';
9
+ import { ArrowheadDown, ArrowheadRight, ArrowShortReturn } from '@elliemae/ds-icons';
5
10
  import styled from 'styled-components';
6
- import { CollapseAll, ExpandAll, ArrowheadDown, ArrowheadRight } from '@elliemae/ds-icons';
7
11
  import { StyledFocusWithin } from '../../../styled.js';
8
12
  import { DATA_TESTID } from '../../../configs/constants.js';
13
+ import 'core-js/modules/web.dom-collections.iterator.js';
14
+ import 'core-js/modules/esnext.async-iterator.reduce.js';
15
+ import 'core-js/modules/esnext.iterator.reduce.js';
9
16
  import 'react-virtual';
10
17
  import '../../../configs/useRowFlattenization.js';
11
- import '@elliemae/ds-form/Checkbox';
12
- import '@elliemae/ds-form/Radio';
18
+ import 'core-js/modules/esnext.async-iterator.map.js';
19
+ import 'core-js/modules/esnext.iterator.map.js';
20
+ import '@elliemae/ds-form';
13
21
  import '../../../parts/TableContent.js';
14
22
  import '@elliemae/ds-grid';
15
23
  import '@elliemae/ds-circular-progress-indicator';
16
- import '@elliemae/ds-icons/WarningTriangle';
17
24
  import '@elliemae/ds-system';
18
25
  import '@elliemae/ds-button';
19
26
  import '../../../DataTableContext.js';
20
27
  import '../../../parts/Row.js';
21
28
  import '../../../parts/Footer.js';
22
- import '@elliemae/ds-icons/GripperVertical';
23
29
  import '../../../parts/HoC/SortableItemContext.js';
24
30
  import { jsx } from 'react/jsx-runtime';
25
31
 
@@ -28,15 +34,16 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
28
34
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
29
35
  const StyledSpan = /*#__PURE__*/styled.span.withConfig({
30
36
  componentId: "sc-1xp824d-0"
31
- })(["cursor:pointer;box-sizing:border-box;outline:none;"]);
37
+ })(["cursor:pointer;box-sizing:border-box;outline:none;display:flex;justify-content:center;align-items:center;"]);
32
38
  const expandRowColumn = {
33
39
  // Build our expander column
34
40
  id: 'expander',
35
41
  // Make sure it has an ID
36
42
  accessor: 'expandRowColumn',
37
- Header: ({
38
- ctx
39
- }) => {
43
+ Header: _ref => {
44
+ let {
45
+ ctx
46
+ } = _ref;
40
47
  const {
41
48
  tableProps: {
42
49
  expandedRows,
@@ -53,20 +60,32 @@ const expandRowColumn = {
53
60
  }, [allDataFlattened]);
54
61
  const isAllRowsExpanded = useMemo(() => Object.keys(allExpandable).length === Object.keys(expandedRows).length, [allExpandable, expandedRows]);
55
62
  const onExpandedAllHandler = useCallback(() => {
56
- if (isAllRowsExpanded) onRowExpand({}, 'All');else onRowExpand(allExpandable, 'All');
63
+ if (isAllRowsExpanded) onRowExpand({}, 'All');else onRowExpand(_objectSpread({}, allExpandable), 'All');
57
64
  }, [allExpandable, isAllRowsExpanded, onRowExpand]);
58
65
  const GlobalExpandIcon = useMemo(() => {
59
- if (isAllRowsExpanded) return /*#__PURE__*/_jsx(CollapseAll, {
60
- size: "m",
66
+ if (isAllRowsExpanded) return /*#__PURE__*/_jsx(ArrowheadDown, {
67
+ size: "s",
61
68
  color: ['brand-primary', '600'],
62
69
  "data-testid": DATA_TESTID.DATA_TABLE_ICON_ARROW_DOWN
63
- });
64
- return /*#__PURE__*/_jsx(ExpandAll, {
65
- size: "m",
70
+ }); // Mixed
71
+
72
+ if (Object.keys(expandedRows).length) {
73
+ return /*#__PURE__*/_jsx(ArrowheadRight, {
74
+ size: "s",
75
+ color: ['brand-primary', '600'],
76
+ "data-testid": DATA_TESTID.DATA_TABLE_ICON_ARROW_MIXED,
77
+ style: {
78
+ transform: 'rotate(45deg)'
79
+ }
80
+ });
81
+ }
82
+
83
+ return /*#__PURE__*/_jsx(ArrowheadRight, {
84
+ size: "s",
66
85
  color: ['brand-primary', '600'],
67
86
  "data-testid": DATA_TESTID.DATA_TABLE_ICON_ARROW_RIGHT
68
87
  });
69
- }, [isAllRowsExpanded]);
88
+ }, [expandedRows, isAllRowsExpanded]);
70
89
  return /*#__PURE__*/_jsx(StyledFocusWithin, {}, void 0, /*#__PURE__*/_jsx(StyledSpan, {
71
90
  role: "button",
72
91
  tabIndex: 0,
@@ -80,18 +99,22 @@ const expandRowColumn = {
80
99
  },
81
100
  "data-testid": DATA_TESTID.DATA_TABLE_GLOBAL_EXPAND_CELL,
82
101
  "aria-expanded": isAllRowsExpanded,
83
- isRightArrow: !isAllRowsExpanded && Object.keys(expandedRows).length === 0
102
+ style: {
103
+ width: '24px',
104
+ height: '24px'
105
+ }
84
106
  }, void 0, GlobalExpandIcon));
85
107
  },
86
- Cell: ({
87
- cell,
88
- row,
89
- isRowSelected,
90
- ctx,
91
- draggableProps
92
- }) => {
108
+ Cell: _ref2 => {
93
109
  var _row$original$subRows;
94
110
 
111
+ let {
112
+ cell,
113
+ row,
114
+ isRowSelected,
115
+ ctx,
116
+ draggableProps
117
+ } = _ref2;
95
118
  const {
96
119
  tableProps: {
97
120
  dragAndDropRows,
@@ -117,9 +140,9 @@ const expandRowColumn = {
117
140
  const isDragging = draggableProps ? draggableProps.isDragging : false;
118
141
  const isDragOverlay = dragAndDropRows && !draggableProps;
119
142
  const indentStyle = useMemo(() => ({
120
- marginLeft: `${row.depth * 32}px`,
143
+ marginLeft: "".concat(row.depth * 32, "px"),
121
144
  marginRight: '18px',
122
- paddingLeft: '1px',
145
+ paddingLeft: '2px',
123
146
  paddingRight: '2px',
124
147
  position: 'relative',
125
148
  height: '100%',
@@ -128,7 +151,7 @@ const expandRowColumn = {
128
151
  }), [row.depth]);
129
152
  const rowProps = useMemo(() => ({
130
153
  role: 'button',
131
- key: `${row.uid}-expand-button`,
154
+ key: "".concat(row.uid, "-expand-button"),
132
155
  title: 'Toggle Row Expanded',
133
156
  onClick: onRowExpandHandler,
134
157
  onKeyDown: e => {
@@ -1,26 +1,32 @@
1
1
  import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
2
2
  import _jsx from '@babel/runtime/helpers/esm/jsx';
3
+ import 'core-js/modules/esnext.async-iterator.for-each.js';
4
+ import 'core-js/modules/esnext.iterator.constructor.js';
5
+ import 'core-js/modules/esnext.iterator.for-each.js';
6
+ import 'core-js/modules/esnext.async-iterator.filter.js';
7
+ import 'core-js/modules/esnext.iterator.filter.js';
3
8
  import { useMemo, useCallback } from 'react';
4
- import DSCheckbox from '@elliemae/ds-form/Checkbox';
9
+ import { DSCheckbox } from '@elliemae/ds-form';
5
10
  import { DATA_TESTID } from '../../../configs/constants.js';
11
+ import 'core-js/modules/web.dom-collections.iterator.js';
12
+ import 'core-js/modules/esnext.async-iterator.reduce.js';
13
+ import 'core-js/modules/esnext.iterator.reduce.js';
6
14
  import 'react-virtual';
7
15
  import '../../../configs/useRowFlattenization.js';
8
- import '@elliemae/ds-icons/ArrowShortReturn';
9
- import 'styled-components';
16
+ import 'core-js/modules/esnext.async-iterator.map.js';
17
+ import 'core-js/modules/esnext.iterator.map.js';
10
18
  import '@elliemae/ds-icons';
19
+ import 'styled-components';
11
20
  import '../../../styled.js';
12
21
  import 'react/jsx-runtime';
13
- import '@elliemae/ds-form/Radio';
14
22
  import '../../../parts/TableContent.js';
15
23
  import '@elliemae/ds-grid';
16
24
  import '@elliemae/ds-circular-progress-indicator';
17
- import '@elliemae/ds-icons/WarningTriangle';
18
25
  import '@elliemae/ds-system';
19
26
  import '@elliemae/ds-button';
20
27
  import '../../../DataTableContext.js';
21
28
  import '../../../parts/Row.js';
22
29
  import '../../../parts/Footer.js';
23
- import '@elliemae/ds-icons/GripperVertical';
24
30
  import '../../../parts/HoC/SortableItemContext.js';
25
31
 
26
32
  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; }
@@ -30,9 +36,10 @@ const multiSelectColumn = {
30
36
  // Build our multiSelecter column
31
37
  id: 'multiSelecter',
32
38
  // Make sure it has an ID
33
- Header: ({
34
- ctx
35
- }) => {
39
+ Header: _ref => {
40
+ let {
41
+ ctx
42
+ } = _ref;
36
43
  const {
37
44
  tableProps: {
38
45
  onSelectionChange,
@@ -63,8 +70,8 @@ const multiSelectColumn = {
63
70
 
64
71
  return {};
65
72
  }, [newGlobalStateAfterToggle, allDataFlattened, disabledRows]);
66
- const onChangeHandler = useCallback(() => {
67
- onSelectionChange(newSelection);
73
+ const onChangeHandler = useCallback(e => {
74
+ onSelectionChange(newSelection, 'All', e);
68
75
  }, [newSelection, onSelectionChange]);
69
76
  const PureHeaderCheckbox = useMemo(() => /*#__PURE__*/_jsx(DSCheckbox, {
70
77
  "data-testid": DATA_TESTID.DATA_TABLE_GLOBAL_CHECKBOX,
@@ -78,12 +85,13 @@ const multiSelectColumn = {
78
85
  }), [currentGlobalState, onChangeHandler]);
79
86
  return PureHeaderCheckbox;
80
87
  },
81
- Cell: ({
82
- cell,
83
- row,
84
- isRowSelected,
85
- ctx
86
- }) => {
88
+ Cell: _ref2 => {
89
+ let {
90
+ cell,
91
+ row,
92
+ isRowSelected,
93
+ ctx
94
+ } = _ref2;
87
95
  const {
88
96
  tableProps: {
89
97
  onSelectionChange,
@@ -101,7 +109,7 @@ const multiSelectColumn = {
101
109
  "aria-checked": selectedState,
102
110
  "aria-disabled": false,
103
111
  checked: selectedState,
104
- onChange: () => {
112
+ onChange: e => {
105
113
  const newState = !selectedState;
106
114
 
107
115
  const newSelection = _objectSpread(_objectSpread({}, selection), {}, {
@@ -111,7 +119,7 @@ const multiSelectColumn = {
111
119
 
112
120
  if (!newState) delete newSelection[uid]; // if newState is false, remove from the new selection
113
121
 
114
- onSelectionChange(newSelection);
122
+ onSelectionChange(newSelection, uid, e);
115
123
  },
116
124
  disabled: disabledRows[row.uid],
117
125
  innerRef: cell.ref,
@@ -1,26 +1,32 @@
1
1
  import _jsx from '@babel/runtime/helpers/esm/jsx';
2
2
  import { useMemo } from 'react';
3
+ import { DSRadio } from '@elliemae/ds-form';
3
4
  import styled from 'styled-components';
4
- import DSRadio from '@elliemae/ds-form/Radio';
5
5
  import { DATA_TESTID } from '../../../configs/constants.js';
6
+ import 'core-js/modules/esnext.async-iterator.filter.js';
7
+ import 'core-js/modules/esnext.iterator.constructor.js';
8
+ import 'core-js/modules/esnext.iterator.filter.js';
9
+ import 'core-js/modules/web.dom-collections.iterator.js';
10
+ import 'core-js/modules/esnext.async-iterator.reduce.js';
11
+ import 'core-js/modules/esnext.iterator.reduce.js';
6
12
  import 'react-virtual';
13
+ import 'core-js/modules/esnext.async-iterator.for-each.js';
14
+ import 'core-js/modules/esnext.iterator.for-each.js';
7
15
  import '../../../configs/useRowFlattenization.js';
8
16
  import '@babel/runtime/helpers/esm/defineProperty';
9
- import '@elliemae/ds-icons/ArrowShortReturn';
17
+ import 'core-js/modules/esnext.async-iterator.map.js';
18
+ import 'core-js/modules/esnext.iterator.map.js';
10
19
  import '@elliemae/ds-icons';
11
20
  import '../../../styled.js';
12
21
  import 'react/jsx-runtime';
13
- import '@elliemae/ds-form/Checkbox';
14
22
  import '../../../parts/TableContent.js';
15
23
  import '@elliemae/ds-grid';
16
24
  import '@elliemae/ds-circular-progress-indicator';
17
- import '@elliemae/ds-icons/WarningTriangle';
18
25
  import '@elliemae/ds-system';
19
26
  import '@elliemae/ds-button';
20
27
  import '../../../DataTableContext.js';
21
28
  import '../../../parts/Row.js';
22
29
  import '../../../parts/Footer.js';
23
- import '@elliemae/ds-icons/GripperVertical';
24
30
  import '../../../parts/HoC/SortableItemContext.js';
25
31
 
26
32
  var _div;
@@ -36,12 +42,13 @@ const singleSelectColumn = {
36
42
  // Make sure it has an ID
37
43
  // The header doesn't need anything for single selection
38
44
  Header: () => _div || (_div = /*#__PURE__*/_jsx("div", {})),
39
- Cell: ({
40
- cell,
41
- row,
42
- isRowSelected,
43
- ctx
44
- }) => {
45
+ Cell: _ref => {
46
+ let {
47
+ cell,
48
+ row,
49
+ isRowSelected,
50
+ ctx
51
+ } = _ref;
45
52
  const {
46
53
  tableProps: {
47
54
  onSelectionChange,
@@ -1,34 +1,42 @@
1
1
  import _jsx from '@babel/runtime/helpers/esm/jsx';
2
+ import 'core-js/modules/web.dom-collections.iterator.js';
3
+ import 'core-js/modules/esnext.async-iterator.reduce.js';
4
+ import 'core-js/modules/esnext.iterator.constructor.js';
5
+ import 'core-js/modules/esnext.iterator.reduce.js';
2
6
  import { useContext, useMemo, useState, useCallback } from 'react';
3
- import ComboBoxFreeSolo from '@elliemae/ds-form/ComboBoxFreeSolo';
4
- import '../../../exported-related/FilterPopover.js';
5
- import { EditableCell } from '../../../exported-related/EditableCell.js';
6
- import 'styled-components';
7
+ import { ComboBoxFreeSolo } from '@elliemae/ds-form';
8
+ import 'core-js/modules/esnext.async-iterator.filter.js';
9
+ import 'core-js/modules/esnext.iterator.filter.js';
10
+ import 'core-js/modules/esnext.async-iterator.for-each.js';
11
+ import 'core-js/modules/esnext.iterator.for-each.js';
12
+ import '@babel/runtime/helpers/esm/defineProperty';
7
13
  import '@elliemae/ds-button';
8
- import '@elliemae/ds-icons/MoreOptionsVert';
14
+ import '@elliemae/ds-popperjs';
15
+ import 'styled-components';
16
+ import '../../../redux/reducers/index.js';
9
17
  import '../../../configs/constants.js';
10
18
  import 'react-virtual';
11
19
  import '../../../configs/useRowFlattenization.js';
12
- import '@babel/runtime/helpers/esm/defineProperty';
13
- import '@elliemae/ds-icons/ArrowShortReturn';
20
+ import 'core-js/modules/esnext.async-iterator.map.js';
21
+ import 'core-js/modules/esnext.iterator.map.js';
14
22
  import '@elliemae/ds-icons';
15
23
  import '../../../styled.js';
16
24
  import 'react/jsx-runtime';
17
- import '@elliemae/ds-form/Checkbox';
18
- import '@elliemae/ds-form/Radio';
19
25
  import '../../../parts/TableContent.js';
20
26
  import '@elliemae/ds-grid';
21
27
  import '@elliemae/ds-circular-progress-indicator';
22
- import '@elliemae/ds-icons/WarningTriangle';
23
28
  import '@elliemae/ds-system';
24
29
  import DataTableContext from '../../../DataTableContext.js';
25
30
  import '../../../parts/Row.js';
26
31
  import '../../../parts/Footer.js';
27
- import '@elliemae/ds-icons/GripperVertical';
28
32
  import '../../../parts/HoC/SortableItemContext.js';
33
+ import { EditableCell } from '../../../exported-related/EditableCell.js';
34
+ import '@elliemae/ds-utilities';
29
35
  import 'uid';
30
36
  import '../../../exported-related/Filters/applyOutOfTheBoxFilters.js';
31
37
  import 'moment';
38
+ import 'core-js/modules/esnext.async-iterator.some.js';
39
+ import 'core-js/modules/esnext.iterator.some.js';
32
40
 
33
41
  const ComboboxEditableCell = props => {
34
42
  const {
@@ -1,33 +1,42 @@
1
1
  import _jsx from '@babel/runtime/helpers/esm/jsx';
2
+ import 'core-js/modules/web.dom-collections.iterator.js';
2
3
  import { useContext, useState, useCallback } from 'react';
3
- import '../../../exported-related/FilterPopover.js';
4
- import { EditableCell } from '../../../exported-related/EditableCell.js';
5
- import 'styled-components';
4
+ import 'core-js/modules/esnext.async-iterator.filter.js';
5
+ import 'core-js/modules/esnext.iterator.constructor.js';
6
+ import 'core-js/modules/esnext.iterator.filter.js';
7
+ import 'core-js/modules/esnext.async-iterator.for-each.js';
8
+ import 'core-js/modules/esnext.iterator.for-each.js';
9
+ import '@babel/runtime/helpers/esm/defineProperty';
6
10
  import '@elliemae/ds-button';
7
- import '@elliemae/ds-icons/MoreOptionsVert';
11
+ import '@elliemae/ds-popperjs';
12
+ import 'styled-components';
13
+ import '../../../redux/reducers/index.js';
8
14
  import '../../../configs/constants.js';
15
+ import 'core-js/modules/esnext.async-iterator.reduce.js';
16
+ import 'core-js/modules/esnext.iterator.reduce.js';
9
17
  import 'react-virtual';
10
18
  import '../../../configs/useRowFlattenization.js';
11
- import '@babel/runtime/helpers/esm/defineProperty';
12
- import '@elliemae/ds-icons/ArrowShortReturn';
19
+ import 'core-js/modules/esnext.async-iterator.map.js';
20
+ import 'core-js/modules/esnext.iterator.map.js';
13
21
  import '@elliemae/ds-icons';
14
22
  import '../../../styled.js';
15
23
  import 'react/jsx-runtime';
16
- import '@elliemae/ds-form/Checkbox';
17
- import '@elliemae/ds-form/Radio';
24
+ import '@elliemae/ds-form';
18
25
  import '../../../parts/TableContent.js';
19
26
  import '@elliemae/ds-grid';
20
27
  import '@elliemae/ds-circular-progress-indicator';
21
- import '@elliemae/ds-icons/WarningTriangle';
22
28
  import '@elliemae/ds-system';
23
29
  import DataTableContext from '../../../DataTableContext.js';
24
30
  import '../../../parts/Row.js';
25
31
  import '../../../parts/Footer.js';
26
- import '@elliemae/ds-icons/GripperVertical';
27
32
  import '../../../parts/HoC/SortableItemContext.js';
33
+ import { EditableCell } from '../../../exported-related/EditableCell.js';
34
+ import '@elliemae/ds-utilities';
28
35
  import 'uid';
29
36
  import '../../../exported-related/Filters/applyOutOfTheBoxFilters.js';
30
37
  import 'moment';
38
+ import 'core-js/modules/esnext.async-iterator.some.js';
39
+ import 'core-js/modules/esnext.iterator.some.js';
31
40
 
32
41
  function DateEditableCell(props) {
33
42
  const {
@@ -1,33 +1,42 @@
1
1
  import _jsx from '@babel/runtime/helpers/esm/jsx';
2
+ import 'core-js/modules/web.dom-collections.iterator.js';
2
3
  import { useContext, useState, useCallback } from 'react';
3
4
  import styled from 'styled-components';
4
- import '../../../exported-related/FilterPopover.js';
5
- import { EditableCell } from '../../../exported-related/EditableCell.js';
5
+ import 'core-js/modules/esnext.async-iterator.filter.js';
6
+ import 'core-js/modules/esnext.iterator.constructor.js';
7
+ import 'core-js/modules/esnext.iterator.filter.js';
8
+ import 'core-js/modules/esnext.async-iterator.for-each.js';
9
+ import 'core-js/modules/esnext.iterator.for-each.js';
10
+ import '@babel/runtime/helpers/esm/defineProperty';
6
11
  import '@elliemae/ds-button';
7
- import '@elliemae/ds-icons/MoreOptionsVert';
12
+ import '@elliemae/ds-popperjs';
13
+ import '../../../redux/reducers/index.js';
8
14
  import '../../../configs/constants.js';
15
+ import 'core-js/modules/esnext.async-iterator.reduce.js';
16
+ import 'core-js/modules/esnext.iterator.reduce.js';
9
17
  import 'react-virtual';
10
18
  import '../../../configs/useRowFlattenization.js';
11
- import '@babel/runtime/helpers/esm/defineProperty';
12
- import '@elliemae/ds-icons/ArrowShortReturn';
19
+ import 'core-js/modules/esnext.async-iterator.map.js';
20
+ import 'core-js/modules/esnext.iterator.map.js';
13
21
  import '@elliemae/ds-icons';
14
22
  import '../../../styled.js';
15
23
  import 'react/jsx-runtime';
16
- import '@elliemae/ds-form/Checkbox';
17
- import '@elliemae/ds-form/Radio';
24
+ import '@elliemae/ds-form';
18
25
  import '../../../parts/TableContent.js';
19
26
  import '@elliemae/ds-grid';
20
27
  import '@elliemae/ds-circular-progress-indicator';
21
- import '@elliemae/ds-icons/WarningTriangle';
22
28
  import '@elliemae/ds-system';
23
29
  import DataTableContext from '../../../DataTableContext.js';
24
30
  import '../../../parts/Row.js';
25
31
  import '../../../parts/Footer.js';
26
- import '@elliemae/ds-icons/GripperVertical';
27
32
  import '../../../parts/HoC/SortableItemContext.js';
33
+ import { EditableCell } from '../../../exported-related/EditableCell.js';
34
+ import '@elliemae/ds-utilities';
28
35
  import 'uid';
29
36
  import '../../../exported-related/Filters/applyOutOfTheBoxFilters.js';
30
37
  import 'moment';
38
+ import 'core-js/modules/esnext.async-iterator.some.js';
39
+ import 'core-js/modules/esnext.iterator.some.js';
31
40
 
32
41
  const StyledInput = /*#__PURE__*/styled.input.withConfig({
33
42
  componentId: "sc-15pvvoa-0"
@@ -61,15 +70,31 @@ const TextEditableCell = props => {
61
70
  rowIndex
62
71
  });
63
72
  }, [value, onCellValueChange, cell.column.id, cell.row.index]);
73
+ const handleOnKeyDown = useCallback(e => {
74
+ if (e.code === 'Enter') {
75
+ cell.ref.current.focus(); // will exec on blur callback from input and save new value
76
+ }
77
+
78
+ if (e.code === 'Escape') {
79
+ setValue(cell.value);
80
+ const auxRef = cell.ref.current; // this prevent the on blur
81
+
82
+ setTimeout(() => {
83
+ auxRef.focus();
84
+ });
85
+ }
86
+ }, [cell]);
64
87
  return /*#__PURE__*/_jsx(EditableCell, {
65
88
  StandardRender: DefaultCellRender,
66
89
  EditableRenderer: /*#__PURE__*/_jsx(StyledInput, {
67
90
  value: value,
91
+ onKeyDown: handleOnKeyDown,
68
92
  onChange: handleOnChange,
69
93
  onBlur: handleOnBlur,
70
94
  autoFocus: true
71
95
  }),
72
96
  cell: cell,
97
+ setValue: setValue,
73
98
  isRowSelected: isRowSelected
74
99
  });
75
100
  };