@elliemae/ds-data-table 2.0.0-alpha.11 → 2.0.0-alpha.12

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 (285) 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 +22 -14
  5. package/cjs/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js +23 -16
  6. package/cjs/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js +18 -12
  7. package/cjs/addons/Editables/ComboboxEditableCell/ComboboxEditableCell.js +15 -10
  8. package/cjs/addons/Editables/DateEditableCell/DateEditableCell.js +14 -7
  9. package/cjs/addons/Editables/TextEditableCell/TextEditableCell.js +30 -7
  10. package/cjs/addons/Filters/Components/CurrencyRangeFilter/index.js +169 -0
  11. package/cjs/addons/Filters/Components/DateRangeFilter/index.js +16 -11
  12. package/cjs/addons/Filters/Components/DateSwitcherFilter/index.js +145 -0
  13. package/cjs/addons/Filters/Components/NumberRangeFilter/index.js +88 -33
  14. package/cjs/addons/Filters/Components/SelectFilter/BaseSelectFilter.js +86 -90
  15. package/cjs/addons/Filters/Components/SelectFilter/MultiSelectFilter.js +39 -29
  16. package/cjs/addons/Filters/Components/SelectFilter/SingleSelectFilter.js +39 -27
  17. package/cjs/addons/Filters/Components/SelectFilter/useSelectFilterHandlers.js +16 -12
  18. package/cjs/addons/Filters/Components/SelectFilter/utils.js +10 -4
  19. package/cjs/addons/Filters/Components/SingleDateFilter/index.js +16 -11
  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 -53
  23. package/cjs/configs/constants.js +1 -3
  24. package/cjs/configs/fixedSizes.js +1 -1
  25. package/cjs/configs/useDatatableConfig.js +5 -0
  26. package/cjs/configs/usePaginationConfig.js +10 -4
  27. package/cjs/configs/useRowFlattenization.js +13 -6
  28. package/cjs/configs/useTableColsWithAddons.js +33 -19
  29. package/cjs/exported-related/EditableCell.js +13 -7
  30. package/cjs/exported-related/FilterPopover.js +62 -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 +10 -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 +10 -4
  40. package/cjs/exported-related/Filters/singleSelectFilterFn.js +5 -1
  41. package/cjs/exported-related/RowRenderer/DefaultRowContentRenderer.js +9 -0
  42. package/cjs/exported-related/RowRenderer/index.js +10 -4
  43. package/cjs/exported-related/RowRenderer/useRowRendererHandlers.js +32 -19
  44. package/cjs/exported-related/RowRenderer/useRowRendererProperties.js +11 -3
  45. package/cjs/exported-related/Toolbar/Toolbar.js +18 -13
  46. package/cjs/exported-related/groupBy.js +13 -5
  47. package/cjs/exported-related/index.js +2 -2
  48. package/cjs/helpers/addCellData.js +9 -4
  49. package/cjs/helpers/cellPadding.js +11 -9
  50. package/cjs/helpers/columnsToGrid.js +3 -0
  51. package/cjs/helpers/getIdFromUniqueRowAccessor.js +3 -0
  52. package/cjs/helpers/refs-helpers.js +13 -3
  53. package/cjs/index.js +2 -2
  54. package/cjs/parts/Cells/Cell.js +33 -22
  55. package/cjs/parts/Cells/index.js +2 -0
  56. package/cjs/parts/DnDHandle.js +26 -17
  57. package/cjs/parts/DropIndicator.js +27 -21
  58. package/cjs/parts/EmptyContent.js +12 -9
  59. package/cjs/parts/FilterBar/FiltersBar.js +29 -19
  60. package/cjs/parts/FilterBar/components/DateRangePill.js +14 -10
  61. package/cjs/parts/FilterBar/components/DateSwitcherPill.js +45 -0
  62. package/cjs/parts/FilterBar/components/MultiSelectPill.js +24 -17
  63. package/cjs/parts/FilterBar/components/NumberRangePill.js +14 -10
  64. package/cjs/parts/FilterBar/components/SelectPill.js +15 -11
  65. package/cjs/parts/FilterBar/components/SingleDatePill.js +14 -10
  66. package/cjs/parts/FilterBar/components/index.js +2 -2
  67. package/cjs/parts/Filters/index.js +24 -13
  68. package/cjs/parts/Footer.js +8 -5
  69. package/cjs/parts/Headers/HeaderCell.js +15 -9
  70. package/cjs/parts/Headers/HeaderCellGroup.js +21 -13
  71. package/cjs/parts/Headers/HeaderCellTitle.js +43 -31
  72. package/cjs/parts/Headers/HeaderResizer.js +14 -7
  73. package/cjs/parts/Headers/index.js +3 -1
  74. package/cjs/parts/Headers/useHeaderCellConfig.js +12 -7
  75. package/cjs/parts/Headers/useHeaderCellHandlers.js +31 -20
  76. package/cjs/parts/HoC/withConditionalDnDColumnContext.js +49 -19
  77. package/cjs/parts/HoC/withConditionalDnDRowContext.js +16 -12
  78. package/cjs/parts/HoC/withConditionalDnDSortableContext.js +23 -13
  79. package/cjs/parts/HoC/withDnDSortableColumnContext.js +10 -19
  80. package/cjs/parts/HoC/withDnDSortableRowContext.js +8 -17
  81. package/cjs/parts/Row.js +15 -10
  82. package/cjs/parts/RowLoading.js +10 -4
  83. package/cjs/parts/RowVariants/RowVariantHeader.js +32 -20
  84. package/cjs/parts/RowVariants/RowVariantPrimary.js +10 -9
  85. package/cjs/parts/RowVariants/RowVariantSecondary.js +10 -9
  86. package/cjs/parts/RowVariants/index.js +13 -6
  87. package/cjs/parts/Rows.js +8 -1
  88. package/cjs/parts/SortByCaret.js +16 -16
  89. package/cjs/parts/SortableHeaderCell.js +5 -0
  90. package/cjs/parts/TableContent.js +10 -4
  91. package/cjs/parts/VirtualRowsList.js +10 -3
  92. package/cjs/parts/index.js +1 -1
  93. package/cjs/prop-types.js +5 -0
  94. package/cjs/redux/reducers/headersReducers/logic.js +10 -4
  95. package/cjs/styled.js +93 -64
  96. package/esm/DataTable.js +5 -0
  97. package/esm/DataTableSchema.js +24 -12
  98. package/esm/addons/Columns/ColumnDragHandle/ColumnDragHandle.js +9 -8
  99. package/esm/addons/Columns/ColumnExpand/ColumnExpand.js +22 -14
  100. package/esm/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js +21 -13
  101. package/esm/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js +17 -10
  102. package/esm/addons/Editables/ComboboxEditableCell/ComboboxEditableCell.js +14 -8
  103. package/esm/addons/Editables/DateEditableCell/DateEditableCell.js +14 -7
  104. package/esm/addons/Editables/TextEditableCell/TextEditableCell.js +30 -7
  105. package/esm/addons/Filters/Components/CurrencyRangeFilter/index.js +159 -0
  106. package/esm/addons/Filters/Components/DateRangeFilter/index.js +16 -10
  107. package/esm/addons/Filters/Components/DateSwitcherFilter/index.js +136 -0
  108. package/esm/addons/Filters/Components/NumberRangeFilter/index.js +88 -31
  109. package/esm/addons/Filters/Components/SelectFilter/BaseSelectFilter.js +86 -87
  110. package/esm/addons/Filters/Components/SelectFilter/MultiSelectFilter.js +39 -29
  111. package/esm/addons/Filters/Components/SelectFilter/SingleSelectFilter.js +39 -27
  112. package/esm/addons/Filters/Components/SelectFilter/useSelectFilterHandlers.js +16 -12
  113. package/esm/addons/Filters/Components/SelectFilter/utils.js +10 -4
  114. package/esm/addons/Filters/Components/SingleDateFilter/index.js +16 -10
  115. package/esm/addons/Filters/Components/index.js +2 -1
  116. package/esm/addons/Filters/index.js +2 -1
  117. package/esm/addons/Pagination/Pagination.js +17 -52
  118. package/esm/configs/constants.js +1 -3
  119. package/esm/configs/fixedSizes.js +1 -1
  120. package/esm/configs/useDatatableConfig.js +5 -0
  121. package/esm/configs/usePaginationConfig.js +10 -4
  122. package/esm/configs/useRowFlattenization.js +13 -6
  123. package/esm/configs/useTableColsWithAddons.js +34 -20
  124. package/esm/exported-related/EditableCell.js +13 -7
  125. package/esm/exported-related/FilterPopover.js +62 -26
  126. package/esm/exported-related/FilterTypes.js +3 -2
  127. package/esm/exported-related/Filters/applyOutOfTheBoxFilters.js +8 -3
  128. package/esm/exported-related/Filters/currencyRangeFilterFn.js +20 -0
  129. package/esm/exported-related/Filters/dateRangeFilterFn.js +10 -4
  130. package/esm/exported-related/Filters/dateSwitcherFilterFn.js +8 -0
  131. package/esm/exported-related/Filters/index.js +1 -1
  132. package/esm/exported-related/Filters/multiSelectFilterFn.js +9 -3
  133. package/esm/exported-related/Filters/numberRangeFilterFn.js +7 -1
  134. package/esm/exported-related/Filters/singleDateFilterFn.js +10 -4
  135. package/esm/exported-related/Filters/singleSelectFilterFn.js +5 -1
  136. package/esm/exported-related/RowRenderer/DefaultRowContentRenderer.js +9 -0
  137. package/esm/exported-related/RowRenderer/index.js +10 -4
  138. package/esm/exported-related/RowRenderer/useRowRendererHandlers.js +32 -19
  139. package/esm/exported-related/RowRenderer/useRowRendererProperties.js +11 -3
  140. package/esm/exported-related/Toolbar/Toolbar.js +16 -10
  141. package/esm/exported-related/groupBy.js +13 -5
  142. package/esm/exported-related/index.js +1 -1
  143. package/esm/helpers/addCellData.js +9 -4
  144. package/esm/helpers/cellPadding.js +11 -9
  145. package/esm/helpers/columnsToGrid.js +3 -0
  146. package/esm/helpers/getIdFromUniqueRowAccessor.js +3 -0
  147. package/esm/helpers/refs-helpers.js +13 -3
  148. package/esm/index.js +1 -1
  149. package/esm/parts/Cells/Cell.js +33 -22
  150. package/esm/parts/Cells/index.js +2 -0
  151. package/esm/parts/DnDHandle.js +25 -15
  152. package/esm/parts/DropIndicator.js +27 -21
  153. package/esm/parts/EmptyContent.js +11 -7
  154. package/esm/parts/FilterBar/FiltersBar.js +29 -18
  155. package/esm/parts/FilterBar/components/DateRangePill.js +14 -10
  156. package/esm/parts/FilterBar/components/DateSwitcherPill.js +37 -0
  157. package/esm/parts/FilterBar/components/MultiSelectPill.js +24 -17
  158. package/esm/parts/FilterBar/components/NumberRangePill.js +14 -10
  159. package/esm/parts/FilterBar/components/SelectPill.js +15 -11
  160. package/esm/parts/FilterBar/components/SingleDatePill.js +14 -10
  161. package/esm/parts/FilterBar/components/index.js +1 -1
  162. package/esm/parts/Filters/index.js +20 -9
  163. package/esm/parts/Footer.js +8 -5
  164. package/esm/parts/Headers/HeaderCell.js +15 -9
  165. package/esm/parts/Headers/HeaderCellGroup.js +21 -14
  166. package/esm/parts/Headers/HeaderCellTitle.js +43 -31
  167. package/esm/parts/Headers/HeaderResizer.js +14 -7
  168. package/esm/parts/Headers/index.js +4 -2
  169. package/esm/parts/Headers/useHeaderCellConfig.js +12 -7
  170. package/esm/parts/Headers/useHeaderCellHandlers.js +31 -20
  171. package/esm/parts/HoC/withConditionalDnDColumnContext.js +48 -18
  172. package/esm/parts/HoC/withConditionalDnDRowContext.js +15 -11
  173. package/esm/parts/HoC/withConditionalDnDSortableContext.js +22 -12
  174. package/esm/parts/HoC/withDnDSortableColumnContext.js +11 -20
  175. package/esm/parts/HoC/withDnDSortableRowContext.js +9 -18
  176. package/esm/parts/Row.js +12 -10
  177. package/esm/parts/RowLoading.js +10 -4
  178. package/esm/parts/RowVariants/RowVariantHeader.js +32 -20
  179. package/esm/parts/RowVariants/RowVariantPrimary.js +10 -9
  180. package/esm/parts/RowVariants/RowVariantSecondary.js +10 -9
  181. package/esm/parts/RowVariants/index.js +13 -6
  182. package/esm/parts/Rows.js +7 -0
  183. package/esm/parts/SortByCaret.js +16 -14
  184. package/esm/parts/SortableHeaderCell.js +5 -0
  185. package/esm/parts/TableContent.js +10 -4
  186. package/esm/parts/VirtualRowsList.js +10 -3
  187. package/esm/prop-types.js +5 -0
  188. package/esm/redux/reducers/headersReducers/logic.js +10 -4
  189. package/esm/styled.js +93 -61
  190. package/package.json +55 -108
  191. package/types/DataTable.d.ts +245 -43
  192. package/types/DataTableSchema.d.ts +245 -43
  193. package/types/addons/Filters/Components/CurrencyRangeFilter/index.d.ts +3 -0
  194. package/types/addons/Filters/Components/{TextInputFilter → DateSwitcherFilter}/index.d.ts +1 -1
  195. package/types/addons/Filters/Components/SelectFilter/BaseSelectFilter.d.ts +7 -1
  196. package/types/addons/Filters/Components/SelectFilter/components.d.ts +6 -6
  197. package/types/addons/Filters/Components/index.d.ts +2 -1
  198. package/types/configs/constants.d.ts +1 -3
  199. package/types/exported-related/FilterPopover.d.ts +3 -0
  200. package/types/exported-related/FilterTypes.d.ts +2 -1
  201. package/types/exported-related/Filters/currencyRangeFilterFn.d.ts +5 -0
  202. package/types/exported-related/Filters/dateSwitcherFilterFn.d.ts +6 -0
  203. package/types/exported-related/Filters/index.d.ts +1 -1
  204. package/types/exported-related/Filters/multiSelectFilterFn.d.ts +3 -1
  205. package/types/exported-related/Filters/singleDateFilterFn.d.ts +1 -1
  206. package/types/exported-related/Filters/singleSelectFilterFn.d.ts +3 -1
  207. package/types/helpers/refs-helpers.d.ts +1 -1
  208. package/types/parts/FilterBar/components/DateSwitcherPill.d.ts +6 -0
  209. package/types/parts/FilterBar/components/MultiSelectPill.d.ts +2 -2
  210. package/types/parts/FilterBar/components/SelectPill.d.ts +2 -2
  211. package/types/parts/FilterBar/components/index.d.ts +1 -1
  212. package/types/parts/FilterBar/styled.d.ts +167 -32
  213. package/types/parts/FilterBar/types.d.ts +6 -0
  214. package/types/parts/Headers/HeaderCellGroup.d.ts +4 -3
  215. package/types/parts/Row.d.ts +2 -1
  216. package/types/styled.d.ts +21 -21
  217. package/types/types/props.d.ts +14 -4
  218. package/cjs/addons/Filters/Components/TextInputFilter/index.js +0 -86
  219. package/cjs/addons/Pagination/ActiveZoneButtons.js +0 -63
  220. package/cjs/addons/Pagination/PagesButtons.js +0 -77
  221. package/cjs/addons/Pagination/PerPageSelector.js +0 -84
  222. package/cjs/exported-related/Filters/textFilterFn.js +0 -10
  223. package/cjs/helpers/dndkit/hierarchy/customCollisionDetection.js +0 -64
  224. package/cjs/helpers/dndkit/hierarchy/getHierarchyKeyboardCoordinates.js +0 -128
  225. package/cjs/helpers/dndkit/hierarchy/types.js +0 -2
  226. package/cjs/helpers/dndkit/hierarchy/useHierarchyActionHandlers.js +0 -54
  227. package/cjs/helpers/dndkit/hierarchy/useHierarchyAnnouncements.js +0 -36
  228. package/cjs/helpers/dndkit/hierarchy/useHierarchyDndkitConfig.js +0 -93
  229. package/cjs/helpers/dndkit/hierarchy/useHierarchyPreviewHandlers.js +0 -78
  230. package/cjs/helpers/dndkit/tree/customCollisionDetection.js +0 -86
  231. package/cjs/helpers/dndkit/tree/getTreeKeyboardCoordinates.js +0 -127
  232. package/cjs/helpers/dndkit/tree/types.js +0 -2
  233. package/cjs/helpers/dndkit/tree/useTreeActionHandlers.js +0 -74
  234. package/cjs/helpers/dndkit/tree/useTreeAnnouncements.js +0 -55
  235. package/cjs/helpers/dndkit/tree/useTreeDndkitConfig.js +0 -128
  236. package/cjs/helpers/dndkit/tree/useTreePreviewHandlers.js +0 -51
  237. package/cjs/helpers/dndkit/types.js +0 -2
  238. package/cjs/helpers/dndkit/utilities.js +0 -51
  239. package/cjs/parts/FilterBar/components/TextPill.js +0 -38
  240. package/cjs/parts/HoC/DragOverlayContext.js +0 -11
  241. package/esm/addons/Filters/Components/TextInputFilter/index.js +0 -77
  242. package/esm/addons/Pagination/ActiveZoneButtons.js +0 -57
  243. package/esm/addons/Pagination/PagesButtons.js +0 -69
  244. package/esm/addons/Pagination/PerPageSelector.js +0 -73
  245. package/esm/exported-related/Filters/textFilterFn.js +0 -6
  246. package/esm/helpers/dndkit/hierarchy/customCollisionDetection.js +0 -60
  247. package/esm/helpers/dndkit/hierarchy/getHierarchyKeyboardCoordinates.js +0 -120
  248. package/esm/helpers/dndkit/hierarchy/types.js +0 -1
  249. package/esm/helpers/dndkit/hierarchy/useHierarchyActionHandlers.js +0 -50
  250. package/esm/helpers/dndkit/hierarchy/useHierarchyAnnouncements.js +0 -32
  251. package/esm/helpers/dndkit/hierarchy/useHierarchyDndkitConfig.js +0 -87
  252. package/esm/helpers/dndkit/hierarchy/useHierarchyPreviewHandlers.js +0 -74
  253. package/esm/helpers/dndkit/tree/customCollisionDetection.js +0 -82
  254. package/esm/helpers/dndkit/tree/getTreeKeyboardCoordinates.js +0 -119
  255. package/esm/helpers/dndkit/tree/types.js +0 -1
  256. package/esm/helpers/dndkit/tree/useTreeActionHandlers.js +0 -70
  257. package/esm/helpers/dndkit/tree/useTreeAnnouncements.js +0 -51
  258. package/esm/helpers/dndkit/tree/useTreeDndkitConfig.js +0 -122
  259. package/esm/helpers/dndkit/tree/useTreePreviewHandlers.js +0 -47
  260. package/esm/helpers/dndkit/types.js +0 -1
  261. package/esm/helpers/dndkit/utilities.js +0 -46
  262. package/esm/parts/FilterBar/components/TextPill.js +0 -30
  263. package/esm/parts/HoC/DragOverlayContext.js +0 -7
  264. package/types/addons/Pagination/ActiveZoneButtons.d.ts +0 -9
  265. package/types/addons/Pagination/PagesButtons.d.ts +0 -4
  266. package/types/addons/Pagination/PerPageSelector.d.ts +0 -8
  267. package/types/exported-related/Filters/textFilterFn.d.ts +0 -2
  268. package/types/helpers/dndkit/hierarchy/customCollisionDetection.d.ts +0 -3
  269. package/types/helpers/dndkit/hierarchy/getHierarchyKeyboardCoordinates.d.ts +0 -3
  270. package/types/helpers/dndkit/hierarchy/types.d.ts +0 -66
  271. package/types/helpers/dndkit/hierarchy/useHierarchyActionHandlers.d.ts +0 -2
  272. package/types/helpers/dndkit/hierarchy/useHierarchyAnnouncements.d.ts +0 -3
  273. package/types/helpers/dndkit/hierarchy/useHierarchyDndkitConfig.d.ts +0 -3
  274. package/types/helpers/dndkit/hierarchy/useHierarchyPreviewHandlers.d.ts +0 -2
  275. package/types/helpers/dndkit/tree/customCollisionDetection.d.ts +0 -4
  276. package/types/helpers/dndkit/tree/getTreeKeyboardCoordinates.d.ts +0 -3
  277. package/types/helpers/dndkit/tree/types.d.ts +0 -83
  278. package/types/helpers/dndkit/tree/useTreeActionHandlers.d.ts +0 -2
  279. package/types/helpers/dndkit/tree/useTreeAnnouncements.d.ts +0 -4
  280. package/types/helpers/dndkit/tree/useTreeDndkitConfig.d.ts +0 -3
  281. package/types/helpers/dndkit/tree/useTreePreviewHandlers.d.ts +0 -2
  282. package/types/helpers/dndkit/types.d.ts +0 -20
  283. package/types/helpers/dndkit/utilities.d.ts +0 -7
  284. package/types/parts/FilterBar/components/TextPill.d.ts +0 -2
  285. package/types/parts/HoC/DragOverlayContext.d.ts +0 -6
