@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
@@ -1,39 +1,46 @@
1
1
  import { DATA_TESTID } from '../../../../configs/constants.js';
2
+ import 'core-js/modules/esnext.async-iterator.filter.js';
3
+ import 'core-js/modules/esnext.iterator.constructor.js';
4
+ import 'core-js/modules/esnext.iterator.filter.js';
5
+ import 'core-js/modules/web.dom-collections.iterator.js';
6
+ import 'core-js/modules/esnext.async-iterator.reduce.js';
7
+ import 'core-js/modules/esnext.iterator.reduce.js';
2
8
  import 'react';
3
9
  import 'react-virtual';
10
+ import 'core-js/modules/esnext.async-iterator.for-each.js';
11
+ import 'core-js/modules/esnext.iterator.for-each.js';
4
12
  import '../../../../configs/useRowFlattenization.js';
5
13
  import '@babel/runtime/helpers/esm/defineProperty';
14
+ import 'core-js/modules/esnext.async-iterator.map.js';
15
+ import 'core-js/modules/esnext.iterator.map.js';
6
16
  import '@babel/runtime/helpers/esm/jsx';
7
17
  import '@elliemae/ds-icons';
8
18
  import 'styled-components';
9
19
  import '../../../../styled.js';
10
20
  import 'react/jsx-runtime';
11
- import '@elliemae/ds-form/Checkbox';
12
- import '@elliemae/ds-form/Radio';
21
+ import '@elliemae/ds-form';
13
22
  import '../../../../parts/TableContent.js';
14
23
  import '@elliemae/ds-grid';
15
24
  import '@elliemae/ds-circular-progress-indicator';
16
- import '@elliemae/ds-icons/WarningTriangle';
17
25
  import '@elliemae/ds-system';
18
26
  import '@elliemae/ds-button';
19
27
  import '../../../../DataTableContext.js';
20
28
  import '../../../../parts/Row.js';
21
29
  import '../../../../parts/Footer.js';
22
- import '@elliemae/ds-icons/GripperVertical';
23
30
  import '../../../../parts/HoC/SortableItemContext.js';
24
31
 
25
32
  const focusNextMenuItem = (e, index) => {
26
33
  var _menuItems$item;
27
34
 
28
35
  e.preventDefault();
29
- const menuItems = document.querySelectorAll(`[data-testid="${DATA_TESTID.DATA_TABLE_SELECT_MENU_ITEM}"]`);
36
+ const menuItems = document.querySelectorAll("[data-testid=\"".concat(DATA_TESTID.DATA_TABLE_SELECT_MENU_ITEM, "\"]"));
30
37
  (_menuItems$item = menuItems.item(index + 1)) === null || _menuItems$item === void 0 ? void 0 : _menuItems$item.focus();
31
38
  };
32
39
  const focusPrevMenuItem = (e, index) => {
33
40
  var _menuItems$item2;
34
41
 
35
42
  e.preventDefault();
36
- const menuItems = document.querySelectorAll(`[data-testid="${DATA_TESTID.DATA_TABLE_SELECT_MENU_ITEM}"]`);
43
+ const menuItems = document.querySelectorAll("[data-testid=\"".concat(DATA_TESTID.DATA_TABLE_SELECT_MENU_ITEM, "\"]"));
37
44
  (_menuItems$item2 = menuItems.item(index - 1)) === null || _menuItems$item2 === void 0 ? void 0 : _menuItems$item2.focus();
38
45
  };
39
46
 
@@ -1,6 +1,7 @@
1
1
  import _jsx from '@babel/runtime/helpers/esm/jsx';
2
+ import 'core-js/modules/web.dom-collections.iterator.js';
2
3
  import { useState, useEffect, useCallback } from 'react';
3
- import DatePickerIcon from '@elliemae/ds-icons/DatePicker2';
4
+ import { DatePicker2 } from '@elliemae/ds-icons';
4
5
  import Grid from '@elliemae/ds-grid';
5
6
  import { DSControlledDateTimePicker } from '@elliemae/ds-controlled-form';
6
7
  import { FilterPopover } from '../../../../exported-related/FilterPopover.js';
@@ -9,28 +10,35 @@ import '../../../../DataTableContext.js';
9
10
  import 'react/jsx-runtime';
10
11
  import 'styled-components';
