@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,10 +1,11 @@
1
1
  const FILTER_TYPES = {
2
2
  SELECT: 'ds-filter-select',
3
3
  MULTI_SELECT: 'ds-filter-multi-select',
4
- TEXT: 'ds-filter-text',
5
4
  SINGLE_DATE: 'ds-filter-single-date',
6
5
  DATE_RANGE: 'ds-filter-date-range',
7
- NUMBER_RANGE: 'ds-filter-number-range'
6
+ DATE_SWITCHER: 'ds-filter-date-switcher',
7
+ NUMBER_RANGE: 'ds-filter-number-range',
8
+ CURRENCY_RANGE: 'ds-filter-currency-range'
8
9
  };
9
10
 
10
11
  export { FILTER_TYPES };
@@ -1,19 +1,24 @@
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 { singleSelectFilterFn } from './singleSelectFilterFn.js';
2
5
  import { multiSelectFilterFn } from './multiSelectFilterFn.js';
3
- import { textFilterFn } from './textFilterFn.js';
4
6
  import { singleDateFilterFn } from './singleDateFilterFn.js';
5
7
  import { dateRangeFilterFn } from './dateRangeFilterFn.js';
8
+ import { dateSwitcherFilterFn } from './dateSwitcherFilterFn.js';
6
9
  import { numberRangeFilterFn } from './numberRangeFilterFn.js';
10
+ import { currencyRangeFilterFn } from './currencyRangeFilterFn.js';
7
11
  import { FILTER_TYPES } from '../FilterTypes.js';
8
12
 
9
13
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
10
14
  const filterMapper = {
11
15
  [FILTER_TYPES.SELECT]: singleSelectFilterFn,
12
16
  [FILTER_TYPES.MULTI_SELECT]: multiSelectFilterFn,
13
- [FILTER_TYPES.TEXT]: textFilterFn,
14
17
  [FILTER_TYPES.SINGLE_DATE]: singleDateFilterFn,
15
18
  [FILTER_TYPES.DATE_RANGE]: dateRangeFilterFn,
16
- [FILTER_TYPES.NUMBER_RANGE]: numberRangeFilterFn
19
+ [FILTER_TYPES.DATE_SWITCHER]: dateSwitcherFilterFn,
20
+ [FILTER_TYPES.NUMBER_RANGE]: numberRangeFilterFn,
21
+ [FILTER_TYPES.CURRENCY_RANGE]: currencyRangeFilterFn
17
22
  };