@@ -0,0 +1,169 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ require('core-js/modules/esnext.async-iterator.filter.js');
6
+ require('core-js/modules/esnext.iterator.constructor.js');
7
+ require('core-js/modules/esnext.iterator.filter.js');
8
+ require('core-js/modules/esnext.async-iterator.for-each.js');
9
+ require('core-js/modules/esnext.iterator.for-each.js');
10
+ var _jsx = require('@babel/runtime/helpers/jsx');
11
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
12
+ require('react');
13
+ var Grid = require('@elliemae/ds-grid');
14
+ var dsForm = require('@elliemae/ds-form');
15
+ var dsFormLayoutBlocks = require('@elliemae/ds-form-layout-blocks');
16
+ var dsIcons = require('@elliemae/ds-icons');
17
+ var FilterPopover = require('../../../../exported-related/FilterPopover.js');
18
+ require('core-js/modules/web.dom-collections.iterator.js');
19
+ require('../../../../styled.js');
20
+ require('../../../../DataTableContext.js');
21
+ require('react/jsx-runtime');
22
+ require('styled-components');
23
+ require('@elliemae/ds-button');
24
+ require('@elliemae/ds-utilities');
25
+ var constants = require('../../../../configs/constants.js');
26
+ require('core-js/modules/esnext.async-iterator.reduce.js');
27
+ require('core-js/modules/esnext.iterator.reduce.js');
28
+ require('react-virtual');
29
+ require('../../../../configs/useRowFlattenization.js');
30
+ require('core-js/modules/esnext.async-iterator.map.js');
31
+ require('core-js/modules/esnext.iterator.map.js');
32
+ require('../../../../parts/TableContent.js');
33
+ require('@elliemae/ds-circular-progress-indicator');
34
+ require('@elliemae/ds-system');
35
+ require('../../../../parts/Row.js');
36
+ require('../../../../parts/Footer.js');
37
+ require('../../../../parts/HoC/SortableItemContext.js');
38
+ require('uid');
39
+ var FilterTypes = require('../../../../exported-related/FilterTypes.js');
40
+ require('../../../../exported-related/Filters/applyOutOfTheBoxFilters.js');
41
+ require('moment');
42
+ require('core-js/modules/esnext.async-iterator.some.js');
43
+ require('core-js/modules/esnext.iterator.some.js');
44
+ require('../../../../redux/reducers/headersReducers/headersReducers.js');
45
+ var useDispatchHeadersActions = require('../../../../redux/reducers/headersReducers/useDispatchHeadersActions.js');
46
+
47
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
48
+
49
+ var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
50
+ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
51
+ var Grid__default = /*#__PURE__*/_interopDefaultLegacy(Grid);
52
+
53
+ var _SearchXsmall;
54
+
55
+ 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; }
56
+
57
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
58
+ const opts = {
59
+ prefix: '',
60
+ suffix: '',
61
+ allowDecimal: true,
62
+ decimalLimit: 2,
63
+ includeThousandsSeparator: false,
64
+ requireDecimal: true,
65
+ allowNegative: true
66
+ };
67
+ const CurrencyRangeFilter = props => {
68
+ var _filterValue$from, _filterValue$to, _column$ref$current$o, _column$ref, _column$ref$current;
69
+
70
+ const {
71
+ column,
72
+ filterValue = {
73
+ from: null,
74
+ to: null
75
+ },
76
+ reduxHeader,
77
+ onValueChange,
78
+ innerRef
79
+ } = props;
80
+
81
+ const handleFromChange = e => {
82
+ const nextValue = _objectSpread(_objectSpread({}, filterValue), {}, {
83
+ from: e.target.value
84
+ });
85
+
86
+ onValueChange(FilterTypes.FILTER_TYPES.CURRENCY_RANGE, nextValue);
87
+ };
88
+
89
+ const handleToChange = e => {
90
+ const nextValue = _objectSpread(_objectSpread({}, filterValue), {}, {
91
+ to: e.target.value
92
+ });
93
+
94
+ onValueChange(FilterTypes.FILTER_TYPES.CURRENCY_RANGE, nextValue);
95
+ };
96
+
97
+ const {
98
+ patchHeader
99
+ } = useDispatchHeadersActions.useDispatchHeadersActions(); // workaround to close menu with esc key since DSInputMask has stoppropagation on key down
100
+
101
+ const closePopover = e => {
102
+ if (e.code === 'Escape') {
103
+ patchHeader(column.id, {
104
+ hideFilterMenu: true,
105
+ hideFilterButton: false
106
+ });
107
+ innerRef.current.focus();
108
+ }
109
+ };
110
+
111
+ const idPreffix = 'datatable-currency-range';
112
+ return /*#__PURE__*/_jsx__default["default"](FilterPopover.FilterPopover, {
113
+ reduxHeader: reduxHeader,
114
+ column: column,
115
+ columnId: column.id,
116
+ menuContent: /*#__PURE__*/_jsx__default["default"](Grid__default["default"], {
117
+ "data-testid": constants.DATA_TESTID.DATA_TABLE_CURRENCY_RANGE_CONTROLLER,
118
+ gutter: "xxxs",
119
+ padding: "xxs",
120
+ cols: ['auto', 'auto'],
121
+ style: {
122
+ background: 'white'
123
+ }
124
+ }, void 0, /*#__PURE__*/_jsx__default["default"](dsFormLayoutBlocks.DSFormLayoutBlockItem, {
125
+ label: "Min",
126
+ inputID: "".concat(idPreffix, "-min-").concat(column.id)
127
+ }, void 0, /*#__PURE__*/_jsx__default["default"](dsForm.DSInputMask, {
128
+ containerProps: {
129
+ style: {
130
+ textAlign: 'right'
131
+ }
132
+ },
133
+ id: "".concat(idPreffix, "-min-").concat(column.id),
134
+ value: "".concat((_filterValue$from = filterValue === null || filterValue === void 0 ? void 0 : filterValue.from) !== null && _filterValue$from !== void 0 ? _filterValue$from : ''),
135
+ onChange: handleFromChange,
136
+ placeholder: "0.00",
137
+ mask: number => dsForm.MASK_TYPES.NUMBER(opts)(number),
138
+ autoFocus: true,
139
+ onKeyDown: e => {
140
+ closePopover(e);
141
+ }
142
+ })), /*#__PURE__*/_jsx__default["default"](dsFormLayoutBlocks.DSFormLayoutBlockItem, {
143
+ label: "Max",
144
+ inputID: "".concat(idPreffix, "-max-").concat(column.id)
145
+ }, void 0, /*#__PURE__*/_jsx__default["default"](dsForm.DSInputMask, {
146
+ containerProps: {
147
+ style: {
148
+ textAlign: 'right'
149
+ }
150
+ },
151
+ id: "".concat(idPreffix, "-max-").concat(column.id),
152
+ value: "".concat((_filterValue$to = filterValue === null || filterValue === void 0 ? void 0 : filterValue.to) !== null && _filterValue$to !== void 0 ? _filterValue$to : ''),
153
+ onChange: handleToChange,
154
+ placeholder: "0.00",
155
+ mask: number => dsForm.MASK_TYPES.NUMBER(opts)(number),
156
+ onKeyDown: e => {
157
+ closePopover(e);
158
+ }
159
+ }))),
160
+ triggerIcon: _SearchXsmall || (_SearchXsmall = /*#__PURE__*/_jsx__default["default"](dsIcons.SearchXsmall, {})),
161
+ customStyles: {
162
+ width: (_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'
163
+ },
164
+ innerRef: innerRef,
165
+ ariaLabel: "Open Currency Range Filter"
166
+ });
167
+ };
168
+
169
+ exports.CurrencyRangeFilter = CurrencyRangeFilter;
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var _jsx = require('@babel/runtime/helpers/jsx');
6
6
  require('core-js/modules/web.dom-collections.iterator.js');
7
7
  var React = require('react');
8
- var DatePickerIcon = require('@elliemae/ds-icons/DatePicker2');
8
+ var dsIcons = require('@elliemae/ds-icons');
9
9
  var Grid = require('@elliemae/ds-grid');
10
10
  var dsControlledForm = require('@elliemae/ds-controlled-form');
11
11
  var FilterPopover = require('../../../../exported-related/FilterPopover.js');
@@ -14,35 +14,40 @@ require('../../../../DataTableContext.js');
14
14
  require('react/jsx-runtime');
15
15
  require('styled-components');
16
16
  require('@elliemae/ds-button');
17
- require('@elliemae/ds-icons/MoreOptionsVert');
18
- require('@elliemae/ds-utilities/hooks');
17
+ require('@elliemae/ds-utilities');
19
18
  var constants = require('../../../../configs/constants.js');
19
+ require('core-js/modules/esnext.async-iterator.filter.js');
20
+ require('core-js/modules/esnext.iterator.constructor.js');
21
+ require('core-js/modules/esnext.iterator.filter.js');
22
+ require('core-js/modules/esnext.async-iterator.reduce.js');
23
+ require('core-js/modules/esnext.iterator.reduce.js');
20
24
  require('react-virtual');
25
+ require('core-js/modules/esnext.async-iterator.for-each.js');
26
+ require('core-js/modules/esnext.iterator.for-each.js');
21
27
  require('../../../../configs/useRowFlattenization.js');
22
28
  require('@babel/runtime/helpers/defineProperty');
23
- require('@elliemae/ds-icons');
24
- require('@elliemae/ds-form/Checkbox');
25
- require('@elliemae/ds-form/Radio');
29
+ require('core-js/modules/esnext.async-iterator.map.js');
30
+ require('core-js/modules/esnext.iterator.map.js');
31
+ require('@elliemae/ds-form');
26
32
  require('../../../../parts/TableContent.js');
27
33
  require('@elliemae/ds-circular-progress-indicator');
28
- require('@elliemae/ds-icons/WarningTriangle');
29
34
  require('@elliemae/ds-system');
30
35
  require('../../../../parts/Row.js');
31
36
  require('../../../../parts/Footer.js');
32
- require('@elliemae/ds-icons/GripperVertical');
33
37
  require('../../../../parts/HoC/SortableItemContext.js');
34
38
  require('uid');
35
39
  var FilterTypes = require('../../../../exported-related/FilterTypes.js');
36
40
  require('../../../../exported-related/Filters/applyOutOfTheBoxFilters.js');
37
41
  require('moment');
42
+ require('core-js/modules/esnext.async-iterator.some.js');
43
+ require('core-js/modules/esnext.iterator.some.js');
38
44
 
39
45
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
40
46
 
41
47
  var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
42
- var DatePickerIcon__default = /*#__PURE__*/_interopDefaultLegacy(DatePickerIcon);
43
48
  var Grid__default = /*#__PURE__*/_interopDefaultLegacy(Grid);
44
49
 
45
- var _DatePickerIcon;
50
+ var _DatePicker;
46
51
  const emptyFilterValue = {
47
52
  startDate: null,
48
53
  endDate: null
@@ -101,7 +106,7 @@ const DateRangeFilter = props => {
101
106
  onToDateChange: setEndDate,
102
107
  type: "date-range-picker-controller-only"
103
108
  }))),