11
12
  import '@elliemae/ds-button';
12
- import '@elliemae/ds-icons/MoreOptionsVert';
13
+ import '@elliemae/ds-utilities';
13
14
  import { DATA_TESTID } from '../../../../configs/constants.js';
15
+ import 'core-js/modules/esnext.async-iterator.filter.js';
16
+ import 'core-js/modules/esnext.iterator.constructor.js';
17
+ import 'core-js/modules/esnext.iterator.filter.js';
18
+ import 'core-js/modules/esnext.async-iterator.reduce.js';
19
+ import 'core-js/modules/esnext.iterator.reduce.js';
14
20
  import 'react-virtual';
21
+ import 'core-js/modules/esnext.async-iterator.for-each.js';
22
+ import 'core-js/modules/esnext.iterator.for-each.js';
15
23
  import '../../../../configs/useRowFlattenization.js';
16
24
  import '@babel/runtime/helpers/esm/defineProperty';
17
- import '@elliemae/ds-icons';
18
- import '@elliemae/ds-form/Checkbox';
19
- import '@elliemae/ds-form/Radio';
25
+ import 'core-js/modules/esnext.async-iterator.map.js';
26
+ import 'core-js/modules/esnext.iterator.map.js';
27
+ import '@elliemae/ds-form';
20
28
  import '../../../../parts/TableContent.js';
21
29
  import '@elliemae/ds-circular-progress-indicator';
22
- import '@elliemae/ds-icons/WarningTriangle';
23
30
  import '@elliemae/ds-system';
24
31
  import '../../../../parts/Row.js';
25
32
  import '../../../../parts/Footer.js';
26
- import '@elliemae/ds-icons/GripperVertical';
27
33
  import '../../../../parts/HoC/SortableItemContext.js';
28
34
  import 'uid';
29
35
  import { FILTER_TYPES } from '../../../../exported-related/FilterTypes.js';
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
- var _DatePickerIcon;
41
+ var _DatePicker;
34
42
  const SingleDateFilter = props => {
35
43
  const {
36
44
  column,
@@ -76,7 +84,7 @@ const SingleDateFilter = props => {
76
84
  onDateChange: setDate,
77
85
  type: "date-picker-controller-only"
78
86
  }))),
79
- triggerIcon: _DatePickerIcon || (_DatePickerIcon = /*#__PURE__*/_jsx(DatePickerIcon, {})),
87
+ triggerIcon: _DatePicker || (_DatePicker = /*#__PURE__*/_jsx(DatePicker2, {})),
80
88
  innerRef: innerRef,
81
89
  ariaLabel: "Open Single Date Filter"
82
90
  });
@@ -1,6 +1,7 @@
1
1
  export { DateRangeFilter } from './DateRangeFilter/index.js';
2
+ export { DateSwitcherFilter } from './DateSwitcherFilter/index.js';
2
3
  export { NumberRangeFilter } from './NumberRangeFilter/index.js';
4
+ export { CurrencyRangeFilter } from './CurrencyRangeFilter/index.js';
3
5
  export { SingleSelectFilter } from './SelectFilter/SingleSelectFilter.js';
4
6
  export { MultiSelectFilter } from './SelectFilter/MultiSelectFilter.js';
5
7
  export { SingleDateFilter } from './SingleDateFilter/index.js';
6
- export { TextInputFilter } from './TextInputFilter/index.js';
@@ -1,6 +1,7 @@
1
1
  export { DateRangeFilter } from './Components/DateRangeFilter/index.js';
2
+ export { DateSwitcherFilter } from './Components/DateSwitcherFilter/index.js';
2
3
  export { NumberRangeFilter } from './Components/NumberRangeFilter/index.js';
4
+ export { CurrencyRangeFilter } from './Components/CurrencyRangeFilter/index.js';
3
5
  export { SingleSelectFilter } from './Components/SelectFilter/SingleSelectFilter.js';
4
6
  export { MultiSelectFilter } from './Components/SelectFilter/MultiSelectFilter.js';
5
7
  export { SingleDateFilter } from './Components/SingleDateFilter/index.js';
6
- export { TextInputFilter } from './Components/TextInputFilter/index.js';
@@ -1,46 +1,25 @@
1
- import _jsx from '@babel/runtime/helpers/esm/jsx';
1
+ import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
2
+ import 'core-js/modules/esnext.async-iterator.map.js';
3
+ import 'core-js/modules/esnext.iterator.map.js';
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';
2
9
  import { useContext, useMemo, useEffect } from 'react';