18
23
  const applyOutOfTheBoxFilters = (data, filters) => {
19
24
  let filteredData = data;
@@ -0,0 +1,20 @@
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
+
5
+ const getNumber = str => {
6
+ if (str === null) return null;
7
+ if (typeof str === 'number') return str;
8
+ if (typeof str !== 'string') return null;
9
+ return Number.parseFloat(str.split('').filter(x => ![',', '$'].includes(x)).join(''));
10
+ };
11
+
12
+ const isEmpty = number => Number.isNaN(number) || number === null || number === undefined;
13
+
14
+ const currencyRangeFilterFn = (unfilteredData, filterKey, filterValue) => {
15
+ const fromNumber = getNumber(filterValue.from);
16
+ const toNumber = getNumber(filterValue.to);
17
+ return unfilteredData.filter(datum => isEmpty(fromNumber) || isEmpty(toNumber) || getNumber(datum[filterKey]) >= fromNumber && getNumber(datum[filterKey]) <= toNumber);
18
+ };
19
+
20
+ export { currencyRangeFilterFn };
@@ -1,26 +1,33 @@
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';
1
4
  import moment from 'moment';
2
5
  import { momentFormat } from '../../configs/constants.js';
6
+ import 'core-js/modules/web.dom-collections.iterator.js';
7
+ import 'core-js/modules/esnext.async-iterator.reduce.js';
8
+ import 'core-js/modules/esnext.iterator.reduce.js';
3
9
  import 'react';
4
10
  import 'react-virtual';
11
+ import 'core-js/modules/esnext.async-iterator.for-each.js';
12
+ import 'core-js/modules/esnext.iterator.for-each.js';
5
13
  import '../../configs/useRowFlattenization.js';
6
14
  import '@babel/runtime/helpers/esm/defineProperty';
15
+ import 'core-js/modules/esnext.async-iterator.map.js';
16
+ import 'core-js/modules/esnext.iterator.map.js';
7
17
  import '@babel/runtime/helpers/esm/jsx';
8
18
  import '@elliemae/ds-icons';
9
19
  import 'styled-components';
10
20
  import '../../styled.js';
11
21
  import 'react/jsx-runtime';
12
- import '@elliemae/ds-form/Checkbox';
13
- import '@elliemae/ds-form/Radio';
22
+ import '@elliemae/ds-form';
14
23
  import '../../parts/TableContent.js';
15
24
  import '@elliemae/ds-grid';
16
25
  import '@elliemae/ds-circular-progress-indicator';
17
- import '@elliemae/ds-icons/WarningTriangle';
18
26
  import '@elliemae/ds-system';
19
27
  import '@elliemae/ds-button';
20
28
  import '../../DataTableContext.js';
21
29
  import '../../parts/Row.js';
22
30
  import '../../parts/Footer.js';
23
- import '@elliemae/ds-icons/GripperVertical';
24
31
  import '../../parts/HoC/SortableItemContext.js';
25
32
 
26
33
  // use file instead of index to avoid circular imports!
@@ -0,0 +1,8 @@
1
+ import { dateRangeFilterFn } from './dateRangeFilterFn.js';
2
+ import { singleDateFilterFn } from './singleDateFilterFn.js';
3
+
4
+ // use file instead of index to avoid circular imports!
5
+
6
+ const dateSwitcherFilterFn = (unfilteredData, filterKey, filterValue) => filterValue.isDateRange ? dateRangeFilterFn(unfilteredData, filterKey, filterValue) : singleDateFilterFn(unfilteredData, filterKey, filterValue.startDate);
7
+
8
+ export { dateSwitcherFilterFn };
@@ -1,7 +1,7 @@
1
1
  export { applyOutOfTheBoxFilters } from './applyOutOfTheBoxFilters.js';
2
- export { textFilterFn } from './textFilterFn.js';
3
2
  export { singleDateFilterFn } from './singleDateFilterFn.js';
4
3
  export { singleSelectFilterFn } from './singleSelectFilterFn.js';
5
4
  export { multiSelectFilterFn } from './multiSelectFilterFn.js';
6
5
  export { numberRangeFilterFn } from './numberRangeFilterFn.js';
6
+ export { currencyRangeFilterFn } from './currencyRangeFilterFn.js';
7
7
  export { dateRangeFilterFn } from './dateRangeFilterFn.js';
@@ -1,6 +1,12 @@
1
- const multiSelectFilterFn = (unfilteredData, filterKey, filterValues) => {
2
- if (filterValues.length > 0) {
3
- return unfilteredData.filter(datum => filterValues.includes(datum[filterKey].toString()));
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.some.js';
5
+ import 'core-js/modules/esnext.iterator.some.js';
6
+
7
+ const multiSelectFilterFn = (unfilteredData, filterKey, filterValue) => {
8
+ if (filterValue.length > 0) {
9
+ return unfilteredData.filter(datum => filterValue.some(item => item.label === datum[filterKey].toString()));
4
10
  }
5
11
 
6
12
  return unfilteredData;
@@ -1,3 +1,9 @@
1
- const numberRangeFilterFn = (unfilteredData, filterKey, filterValue) => unfilteredData.filter(datum => !(filterValue !== null && filterValue !== void 0 && filterValue.from && filterValue.to) || datum[filterKey] >= filterValue.from && datum[filterKey] <= filterValue.to);
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
+
5
+ const isEmpty = number => number === null || number === undefined;
6
+
7
+ const numberRangeFilterFn = (unfilteredData, filterKey, filterValue) => unfilteredData.filter(datum => isEmpty(filterValue === null || filterValue === void 0 ? void 0 : filterValue.from) || isEmpty(filterValue === null || filterValue === void 0 ? void 0 : filterValue.to) || datum[filterKey] >= filterValue.from && datum[filterKey] <= filterValue.to);
2
8
 
3
9
  export { numberRangeFilterFn };
@@ -1,26 +1,33 @@
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';
1
4
  import moment from 'moment';
2
5
  import { momentFormat } from '../../configs/constants.js';
6
+ import 'core-js/modules/web.dom-collections.iterator.js';
7
+ import 'core-js/modules/esnext.async-iterator.reduce.js';
8
+ import 'core-js/modules/esnext.iterator.reduce.js';
3
9
  import 'react';
4
10
  import 'react-virtual';
11
+ import 'core-js/modules/esnext.async-iterator.for-each.js';
12
+ import 'core-js/modules/esnext.iterator.for-each.js';
5
13
  import '../../configs/useRowFlattenization.js';
6
14
  import '@babel/runtime/helpers/esm/defineProperty';
15
+ import 'core-js/modules/esnext.async-iterator.map.js';
16
+ import 'core-js/modules/esnext.iterator.map.js';
7
17
  import '@babel/runtime/helpers/esm/jsx';
8
18
  import '@elliemae/ds-icons';
9
19
  import 'styled-components';
10
20
  import '../../styled.js';
11
21
  import 'react/jsx-runtime';
12
- import '@elliemae/ds-form/Checkbox';
13
- import '@elliemae/ds-form/Radio';
22
+ import '@elliemae/ds-form';
14
23
  import '../../parts/TableContent.js';
15
24
  import '@elliemae/ds-grid';
16
25
  import '@elliemae/ds-circular-progress-indicator';
17
- import '@elliemae/ds-icons/WarningTriangle';
18
26
  import '@elliemae/ds-system';
19
27
  import '@elliemae/ds-button';
20
28
  import '../../DataTableContext.js';
21
29
  import '../../parts/Row.js';
22
30
  import '../../parts/Footer.js';
23
- import '@elliemae/ds-icons/GripperVertical';
24
31
  import '../../parts/HoC/SortableItemContext.js';
25
32
 
26
33
  // use file instead of index to avoid circular imports!
@@ -1,6 +1,10 @@
1
+ import 'core-js/modules/esnext.async-iterator.filter.js';
2
+ import 'core-js/modules/esnext.iterator.constructor.js';
3
+ import 'core-js/modules/esnext.iterator.filter.js';
4
+
1
5
  const singleSelectFilterFn = (unfilteredData, filterKey, filterValue) => {
2
6
  if (filterValue) {
3
- return unfilteredData.filter(datum => datum[filterKey].toString() === filterValue);
7
+ return unfilteredData.filter(datum => datum[filterKey].toString() === filterValue.label);
4
8
  }
5
9
 
6
10
  return unfilteredData;
@@ -1,10 +1,20 @@
1
+ import 'core-js/modules/esnext.async-iterator.filter.js';
2
+ import 'core-js/modules/esnext.iterator.constructor.js';
3
+ import 'core-js/modules/esnext.iterator.filter.js';
4
+ import 'core-js/modules/esnext.async-iterator.for-each.js';
5
+ import 'core-js/modules/esnext.iterator.for-each.js';
1
6
  import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
2
7
  import _jsx from '@babel/runtime/helpers/esm/jsx';
3
8
  import { useRef, useLayoutEffect, useMemo } from 'react';
4
9
  import { INTERNAL_COLUMNS } from '../../addons/Columns/index.js';
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';
16
+ import 'core-js/modules/esnext.async-iterator.map.js';
17
+ import 'core-js/modules/esnext.iterator.map.js';
8
18
  import Cells from '../../parts/Cells/index.js';
9
19
  import { DropIndicatorPosition } from '../../parts/HoC/SortableItemContext.js';
10
20
  import { StyledCellContainer } from '../../styled.js';
@@ -29,7 +39,7 @@ _jsx("div", {
29
39
  onKeyDown: e => e.stopPropagation()
30
40
  }, void 0, props.children);
31
41
 
32
- const ariaLabelMessage = (row, selected) => `Row number ${row.realIndex + 1}${row.parentIndex !== null ? `, child of row number ${row.parentIndex + 1}` : ''}. ${selected ? 'Selected. ' : ''}To interact with the cells press enter`;
42
+ const ariaLabelMessage = (row, selected) => "Row number ".concat(row.realIndex + 1).concat(row.parentIndex !== null ? ", child of row number ".concat(row.parentIndex + 1) : '', ". ").concat(selected ? 'Selected. ' : '', "To interact with the cells press enter");
33
43
 
34
44
  const DefaultRowContentRenderer = props => {
35
45
  const {
@@ -1,3 +1,8 @@
1
+ import 'core-js/modules/esnext.async-iterator.filter.js';
2
+ import 'core-js/modules/esnext.iterator.constructor.js';
3
+ import 'core-js/modules/esnext.iterator.filter.js';
4
+ import 'core-js/modules/esnext.async-iterator.for-each.js';
5
+ import 'core-js/modules/esnext.iterator.for-each.js';
1
6
  import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
2
7
  import _jsx from '@babel/runtime/helpers/esm/jsx';
3
8
  import { useContext, createElement } from 'react';
@@ -9,22 +14,24 @@ import { useRowRendererProperties } from './useRowRendererProperties.js';
9
14
  import DropIndicator from '../../parts/DropIndicator.js';
10
15
  import { SortableItemContext } from '../../parts/HoC/SortableItemContext.js';
11
16
  import { DATA_TESTID } from '../../configs/constants.js';
17
+ import 'core-js/modules/web.dom-collections.iterator.js';
18
+ import 'core-js/modules/esnext.async-iterator.reduce.js';
19
+ import 'core-js/modules/esnext.iterator.reduce.js';
12
20
  import 'react-virtual';
13
21
  import '../../configs/useRowFlattenization.js';
22
+ import 'core-js/modules/esnext.async-iterator.map.js';
23
+ import 'core-js/modules/esnext.iterator.map.js';
14
24
  import '@elliemae/ds-icons';
15
25
  import 'styled-components';
16
26
  import { jsxs, jsx } from 'react/jsx-runtime';
17
- import '@elliemae/ds-form/Checkbox';
18
- import '@elliemae/ds-form/Radio';
27
+ import '@elliemae/ds-form';
19
28
  import '../../parts/TableContent.js';
20
29
  import '@elliemae/ds-grid';
21
30
  import '@elliemae/ds-circular-progress-indicator';
22
- import '@elliemae/ds-icons/WarningTriangle';
23
31
  import '@elliemae/ds-system';
24
32
  import '@elliemae/ds-button';
25
33
  import '../../parts/Row.js';
26
34
  import '../../parts/Footer.js';
27
- import '@elliemae/ds-icons/GripperVertical';
28
35
 
29
36
  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
37
 
@@ -1,16 +1,47 @@
1
+ import 'core-js/modules/esnext.async-iterator.find.js';
2
+ import 'core-js/modules/esnext.iterator.constructor.js';
3
+ import 'core-js/modules/esnext.iterator.find.js';
1
4
  import { useContext, useCallback } from 'react';
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.filter.js';
8
+ import 'core-js/modules/web.dom-collections.iterator.js';
9
+ import 'core-js/modules/esnext.async-iterator.reduce.js';
10
+ import 'core-js/modules/esnext.iterator.reduce.js';
11
+ import 'react-virtual';
12
+ import 'core-js/modules/esnext.async-iterator.for-each.js';
13
+ import 'core-js/modules/esnext.iterator.for-each.js';
14
+ import '../../configs/useRowFlattenization.js';
15
+ import '@babel/runtime/helpers/esm/defineProperty';
16
+ import 'core-js/modules/esnext.async-iterator.map.js';
17
+ import 'core-js/modules/esnext.iterator.map.js';
18
+ import '@babel/runtime/helpers/esm/jsx';
19
+ import '@elliemae/ds-icons';
20
+ import 'styled-components';
21
+ import '../../styled.js';
22
+ import 'react/jsx-runtime';
23
+ import '@elliemae/ds-form';
24
+ import '../../parts/TableContent.js';
25
+ import '@elliemae/ds-grid';
26
+ import '@elliemae/ds-circular-progress-indicator';
27
+ import '@elliemae/ds-system';
28
+ import '@elliemae/ds-button';
2
29
  import DataTableContext from '../../DataTableContext.js';
30
+ import '../../parts/Row.js';
31
+ import '../../parts/Footer.js';
32
+ import '../../parts/HoC/SortableItemContext.js';
3
33
  import '../../redux/reducers/index.js';
4
34
  import { useDispatchRowsActions } from '../../redux/reducers/rowsReducers/useDispatchRowsActions.js';
5
35
 
6
- const useRowRendererHandlers = ({
7
- row,
8
- itemIndex,
9
- items,
10
- draggableProps,
11
- isDragOverlay,
12
- selectedRowId
13
- }) => {
36
+ const useRowRendererHandlers = _ref => {
37
+ let {
38
+ row,
39
+ itemIndex,
40
+ items,
41
+ draggableProps,
42
+ isDragOverlay,
43
+ selectedRowId
44
+ } = _ref;
14
45
  const {
15
46
  tableProps: {
16
47
  onRowClick,
@@ -24,17 +55,21 @@ const useRowRendererHandlers = ({
24
55
  setSelectedRowId,
25
56
  setFocusedRowId
26
57
  } = useDispatchRowsActions();
27
- const handleItemClick = useCallback((e, {
28
- original,
29
- uid
30
- } = row) => {
58
+ const handleItemClick = useCallback(function (e) {
59
+ let {
60
+ original,
61
+ uid
62
+ } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : row;
31
63
  // setSelectedRowId(null);
32
64
  onRowClick(original, e, uid);
33
65
  onRowFocus({
34
66
  itemIndex,
35
- scrollToItem: (opts = {
36
- align: 'start'
37
- }) => scrollToIndex(itemIndex, opts),
67
+ scrollToItem: function () {
68
+ let opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
69
+ align: 'start'
70
+ };
71
+ return scrollToIndex(itemIndex, opts);
72
+ },
38
73
  original
39
74
  }, e);
40
75
  }, [row, onRowClick, onRowFocus, itemIndex, scrollToIndex]);
@@ -79,8 +114,10 @@ const useRowRendererHandlers = ({
79
114
  setSelectedRowId(null);
80
115
  }
81
116
  }, [setSelectedRowId]);
82
- const handleOnFocus = useCallback(() => {
83
- setFocusedRowId(row.uid);
117
+ const handleOnFocus = useCallback(e => {
118
+ if (e.target && e.target.getAttribute('data-testid') === DATA_TESTID.DATA_TABLE_ROW_CONTENT) {
119
+ setFocusedRowId(row.uid);
120
+ }
84
121
  }, [row.uid, setFocusedRowId]);
85
122
  return {
86
123
  handleItemClick,
@@ -1,4 +1,11 @@
1
1
  import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
2
+ import 'core-js/modules/esnext.async-iterator.reduce.js';
3
+ import 'core-js/modules/esnext.iterator.constructor.js';
4
+ import 'core-js/modules/esnext.iterator.reduce.js';
5
+ import 'core-js/modules/esnext.async-iterator.filter.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 } from 'react';
3
10
  import DataTableContext from '../../DataTableContext.js';
4
11
  import { useRowStyle } from './useRowStyle.js';
@@ -6,9 +13,10 @@ import { useRowStyle } from './useRowStyle.js';
6
13
  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; }
7
14
 
8
15
  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; }
9
- const useRowRendererProperties = ({
10
- row
11
- }) => {
16
+ const useRowRendererProperties = _ref => {
17
+ let {
18
+ row
19
+ } = _ref;
12
20
  const {
13
21
  tableProps: {
14
22
  colsLayoutStyle
@@ -1,3 +1,4 @@
1
+ import 'core-js/modules/web.dom-collections.iterator.js';
1
2
  import { useContext, useMemo } from 'react';
2
3
  import DataTableContext from '../../DataTableContext.js';
3
4
  import { SortableItemContext } from '../../parts/HoC/SortableItemContext.js';
@@ -14,22 +15,22 @@ const useRowStyle = row => {
14
15
 
15
16
  const [borderTop, borderBottom, shouldAppendDottedBorder] = useMemo(() => {
16
17
  if (row.original.dimsumHeaderValue) {
17
- return ['1px solid transparent', '1px solid transparent', false];
18
+ return ['none', 'none', false];
18
19
  }
19
20
 
20
21
  if (row.isExpanded && row.original.subRows && row.depth === 0) {
21
- return ['1px solid #EBEDF0', '1px solid transparent', true];
22
+ return ['1px solid #EBEDF0', 'none', true];
22
23
  }
23
24
 
24
25
  if (row.depth >= 1) {
25
26
  if (row.realIndex < flattenedData.length - 1 && flattenedData[row.realIndex + 1].depth === 0) {
26
- return ['1px solid transparent', '2px solid #EBEDF0', false];
27
+ return ['none', '2px solid #EBEDF0', false];
27
28
  }
28
29
 
29
- return ['1px solid transparent', '1px solid transparent', true];
30
+ return ['none', 'none', true];
30
31
  }
31
32
 
32
- return ['1px solid transparent', '1px solid #EBEDF0', false];
33
+ return ['none', '1px solid #EBEDF0', false];
33
34
  }, [row, flattenedData]);
34
35
  const rowStyle = useMemo(() => ({
35
36
  borderTop,
@@ -1,26 +1,33 @@
1
1
  import _jsx from '@babel/runtime/helpers/esm/jsx';
2
- import { useState } from 'react';
2
+ import 'core-js/modules/web.dom-collections.iterator.js';
3
+ import { useState, useRef, useCallback } from 'react';
3
4
  import styled from 'styled-components';
4
5
  import DSButton from '@elliemae/ds-button';
5
- import MoreOptionsVert from '@elliemae/ds-icons/MoreOptionsVert';
6
+ import { MoreOptionsVert } from '@elliemae/ds-icons';
7
+ import { useOnClickOutside } from '@elliemae/ds-utilities';
6
8
  import { DATA_TESTID } from '../../configs/constants.js';
9
+ import 'core-js/modules/esnext.async-iterator.filter.js';
10
+ import 'core-js/modules/esnext.iterator.constructor.js';
11
+ import 'core-js/modules/esnext.iterator.filter.js';
12
+ import 'core-js/modules/esnext.async-iterator.reduce.js';
13
+ import 'core-js/modules/esnext.iterator.reduce.js';
7
14
  import 'react-virtual';
15
+ import 'core-js/modules/esnext.async-iterator.for-each.js';
16
+ import 'core-js/modules/esnext.iterator.for-each.js';
8
17
  import '../../configs/useRowFlattenization.js';
9
18
  import '@babel/runtime/helpers/esm/defineProperty';
10
- import '@elliemae/ds-icons';
19
+ import 'core-js/modules/esnext.async-iterator.map.js';
20
+ import 'core-js/modules/esnext.iterator.map.js';
11
21
  import '../../styled.js';
12
- import 'react/jsx-runtime';
13
- import '@elliemae/ds-form/Checkbox';
14
- import '@elliemae/ds-form/Radio';
22
+ import { jsx } from 'react/jsx-runtime';
23
+ import '@elliemae/ds-form';
15
24
  import '../../parts/TableContent.js';
16
25
  import '@elliemae/ds-grid';
17
26
  import '@elliemae/ds-circular-progress-indicator';
18
- import '@elliemae/ds-icons/WarningTriangle';
19
27
  import '@elliemae/ds-system';
20
28
  import '../../DataTableContext.js';
21
29
  import '../../parts/Row.js';
22
30
  import '../../parts/Footer.js';
23
- import '@elliemae/ds-icons/GripperVertical';
24
31
  import '../../parts/HoC/SortableItemContext.js';
25
32
 
26
33
  var _MoreOptionsVert;
@@ -32,24 +39,39 @@ const ToolbarWrapper = /*#__PURE__*/styled.div.withConfig({
32
39
  })(["display:flex;align-items:center;height:36px;margin-right:1px;pointer-events:all;&:hover{box-shadow:0 1px 2px 0 rgba(0,0,0,0.13),0 1px 2px 0 rgba(0,0,0,0.2);& > .toolbar-trigger{border:none;}}"]);
33
40
  const ToolbarPosition = /*#__PURE__*/styled.div.withConfig({
34
41
  componentId: "sc-1ru2no0-2"
35
- })(["display:flex;justify-content:flex-end;align-items:center;pointer-events:none;background:white;height:", ";margin-top:", ";width:100%;height:100%;&:hover{z-index:1;}"], props => props.rowSize === 'normal' ? '36px' : '28px', props => props.rowSize === 'normal' ? '0' : '0'); // eslint-disable-next-line react/prop-types
42
+ })(["display:flex;justify-content:flex-end;align-items:center;pointer-events:none;background:white;height:28px;margin-top:4px;width:100%;padding-left:4px;&:hover{z-index:1;}:after{content:'';position:absolute;left:0px;top:4px;bottom:4px;width:1px;background-color:", ";z-index:7;}"], props => props.theme.colors.neutral['080']); // eslint-disable-next-line react/prop-types
36
43
 
37
- const Toolbar = ({
38
- children
39
- }) => {
44
+ const Toolbar = _ref => {
45
+ let {
46
+ children
47
+ } = _ref;
40
48
  const [show, setShow] = useState(false);
41
- return /*#__PURE__*/_jsx(ToolbarPosition, {}, void 0, /*#__PURE__*/_jsx(ToolbarWrapper, {
42
- onMouseEnter: () => setShow(true),
43
- onMouseLeave: () => setShow(false)
44
- }, void 0, show && /*#__PURE__*/_jsx(ToolbarBtns, {}, void 0, children), /*#__PURE__*/_jsx(DSButton, {
45
- buttonType: "text",
46
- className: "toolbar-trigger",
47
- "data-testid": DATA_TESTID.DATA_TABLE_TOOLBAR_TRIGGER,
48
- icon: _MoreOptionsVert || (_MoreOptionsVert = /*#__PURE__*/_jsx(MoreOptionsVert, {})),
49
- onClick: () => setShow(true),
50
- onKeyDown: e => ['Enter', 'Space'].includes(e.code) && setShow(true),
51
- tabIndex: 0
52
- })));
49
+ const [clicked, setClicked] = useState(false);
50
+ const toolbarRef = useRef(null);
51
+ const handleOnClickOutside = useCallback(() => {
52
+ setShow(false);
53
+ setClicked(false);
54
+ }, []);
55
+ const handleOnClick = useCallback(() => {
56
+ setShow(true);
57
+ setClicked(true);
58
+ }, []);
59
+ useOnClickOutside(toolbarRef, handleOnClickOutside);
60
+ return /*#__PURE__*/jsx(ToolbarPosition, {
61
+ ref: toolbarRef,
62
+ children: /*#__PURE__*/_jsx(ToolbarWrapper, {
63
+ onMouseEnter: () => setShow(true),
64
+ onMouseLeave: () => setShow(clicked)
65
+ }, void 0, show && /*#__PURE__*/_jsx(ToolbarBtns, {}, void 0, children), /*#__PURE__*/_jsx(DSButton, {
66
+ buttonType: "text",
67
+ className: "toolbar-trigger",
68
+ "data-testid": DATA_TESTID.DATA_TABLE_TOOLBAR_TRIGGER,
69
+ icon: _MoreOptionsVert || (_MoreOptionsVert = /*#__PURE__*/_jsx(MoreOptionsVert, {})),
70
+ onClick: handleOnClick,
71
+ onKeyDown: e => ['Enter', 'Space'].includes(e.code) && handleOnClick(),
72
+ tabIndex: 0
73
+ }))
74
+ });
53
75
  };
54
76
 
55
77
  export { Toolbar };
@@ -1,3 +1,9 @@
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';
4
+ import 'core-js/modules/esnext.async-iterator.map.js';
5
+ import 'core-js/modules/esnext.iterator.map.js';
6
+ import 'core-js/modules/web.dom-collections.iterator.js';
1
7
  import { uid } from 'uid';
2
8
 
3
9
  const groupBy = (data, headerKey) => {
@@ -12,11 +18,14 @@ const groupBy = (data, headerKey) => {
12
18
  groupsMap[groupValue] = [datum];
13
19
  }
14
20
  });
15
- return Object.entries(groupsMap).map(([key, value]) => ({
16
- dimsumHeaderValue: key,
17
- subRows: value,
18
- uid: uid(16)
19
- }));
21
+ return Object.entries(groupsMap).map(_ref => {
22
+ let [key, value] = _ref;
23
+ return {
24
+ dimsumHeaderValue: key,
25
+ subRows: value,
26
+ uid: uid(16)
27
+ };
28
+ });
20
29
  };
21
30
 
22
31
  export { groupBy };
@@ -5,9 +5,9 @@ export { groupBy } from './groupBy.js';
5
5
  export { FILTER_TYPES } from './FilterTypes.js';
6
6
  export { ROW_VARIANTS, ROW_VARIANT_COMPACT_KEY, ROW_VARIANT_KEY } from './RowVariants.js';
7
7
  export { applyOutOfTheBoxFilters } from './Filters/applyOutOfTheBoxFilters.js';
8
- export { textFilterFn } from './Filters/textFilterFn.js';
9
8
  export { singleDateFilterFn } from './Filters/singleDateFilterFn.js';
10
9
  export { singleSelectFilterFn } from './Filters/singleSelectFilterFn.js';
11
10
  export { multiSelectFilterFn } from './Filters/multiSelectFilterFn.js';
12
11
  export { numberRangeFilterFn } from './Filters/numberRangeFilterFn.js';
12
+ export { currencyRangeFilterFn } from './Filters/currencyRangeFilterFn.js';
13
13
  export { dateRangeFilterFn } from './Filters/dateRangeFilterFn.js';
@@ -1,11 +1,20 @@
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 React from 'react';
2
5
 
3
- /* eslint-disable react/prop-types */
4
- const BasicCell = /*#__PURE__*/React.memo(({
5
- cell
6
- }) => cell.value);
6
+ const BasicCell = /*#__PURE__*/React.memo(_ref => {
7
+ let {
8
+ cell
9
+ } = _ref;
10
+ return cell.value;
11
+ });
7
12
 
8
- const getCellValue = (row, accessor) => row.original[accessor] ?? null;
13
+ const getCellValue = (row, accessor) => {
14
+ var _row$original$accesso;
15
+
16
+ return (_row$original$accesso = row.original[accessor]) !== null && _row$original$accesso !== void 0 ? _row$original$accesso : null;
17
+ };
9
18
 
10
19
  const addColumnData = (datum, column) => {
11
20
  datum.cells.push({
@@ -14,7 +23,7 @@ const addColumnData = (datum, column) => {
14
23
  render: column.Cell || BasicCell,
15
24
  row: datum,
16
25
  ref: /*#__PURE__*/React.createRef(),
17
- id: `${datum.uid}/${column.id}`
26
+ id: "".concat(datum.uid, "__").concat(column.id)
18
27
  });
19
28
  };
20
29