104
- triggerIcon: _DatePickerIcon || (_DatePickerIcon = /*#__PURE__*/_jsx__default["default"](DatePickerIcon__default["default"], {})),
109
+ triggerIcon: _DatePicker || (_DatePicker = /*#__PURE__*/_jsx__default["default"](dsIcons.DatePicker2, {})),
105
110
  innerRef: innerRef,
106
111
  ariaLabel: "Open Date Range Filter"
107
112
  });
@@ -0,0 +1,145 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _jsx = require('@babel/runtime/helpers/jsx');
6
+ require('core-js/modules/web.dom-collections.iterator.js');
7
+ var React = require('react');
8
+ var dsIcons = require('@elliemae/ds-icons');
9
+ var Grid = require('@elliemae/ds-grid');
10
+ var dsControlledForm = require('@elliemae/ds-controlled-form');
11
+ var FilterPopover = require('../../../../exported-related/FilterPopover.js');
12
+ require('../../../../styled.js');
13
+ require('../../../../DataTableContext.js');
14
+ require('react/jsx-runtime');
15
+ require('styled-components');
16
+ require('@elliemae/ds-button');
17
+ require('@elliemae/ds-utilities');
18
+ var constants = require('../../../../configs/constants.js');
19
+ require('core-js/modules/esnext.async-iterator.filter.js');
20
+ require('core-js/modules/esnext.iterator.constructor.js');
21
+ require('core-js/modules/esnext.iterator.filter.js');
22
+ require('core-js/modules/esnext.async-iterator.reduce.js');
23
+ require('core-js/modules/esnext.iterator.reduce.js');
24
+ require('react-virtual');
25
+ require('core-js/modules/esnext.async-iterator.for-each.js');
26
+ require('core-js/modules/esnext.iterator.for-each.js');
27
+ require('../../../../configs/useRowFlattenization.js');
28
+ require('@babel/runtime/helpers/defineProperty');
29
+ require('core-js/modules/esnext.async-iterator.map.js');
30
+ require('core-js/modules/esnext.iterator.map.js');
31
+ require('@elliemae/ds-form');
32
+ require('../../../../parts/TableContent.js');
33
+ require('@elliemae/ds-circular-progress-indicator');
34
+ require('@elliemae/ds-system');
35
+ require('../../../../parts/Row.js');
36
+ require('../../../../parts/Footer.js');
37
+ require('../../../../parts/HoC/SortableItemContext.js');
38
+ require('uid');
39
+ var FilterTypes = require('../../../../exported-related/FilterTypes.js');
40
+ require('../../../../exported-related/Filters/applyOutOfTheBoxFilters.js');
41
+ require('moment');
42
+ require('core-js/modules/esnext.async-iterator.some.js');
43
+ require('core-js/modules/esnext.iterator.some.js');
44
+
45
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
46
+
47
+ var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
48
+ var Grid__default = /*#__PURE__*/_interopDefaultLegacy(Grid);
49
+
50
+ var _DatePicker;
51
+ const emptyFilterValue = {
52
+ startDate: null,
53
+ endDate: null
54
+ };
55
+ const DateSwitcherFilter = props => {
56
+ const {
57
+ column,
58
+ column: {
59
+ id
60
+ },
61
+ filterValue = emptyFilterValue,
62
+ onValueChange,
63
+ patchHeaderFilterButtonAndMenu,
64
+ reduxHeader,
65
+ innerRef
66
+ } = props;
67
+ const dateRange = filterValue;
68
+ const [startDate, setStartDate] = React.useState(dateRange.startDate || '');
69
+ const [endDate, setEndDate] = React.useState(dateRange.endDate || '');
70
+ const [isDateRange, setIsDateRange] = React.useState(false);
71
+ React.useEffect(() => {
72
+ setStartDate(dateRange.startDate || '');
73
+ setEndDate(dateRange.endDate || '');
74
+ }, [dateRange]);
75
+ React.useEffect(() => {
76
+ if (startDate && endDate && !startDate.includes('_') && !endDate.includes('_')) {
77
+ onValueChange(FilterTypes.FILTER_TYPES.DATE_SWITCHER, {
78
+ startDate,
79
+ endDate,
80
+ isDateRange
81
+ });
82
+ } // We are missing onValueChange on purpose, this is an internal function and won't cause any problems
83
+ // eslint-disable-next-line react-hooks/exhaustive-deps
84
+
85
+ }, [startDate, endDate, isDateRange]);
86
+ return /*#__PURE__*/_jsx__default["default"](FilterPopover.FilterPopover, {
87
+ reduxHeader: reduxHeader,
88
+ column: column,
89
+ columnId: id,
90
+ menuContent: /*#__PURE__*/_jsx__default["default"](Grid__default["default"], {
91
+ width: "260px",
92
+ "data-testid": constants.DATA_TESTID.DATA_TABLE_DATE_RANGE_CONTROLLER
93
+ }, void 0, /*#__PURE__*/_jsx__default["default"](Grid__default["default"], {
94
+ p: "xxs",
95
+ gutter: "xxs",
96
+ style: {
97
+ background: 'white'
98
+ }
99
+ }, void 0, /*#__PURE__*/_jsx__default["default"](dsControlledForm.DSControlledCheckbox, {
100
+ checked: isDateRange,
101
+ name: "Date range",
102
+ label: "Date Range",
103
+ id: "date-range-switcher-id-internal",
104
+ onChange: () => {
105
+ setIsDateRange(!isDateRange);
106
+ setStartDate('');
107
+ setEndDate('');
108
+ },
109
+ autoFocus: true
110
+ }), isDateRange ? /*#__PURE__*/_jsx__default["default"](dsControlledForm.DSControlledDateRangePicker, {
111
+ fromDate: startDate,
112
+ onFromDateChange: setStartDate,
113
+ toDate: endDate,
114
+ onToDateChange: setEndDate,
115
+ type: "date-range-inputs"
116
+ }) : /*#__PURE__*/_jsx__default["default"](dsControlledForm.DSControlledDateTimePicker, {
117
+ date: startDate,
118
+ onDateChange: _date => {
119
+ setStartDate(_date);
120
+ setEndDate(_date);
121
+ },
122
+ type: "date-inputs"
123
+ })), /*#__PURE__*/_jsx__default["default"](Grid__default["default"], {
124
+ onKeyDown: e => e.code === 'Enter' && setTimeout(() => patchHeaderFilterButtonAndMenu(id, !!(dateRange.startDate || dateRange.endDate)), 0)
125
+ }, void 0, isDateRange ? /*#__PURE__*/_jsx__default["default"](dsControlledForm.DSControlledDateRangePicker, {
126
+ fromDate: startDate,
127
+ onFromDateChange: setStartDate,
128
+ toDate: endDate,
129
+ onToDateChange: setEndDate,
130
+ type: "date-range-picker-controller-only"
131
+ }) : /*#__PURE__*/_jsx__default["default"](dsControlledForm.DSControlledDateTimePicker, {
132
+ date: startDate,
133
+ onDateChange: _date => {
134
+ setStartDate(_date);
135
+ setEndDate(_date);
136
+ },
137
+ type: "date-picker-controller-only"
138
+ }))),
139
+ triggerIcon: _DatePicker || (_DatePicker = /*#__PURE__*/_jsx__default["default"](dsIcons.DatePicker2, {})),
140
+ innerRef: innerRef,
141
+ ariaLabel: "Open Date Range Filter"
142
+ });
143
+ };
144
+
145
+ exports.DateSwitcherFilter = DateSwitcherFilter;
@@ -2,12 +2,18 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ require('core-js/modules/esnext.async-iterator.filter.js');
6
+ require('core-js/modules/esnext.iterator.constructor.js');
7
+ require('core-js/modules/esnext.iterator.filter.js');
8
+ require('core-js/modules/esnext.async-iterator.for-each.js');
9
+ require('core-js/modules/esnext.iterator.for-each.js');
5
10
  var _jsx = require('@babel/runtime/helpers/jsx');