3
- import { PaginationContainer, PaginationWrapper } from '../../styled.js';
10
+ import { DSPagination } from '@elliemae/ds-pagination';
4
11
  import DataTableContext from '../../DataTableContext.js';
5
- import PerPageSelector from './PerPageSelector.js';
6
- import PagesButtons from './PagesButtons.js';
7
- import { DATA_TESTID } from '../../configs/constants.js';
8
- import 'react-virtual';
9
- import '../../configs/useRowFlattenization.js';
10
- import '@babel/runtime/helpers/esm/defineProperty';
11
- import '@elliemae/ds-icons';
12
- import 'styled-components';
13
- import 'react/jsx-runtime';
14
- import '@elliemae/ds-form/Checkbox';
15
- import '@elliemae/ds-form/Radio';
16
- import '../../parts/TableContent.js';
17
- import '@elliemae/ds-grid';
18
- import '@elliemae/ds-circular-progress-indicator';
19
- import '@elliemae/ds-icons/WarningTriangle';
20
- import '@elliemae/ds-system';
21
- import '@elliemae/ds-button';
22
- import '../../parts/Row.js';
23
- import '../../parts/Footer.js';
24
- import '@elliemae/ds-icons/GripperVertical';
25
- import '../../parts/HoC/SortableItemContext.js';
12
+ import { jsx } from 'react/jsx-runtime';
26
13
 