6
11
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
7
12
  require('react');
8
13
  var Grid = require('@elliemae/ds-grid');
9
- var DSTextBox = require('@elliemae/ds-form/TextBox');
10
- var SearchIcon = require('@elliemae/ds-icons/SearchXsmall');
14
+ var dsForm = require('@elliemae/ds-form');
15
+ var dsFormLayoutBlocks = require('@elliemae/ds-form-layout-blocks');
16
+ var dsIcons = require('@elliemae/ds-icons');
11
17
  var FilterPopover = require('../../../../exported-related/FilterPopover.js');
12
18
  require('core-js/modules/web.dom-collections.iterator.js');
13
19
  require('../../../../styled.js');
@@ -15,42 +21,50 @@ require('../../../../DataTableContext.js');
15
21
  require('react/jsx-runtime');
16
22
  require('styled-components');
17
23
  require('@elliemae/ds-button');
18
- require('@elliemae/ds-icons/MoreOptionsVert');
19
- require('@elliemae/ds-utilities/hooks');
24
+ require('@elliemae/ds-utilities');
20
25
  var constants = require('../../../../configs/constants.js');
26
+ require('core-js/modules/esnext.async-iterator.reduce.js');
27
+ require('core-js/modules/esnext.iterator.reduce.js');
21
28
  require('react-virtual');