14
+ 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; }
15
+
16
+ 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; }
27
17
  const Pagination = () => {
28
18
  const {
29
19
  tableProps: {
30
- pagination,
31
20
  onPageChanged
32
21
  },
33
- paginationHelpers: {
34
- pageIndex,
35
- pageSize,
36
- canPreviousPage,
37
- canNextPage,
38
- onPageSizeChange,
39
- onNextPage,
40
- onPreviousPage,
41
- onPageChange,
42
- pageCount
43
- },
22
+ paginationHelpers,
44
23
  flattenedData: page,
45
24
  layoutHelpers: {
46
25
  totalColumnsWidth
@@ -50,22 +29,9 @@ const Pagination = () => {
50
29
  useEffect(() => {
51
30
  onPageChanged(originalPage);
52
31
  }, [onPageChanged, originalPage]);
53
- return /*#__PURE__*/_jsx(PaginationContainer, {
54
- width: totalColumnsWidth,
55
- "data-testid": DATA_TESTID.DATA_TABLE_PAGINATION_CONTAINER
56
- }, void 0, /*#__PURE__*/_jsx(PaginationWrapper, {}, void 0, /*#__PURE__*/_jsx(PerPageSelector, {
57
- pagination: pagination,
58
- pageSize: pageSize,
59
- setPageSize: onPageSizeChange
60
- }), /*#__PURE__*/_jsx(PagesButtons, {
61
- canPreviousPage: canPreviousPage,
62
- canNextPage: canNextPage,
63
- pageCount: pageCount,
64
- pageIndex: pageIndex,
65
- onNextPage: onNextPage,
66
- onPreviousPage: onPreviousPage,
67
- onPageChange: onPageChange
68
- })));
32
+ return /*#__PURE__*/jsx(DSPagination, _objectSpread(_objectSpread({}, paginationHelpers), {}, {
33
+ width: totalColumnsWidth
34
+ }));
69
35
  };
70
36
 
71
37
  export { Pagination };
@@ -19,12 +19,10 @@ const DATA_TESTID = {
19
19
  DATA_TABLE_DATE_RANGE_CONTROLLER: 'data-table-date-range',
20
20
  DATA_TABLE_SINGLE_DATE_CONTROLLER: 'data-table-single-date',
21
21
  DATA_TABLE_NUMBER_RANGE_CONTROLLER: 'data-table-number-range',
22
+ DATA_TABLE_CURRENCY_RANGE_CONTROLLER: 'data-table-currency-range',
22
23
  DATA_TABLE_SELECT_MENU_ITEM: 'data-table-filter-menu-list-item',
23
24
  DATA_TABLE_MULTISELECT_CONTROLLER: 'data-table-multi-select',
24
25
  DATA_TABLE_SINGLESELECT_CONTROLLER: 'data-table-single-select',
25
- DATA_TABLE_PAGINATION_PREVIOUS_BUTTON: 'data-table-pagination-prev-button',
26
- DATA_TABLE_PAGINATION_NEXT_BUTTON: 'data-table-pagination-next-button',
27
- DATA_TABLE_PAGINATION_CONTAINER: 'data-table-pagination-container',
28
26
  DATA_TABLE_FILTER_BUTTON: 'data-table-filter-menu-button',
29
27
  DATA_TABLE_FILTER_MENU_CONTENT: 'data-table-filter-menu-content',
30
28
  DATA_TABLE_ROW_CONTENT: 'data-table-row-content',
@@ -1,5 +1,5 @@
1
1
  const FIXED_SIZES = {
2
- PAGINATION_HEIGHT: 50
2
+ PAGINATION_HEIGHT: 42
3
3
  };
4
4
 
5
5
  export { FIXED_SIZES };
@@ -1,3 +1,9 @@
1
+ import 'core-js/modules/esnext.async-iterator.filter.js';
2
+ import 'core-js/modules/esnext.iterator.constructor.js';
3
+ import 'core-js/modules/esnext.iterator.filter.js';
4
+ import 'core-js/modules/web.dom-collections.iterator.js';
5
+ import 'core-js/modules/esnext.async-iterator.reduce.js';
6
+ import 'core-js/modules/esnext.iterator.reduce.js';
1
7
  import { useRef, useMemo, useState, useEffect } from 'react';
2
8
  import { useVirtual } from 'react-virtual';
3
9
  import { columnsToGrid } from '../helpers/columnsToGrid.js';
@@ -7,7 +13,7 @@ import useTableColsWithAddons from './useTableColsWithAddons.js';
7
13
  import { ColsLayoutStyle } from './constants.js';
8
14
 
9
15
  const useDatatableConfig = props => {
10
- var _columnHeaderRef$curr, _columnHeaderRef$curr2;
16
+ var _columnHeaderRef$curr, _columnHeaderRef$curr2, _columnHeaderRef$curr3;
11
17
 
12
18
  const virtualListRef = useRef(null);
13
19
  const columnHeaderRef = useRef(null); // ===========================================================================
@@ -26,7 +32,7 @@ const useDatatableConfig = props => {
26
32
  size: dataLength,
27
33
  parentRef: virtualListRef,
28
34
  overscan: 15,
29
- paddingStart: ((_columnHeaderRef$curr = columnHeaderRef.current) === null || _columnHeaderRef$curr === void 0 ? void 0 : (_columnHeaderRef$curr2 = _columnHeaderRef$curr.getBoundingClientRect()) === null || _columnHeaderRef$curr2 === void 0 ? void 0 : _columnHeaderRef$curr2.height) ?? 24
35
+ paddingStart: (_columnHeaderRef$curr = (_columnHeaderRef$curr2 = columnHeaderRef.current) === null || _columnHeaderRef$curr2 === void 0 ? void 0 : (_columnHeaderRef$curr3 = _columnHeaderRef$curr2.getBoundingClientRect()) === null || _columnHeaderRef$curr3 === void 0 ? void 0 : _columnHeaderRef$curr3.height) !== null && _columnHeaderRef$curr !== void 0 ? _columnHeaderRef$curr : 24
30
36
  }); // ===========================================================================
31
37
  // Action ref setup
32
38
  // ===========================================================================
@@ -20,10 +20,13 @@ const usePaginationConfig = (props, flattenedData) => {
20
20
  onPreviousPage = emptyFunc,
21
21
  onNextPage = emptyFunc,
22
22
  onPageChange = emptyFunc,
23
- pageCount = Math.floor(flattenedData.length / pageSize),
23
+ pageCount = Math.ceil(flattenedData.length / pageSize),
24
24
  perPageStep = 5,
25
25
  minPerPage = 0,
26
- maxPerPage = 100
26
+ maxPerPage = 100,
27
+ showPerPageSelector = true,
28
+ pageDetails = [],
29
+ pageDetailsTitle = ''
27
30
  } = pagination || noPagination; // pagination can be false
28
31
  // Get the needed page
29
32
 
@@ -44,8 +47,11 @@ const usePaginationConfig = (props, flattenedData) => {
44
47
  pageCount,
45
48
  perPageStep,
46
49
  minPerPage,
47
- maxPerPage
48
- }), [pageIndex, canPreviousPage, canNextPage, pageSize, perPageOptions, onPageSizeChange, onPreviousPage, onNextPage, onPageChange, pageCount, perPageStep, minPerPage, maxPerPage]);
50
+ maxPerPage,
51
+ showPerPageSelector,
52
+ pageDetails,
53
+ pageDetailsTitle
54
+ }), [pageIndex, canPreviousPage, canNextPage, pageSize, perPageOptions, onPageSizeChange, onPreviousPage, onNextPage, onPageChange, pageCount, perPageStep, minPerPage, maxPerPage, showPerPageSelector, pageDetails, pageDetailsTitle]);
49
55
  return [page, paginationHelpers];