22
29
  require('../../../../configs/useRowFlattenization.js');
23
- require('@elliemae/ds-icons');
24
- require('@elliemae/ds-form/Checkbox');
25
- require('@elliemae/ds-form/Radio');
30
+ require('core-js/modules/esnext.async-iterator.map.js');
31
+ require('core-js/modules/esnext.iterator.map.js');
26
32
  require('../../../../parts/TableContent.js');
27
33
  require('@elliemae/ds-circular-progress-indicator');
28
- require('@elliemae/ds-icons/WarningTriangle');
29
34
  require('@elliemae/ds-system');
30
35
  require('../../../../parts/Row.js');
31
36
  require('../../../../parts/Footer.js');
32
- require('@elliemae/ds-icons/GripperVertical');
33
37
  require('../../../../parts/HoC/SortableItemContext.js');
34
38
  require('uid');
35
39
  var FilterTypes = require('../../../../exported-related/FilterTypes.js');
36
40
  require('../../../../exported-related/Filters/applyOutOfTheBoxFilters.js');
37
41
  require('moment');
42
+ require('core-js/modules/esnext.async-iterator.some.js');
43
+ require('core-js/modules/esnext.iterator.some.js');
44
+ require('../../../../redux/reducers/headersReducers/headersReducers.js');
45
+ var useDispatchHeadersActions = require('../../../../redux/reducers/headersReducers/useDispatchHeadersActions.js');
38
46
 