50
56
  };
51
57
 
@@ -1,20 +1,27 @@
1
+ import 'core-js/modules/esnext.async-iterator.for-each.js';
2
+ import 'core-js/modules/esnext.iterator.constructor.js';
3
+ import 'core-js/modules/esnext.iterator.for-each.js';
1
4
  import { useMemo } from 'react';
2
5
  import { getIdFromUniqueRowAccessor } from '../helpers/getIdFromUniqueRowAccessor.js';
3
6
 
4
- /* eslint-disable max-params */
5
7
  const emptyObject = {};
6
8
  const trueReturner = new Proxy({}, {
7
9
  get: () => true
8
10
  });
9
11
 
10
- const flatten = (data, expandedRows, uniqueRowAccessor, maxDepth = 0) => {
12
+ const flatten = function (data, expandedRows, uniqueRowAccessor) {
13
+ let maxDepth = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
11
14
  const result = [];
12
15
 
13
- const doit = (row, index = 0, parentId = null, parentIndex = null, depth = 0) => {
14
- const id = (parentId ? `${parentId}.` : '') + index.toString();
16
+ const doit = function (row) {
17
+ let index = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
18
+ let parentId = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
19
+ let parentIndex = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
20
+ let depth = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;
21
+ const id = (parentId ? "".concat(parentId, ".") : '') + index.toString();
15
22
  const uid = getIdFromUniqueRowAccessor(uniqueRowAccessor, {
16
23
  id,
17
- original: row
24
+ original: row !== null && row !== void 0 ? row : {}
18
25
  });
19
26
  const isExpanded = expandedRows[uid];
20
27
  const rowToPush = {
@@ -26,11 +33,11 @@ const flatten = (data, expandedRows, uniqueRowAccessor, maxDepth = 0) => {
26
33
  parentIndex,
27
34
  depth,
28
35
  isExpanded,
29
- original: row
36
+ original: row !== null && row !== void 0 ? row : {}
30
37
  };
31
38
  result.push(rowToPush); // If we have subrows and we are expanded
32
39
 
33
- if (row.subRows && expandedRows[uid] && depth <= maxDepth) {
40
+ if (row !== null && row !== void 0 && row.subRows && expandedRows[uid] && depth <= maxDepth) {
34
41
  row.subRows.forEach((subRow, i) => doit(subRow, i, uid, rowToPush.realIndex, depth + 1));
35
42
  }
36
43
  };
@@ -1,5 +1,13 @@
1
+ import 'core-js/modules/esnext.async-iterator.filter.js';
2
+ import 'core-js/modules/esnext.iterator.constructor.js';
3
+ import 'core-js/modules/esnext.iterator.filter.js';
4
+ import 'core-js/modules/esnext.async-iterator.for-each.js';
5
+ import 'core-js/modules/esnext.iterator.for-each.js';
1
6
  import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
2
- import { useMemo } from 'react';
7
+ import 'core-js/modules/esnext.async-iterator.map.js';
8
+ import 'core-js/modules/esnext.iterator.map.js';
9
+ import 'core-js/modules/web.dom-collections.iterator.js';
10
+ import { useMemo, createRef } from 'react';
3
11
  import { actionColumn } from '../addons/Columns/ColumnAction/ColumnAction.js';
4
12
  import { expandRowColumn } from '../addons/Columns/ColumnExpand/ColumnExpand.js';
5
13
  import { multiSelectColumn } from '../addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js';
@@ -11,36 +19,43 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
11
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(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; }
12
20
 
13
21
  const augmentColumns = columns => {
14
- const augmentColumn = (column, index, parentId = null, depth = 0) => {
15
- let id = `column${index}`;
22
+ const augmentColumn = function (column, index) {
23
+ let parentId = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
24
+ let depth = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
25
+ let id = "column".concat(index);
16
26
  if (typeof column.Header === 'string') id = column.Header;
17
27
  if (typeof column.accessor === 'string') id = column.accessor;
18
28
  if (column.columns) column.columns = column.columns.map((col, i) => augmentColumn(col, i, id, depth + 1));
19
- return _objectSpread({
29
+ return _objectSpread(_objectSpread({
20
30
  id,
21
31
  parentId,
22
32
  depth
23
- }, column);
33
+ }, column), {}, {
34
+ ref: /*#__PURE__*/createRef()
35
+ });
24
36
  };
25
37
 
26
38
  return columns.map((col, index) => augmentColumn(col, index));
27
39
  };
28
40
 
29
- const useTableColsWithAddons = ({
30
- columns,
31
- renderRowActions,
32
- isExpandable,
33
- selectSingle,
34
- selection,
35
- dragAndDropRows,
36
- noSelectionColumn
37
- }) => useMemo(() => {
38
- const columnsWithAddons = [...augmentColumns(columns)];
39
- if (isExpandable) columnsWithAddons.unshift(expandRowColumn);
40
- if (selection && !noSelectionColumn) if (selectSingle) columnsWithAddons.unshift(singleSelectColumn);else columnsWithAddons.unshift(multiSelectColumn);
41
- if (dragAndDropRows) columnsWithAddons.unshift(dragHandleColumn);
42
- if (renderRowActions) columnsWithAddons.push(actionColumn(renderRowActions));
43
- return columnsWithAddons;
44
- }, [columns, isExpandable, selection, noSelectionColumn, selectSingle, dragAndDropRows, renderRowActions]);
41
+ const useTableColsWithAddons = _ref => {
42
+ let {
43
+ columns,
44
+ renderRowActions,
45
+ isExpandable,
46
+ selectSingle,
47
+ selection,
48
+ dragAndDropRows,
49
+ noSelectionColumn
50
+ } = _ref;
51
+ return useMemo(() => {
52
+ const columnsWithAddons = [...augmentColumns(columns)];
53
+ if (isExpandable) columnsWithAddons.unshift(expandRowColumn);
54
+ if (selection && !noSelectionColumn) if (selectSingle) columnsWithAddons.unshift(singleSelectColumn);else columnsWithAddons.unshift(multiSelectColumn);
55
+ if (dragAndDropRows) columnsWithAddons.unshift(dragHandleColumn);
56
+ if (renderRowActions) columnsWithAddons.push(actionColumn(renderRowActions));
57
+ return columnsWithAddons;
58
+ }, [columns, isExpandable, selection, noSelectionColumn, selectSingle, dragAndDropRows, renderRowActions]);
59
+ };
45
60
 
46
61
  export { useTableColsWithAddons as default };
@@ -1,4 +1,5 @@
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, useLayoutEffect, useCallback } from 'react';
3
4
  import { StyledEditableContainer, StyledPencilIcon } from '../styled.js';
4
5
  import DataTableContext from '../DataTableContext.js';
@@ -10,7 +11,8 @@ const EditableCell = props => {
10
11
  StandardRender,
11
12
  EditableRenderer,
12
13
  cell,
13
- isRowSelected
14
+ isRowSelected,
15
+ setValue
14
16
  } = props;
15
17
  const {
16
18
  virtualListHelpers
@@ -32,34 +34,40 @@ const EditableCell = props => {
32
34
  }
33
35
  }, [isEditing]);
34
36
  const handleOnKeyDown = useCallback(e => {
35
- if (isEditing) e.stopPropagation();
37
+ if (isEditing) {
38
+ e.stopPropagation();
36
39
 
37
- if (['Enter', 'Space'].includes(e.code)) {
40
+ if (['Enter', 'Escape'].includes(e.code)) {
41
+ setIsEditing(false);
42
+ }
43
+ } else if (['Enter', 'Space'].includes(e.code)) {
38
44
  handleCellClick(e);
39
45
  }
40
- }, [isEditing, handleCellClick]);
46
+ }, [isEditing, handleCellClick, setIsEditing]);
41
47
  const handleOnBlur = useCallback(event => {
42
48
  if (isEditing && !event.currentTarget.contains(event.relatedTarget)) {
43
49
  // Not triggered when swapping focus between children
44
50
  setIsEditing(false);
45
51
  }
46
52
  }, [isEditing]);
53
+ const cols = !isEditing ? ['auto', 'min-content'] : ['auto'];
47
54
  return /*#__PURE__*/jsxs(StyledEditableContainer, {
48
- cols: !isEditing ? ['auto', 'min-content'] : ['auto'],
55
+ cols: cols,
49
56
  tabIndex: isRowSelected && !isEditing ? 0 : -1,
50
57
  ref: cell.ref,
51
58
  onClick: handleCellClick,
52
59
  onKeyDown: handleOnKeyDown,
53
60
  onBlur: handleOnBlur,
54
61
  shouldDisplayEditIcon: cell.column.alwaysDisplayEditIcon,
55
- "aria-describedby": isEditing ? undefined : cell.id,
62
+ role: "cell",
63
+ "aria-labelledby": isEditing ? undefined : cell.id,
56
64
  children: [!isEditing ? StandardRender : EditableRenderer, !isEditing && (_StyledPencilIcon || (_StyledPencilIcon = /*#__PURE__*/_jsx(StyledPencilIcon, {}))), /*#__PURE__*/_jsx("span", {
57
65
  id: cell.id,
58
66
  style: {
59
67
  display: 'none'
60
68
  },
61
- "aria-hidden": "false"
62
- }, void 0, "Editable cell. To edit the content's of this cell, press the Enter key")]
69
+ "aria-hidden": "true"
70
+ }, void 0, cell.value, ", editable cell. To edit the content's of this cell, press the Enter key")]
63
71
  });
64
72
  };
65
73
 
@@ -1,46 +1,64 @@
1
+ import 'core-js/modules/esnext.async-iterator.filter.js';
2
+ import 'core-js/modules/esnext.iterator.constructor.js';
3
+ import 'core-js/modules/esnext.iterator.filter.js';
4
+ import 'core-js/modules/esnext.async-iterator.for-each.js';
5
+ import 'core-js/modules/esnext.iterator.for-each.js';
6
+ import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
1
7
  import _jsx from '@babel/runtime/helpers/esm/jsx';
2
- import { useState } from 'react';
8
+ import 'core-js/modules/web.dom-collections.iterator.js';
9
+ import { useRef, useState } from 'react';
3
10
  import DSButton from '@elliemae/ds-button';
4
11
  import { DSPopperJS } from '@elliemae/ds-popperjs';
5
12
  import styled from 'styled-components';
6
13
  import '../redux/reducers/index.js';
7
14
  import { DATA_TESTID } from '../configs/constants.js';
15
+ import 'core-js/modules/esnext.async-iterator.reduce.js';
16
+ import 'core-js/modules/esnext.iterator.reduce.js';
8
17
  import 'react-virtual';
9
18
  import '../configs/useRowFlattenization.js';
10
- import '@babel/runtime/helpers/esm/defineProperty';
19
+ import 'core-js/modules/esnext.async-iterator.map.js';
20
+ import 'core-js/modules/esnext.iterator.map.js';
11
21
  import '@elliemae/ds-icons';