39
47
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
40
48
 
41
49
  var _jsx__default = /*#__PURE__*/_interopDefaultLegacy(_jsx);
42
50
  var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
43
51
  var Grid__default = /*#__PURE__*/_interopDefaultLegacy(Grid);
44
- var DSTextBox__default = /*#__PURE__*/_interopDefaultLegacy(DSTextBox);
45
- var SearchIcon__default = /*#__PURE__*/_interopDefaultLegacy(SearchIcon);
46
52
 
47
- var _Grid, _SearchIcon;
53
+ var _SearchXsmall;
48
54
 
49
55
  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; }
50
56
 
51
57
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
58
+ const opts = {
59
+ prefix: '',
60
+ suffix: '',
61
+ allowDecimal: false,
62
+ includeThousandsSeparator: false,
63
+ requireDecimal: false,
64
+ allowNegative: true
65
+ };
52
66
  const NumberRangeFilter = props => {
53
- var _filterValue$from, _filterValue$to;
67
+ var _filterValue$from, _filterValue$to, _column$ref$current$o, _column$ref, _column$ref$current;
54
68
 
55
69
  const {
56
70
  column,
@@ -64,51 +78,92 @@ const NumberRangeFilter = props => {
64
78
  } = props;
65
79
 
66
80
  const handleFromChange = e => {
67
- var _e$target;
68
-
69
- const from = (e === null || e === void 0 ? void 0 : (_e$target = e.target) === null || _e$target === void 0 ? void 0 : _e$target.value) !== '' ? parseInt(e.target.value, 10) : '';
81
+ const from = e.target.value !== '' ? parseInt(e.target.value, 10) : '';
70
82
 
71
83
  const nextValue = _objectSpread(_objectSpread({}, filterValue), {}, {
72
84
  from
73
85
  });
74
86
 
75
- onValueChange(FilterTypes.FILTER_TYPES.NUMBER_RANGE, nextValue);
87
+ onValueChange(FilterTypes.FILTER_TYPES.CURRENCY_RANGE, nextValue);
76
88
  };
77
89
 
78
90
  const handleToChange = e => {
79
- var _e$target2;
80
-
81
- const to = (e === null || e === void 0 ? void 0 : (_e$target2 = e.target) === null || _e$target2 === void 0 ? void 0 : _e$target2.value) !== '' ? parseInt(e.target.value, 10) : '';
91
+ const to = e.target.value !== '' ? parseInt(e.target.value, 10) : '';
82
92
 
83
93
  const nextValue = _objectSpread(_objectSpread({}, filterValue), {}, {
84
94
  to
85
95
  });
86
96
 
87
- onValueChange(FilterTypes.FILTER_TYPES.NUMBER_RANGE, nextValue);
97
+ onValueChange(FilterTypes.FILTER_TYPES.CURRENCY_RANGE, nextValue);
88
98
  };
89
99
 
100
+ const {
101
+ patchHeader
102
+ } = useDispatchHeadersActions.useDispatchHeadersActions(); // workaround to close menu with esc key since DSInputMask has stoppropagation on key down
103
+
104
+ const closePopover = e => {
105
+ if (e.code === 'Escape') {
106
+ patchHeader(column.id, {
107
+ hideFilterMenu: true,
108
+ hideFilterButton: false
109
+ });
110
+ innerRef.current.focus();
111
+ }
112
+ };
113
+
114
+ const idPreffix = 'datatable-number-range';
90
115
  return /*#__PURE__*/_jsx__default["default"](FilterPopover.FilterPopover, {
91
116
  reduxHeader: reduxHeader,
92
117
  column: column,
93
118
  columnId: column.id,
94
119
  menuContent: /*#__PURE__*/_jsx__default["default"](Grid__default["default"], {
95
120
  "data-testid": constants.DATA_TESTID.DATA_TABLE_NUMBER_RANGE_CONTROLLER,
96
- gutter: "xxs",
97
- padding: "xs",
98
- cols: ['50px', 'auto', '50px']
99
- }, void 0, /*#__PURE__*/_jsx__default["default"](DSTextBox__default["default"], {
121
+ gutter: "xxxs",
122
+ padding: "xxs",
123
+ cols: ['auto', 'auto'],
124
+ style: {
125
+ background: 'white'
126
+ }
127
+ }, void 0, /*#__PURE__*/_jsx__default["default"](dsFormLayoutBlocks.DSFormLayoutBlockItem, {
128
+ label: "Low",
129
+ inputID: "".concat(idPreffix, "-low-").concat(column.id)
130
+ }, void 0, /*#__PURE__*/_jsx__default["default"](dsForm.DSInputMask, {
131
+ containerProps: {
132
+ style: {
133
+ textAlign: 'right'
134
+ }
135
+ },
136
+ id: "".concat(idPreffix, "-low-").concat(column.id),
100
137
  value: "".concat((_filterValue$from = filterValue === null || filterValue === void 0 ? void 0 : filterValue.from) !== null && _filterValue$from !== void 0 ? _filterValue$from : ''),
101
138
  onChange: handleFromChange,
102
- type: "number"
103
- }), _Grid || (_Grid = /*#__PURE__*/_jsx__default["default"](Grid__default["default"], {
104
- justifyItems: "center",
105
- alignItems: "center"
106
- }, void 0, "\u2014")), /*#__PURE__*/_jsx__default["default"](DSTextBox__default["default"], {
139
+ placeholder: "0",
140
+ mask: number => dsForm.MASK_TYPES.NUMBER(opts)(number),
141
+ autoFocus: true,
142
+ onKeyDown: e => {
143
+ closePopover(e);
144
+ }
145
+ })), /*#__PURE__*/_jsx__default["default"](dsFormLayoutBlocks.DSFormLayoutBlockItem, {
146
+ label: "High",
147
+ inputID: "".concat(idPreffix, "-high-").concat(column.id)
148
+ }, void 0, /*#__PURE__*/_jsx__default["default"](dsForm.DSInputMask, {
149
+ containerProps: {
150
+ style: {
151
+ textAlign: 'right'
152
+ }
153
+ },
154
+ id: "".concat(idPreffix, "-high-").concat(column.id),
107
155
  value: "".concat((_filterValue$to = filterValue === null || filterValue === void 0 ? void 0 : filterValue.to) !== null && _filterValue$to !== void 0 ? _filterValue$to : ''),
108
156
  onChange: handleToChange,
109
- type: "number"
110
- })),
111
- triggerIcon: _SearchIcon || (_SearchIcon = /*#__PURE__*/_jsx__default["default"](SearchIcon__default["default"], {})),
157
+ placeholder: "0",
158
+ mask: number => dsForm.MASK_TYPES.NUMBER(opts)(number),
159
+ onKeyDown: e => {
160
+ closePopover(e);
161
+ }
162
+ }))),
163
+ triggerIcon: _SearchXsmall || (_SearchXsmall = /*#__PURE__*/_jsx__default["default"](dsIcons.SearchXsmall, {})),
164
+ customStyles: {
165
+ width: (_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'
166
+ },
112
167
  innerRef: innerRef,
113
168
  ariaLabel: "Open Number Range Filter"
114
169
  });