12
22
  import '../styled.js';
13
- import 'react/jsx-runtime';
14
- import '@elliemae/ds-form/Checkbox';
15
- import '@elliemae/ds-form/Radio';
23
+ import { jsx } from 'react/jsx-runtime';
24
+ import '@elliemae/ds-form';
16
25
  import '../parts/TableContent.js';
17
26
  import '@elliemae/ds-grid';
18
27
  import '@elliemae/ds-circular-progress-indicator';
19
- import '@elliemae/ds-icons/WarningTriangle';
20
28
  import '@elliemae/ds-system';
21
29
  import '../DataTableContext.js';
22
30
  import '../parts/Row.js';
23
31
  import '../parts/Footer.js';
24
- import '@elliemae/ds-icons/GripperVertical';
25
32
  import '../parts/HoC/SortableItemContext.js';
26
33
  import { useDispatchHeadersActions } from '../redux/reducers/headersReducers/useDispatchHeadersActions.js';
27
34
 
35
+ 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; }
36
+
37
+ 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; }
28
38
  const FilterButton = /*#__PURE__*/styled.span.withConfig({
29
39
  componentId: "sc-16i88ut-0"
30
40
  })(["display:inline-grid;", ""], props => props.hide ? 'opacity: 0; display: none; width: 0;' : '');
31
41
  const Button = /*#__PURE__*/styled(DSButton).withConfig({
32
42
  componentId: "sc-16i88ut-1"
33
43
  })(["position:relative;justify-self:flex-end;"]);
34
- const FilterPopover = ({
35
- columnId,
36
- triggerIcon,
37
- menuContent,
38
- onTriggerClick = () => null,
39
- onClickOutsideMenu = () => null,
40
- reduxHeader,
41
- innerRef,
42
- ariaLabel
43
- }) => {
44
+ const PopperContent = /*#__PURE__*/styled.div.withConfig({
45
+ componentId: "sc-16i88ut-2"
46
+ })(["background-color:#fff;"]);
47
+ const FilterPopover = _ref2 => {
48
+ var _column$ref$current$o, _column$ref, _column$ref$current;
49
+
50
+ let {
51
+ column,
52
+ columnId,
53
+ triggerIcon,
54
+ menuContent,
55
+ onTriggerClick = () => null,
56
+ onClickOutsideMenu = () => null,
57
+ reduxHeader,
58
+ innerRef,
59
+ ariaLabel,
60
+ customStyles
61
+ } = _ref2;
44
62
  const {
45
63
  hideFilterButton,
46
64
  hideFilterMenu
@@ -48,6 +66,7 @@ const FilterPopover = ({
48
66
  hideFilterButton: true,
49
67
  hideFilterMenu: true
50
68
  };
69
+ const popperRef = useRef(null);
51
70
  const {
52
71
  patchHeaderFilterButtonAndMenu,
53
72
  patchHeader
@@ -89,6 +108,11 @@ const FilterPopover = ({
89
108
  },
90
109
  style: {
91
110
  display: 'flex'
111
+ },
112
+ onBlur: e => {
113
+ if (e.target !== referenceElement && !popperRef.current.contains(e.relatedTarget)) {
114
+ referenceElement.focus();
115
+ }
92
116
  }
93
117
  }, void 0, /*#__PURE__*/_jsx(FilterButton, {
94
118
  hide: !isIconVisible,
@@ -114,17 +138,30 @@ const FilterPopover = ({
114
138
  startPlacementPreference: "bottom-end",
115
139
  customOffset: [5, 4],
116
140
  withoutArrow: true,
117
- withoutPortal: true,
118
141
  zIndex: 10,
119
- extraPopperStyles: {
120
- minWidth: '100%'
121
- },
142
+ withoutAnimation: true,
143
+ extraPopperStyles: _objectSpread(_objectSpread({}, customStyles), {}, {
144
+ minWidth: (_column$ref$current$o = (_column$ref = column.ref) === null || _column$ref === void 0 ? void 0 : (_column$ref$current = _column$ref.current) === null || _column$ref$current === void 0 ? void 0 : _column$ref$current.offsetWidth) !== null && _column$ref$current$o !== void 0 ? _column$ref$current$o : '0px'
145
+ }),
122
146
  placementOrderPreference: ['bottom-end']
123
- }, void 0, /*#__PURE__*/_jsx("div", {
124
- style: {
125
- backgroundColor: '#fff'
126
- }
127
- }, void 0, menuContent)));
147
+ }, void 0, /*#__PURE__*/jsx(PopperContent, {
148
+ onKeyDown: e => {
149
+ if (e.code === 'Tab') {
150
+ setTimeout(() => {
151
+ var _popperRef$current;
152
+
153
+ if (!(popperRef !== null && popperRef !== void 0 && (_popperRef$current = popperRef.current) !== null && _popperRef$current !== void 0 && _popperRef$current.contains(document.activeElement))) {
154
+ patchHeader(columnId, {
155
+ hideFilterMenu: true,
156
+ hideFilterButton: false
157
+ });
158
+ }
159
+ });
160
+ }
161
+ },
162
+ ref: popperRef,
163
+ children: menuContent
164
+ })));
128
165
  };
129
166
 
130
167
  export { FilterPopover };