@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,136 @@
1
+ import _jsx from '@babel/runtime/helpers/esm/jsx';
2
+ import 'core-js/modules/web.dom-collections.iterator.js';
3
+ import { useState, useEffect } from 'react';
4
+ import { DatePicker2 } from '@elliemae/ds-icons';
5
+ import Grid from '@elliemae/ds-grid';
6
+ import { DSControlledCheckbox, DSControlledDateRangePicker, DSControlledDateTimePicker } from '@elliemae/ds-controlled-form';
7
+ import { FilterPopover } from '../../../../exported-related/FilterPopover.js';
8
+ import '../../../../styled.js';
9
+ import '../../../../DataTableContext.js';
10
+ import 'react/jsx-runtime';
11
+ import 'styled-components';
12
+ import '@elliemae/ds-button';
13
+ import '@elliemae/ds-utilities';
14
+ import { DATA_TESTID } from '../../../../configs/constants.js';
15
+ import 'core-js/modules/esnext.async-iterator.filter.js';
16
+ import 'core-js/modules/esnext.iterator.constructor.js';
17
+ import 'core-js/modules/esnext.iterator.filter.js';
18
+ import 'core-js/modules/esnext.async-iterator.reduce.js';
19
+ import 'core-js/modules/esnext.iterator.reduce.js';
20
+ import 'react-virtual';
21
+ import 'core-js/modules/esnext.async-iterator.for-each.js';
22
+ import 'core-js/modules/esnext.iterator.for-each.js';
23
+ import '../../../../configs/useRowFlattenization.js';
24
+ import '@babel/runtime/helpers/esm/defineProperty';
25
+ import 'core-js/modules/esnext.async-iterator.map.js';
26
+ import 'core-js/modules/esnext.iterator.map.js';
27
+ import '@elliemae/ds-form';
28
+ import '../../../../parts/TableContent.js';
29
+ import '@elliemae/ds-circular-progress-indicator';
30
+ import '@elliemae/ds-system';
31
+ import '../../../../parts/Row.js';
32
+ import '../../../../parts/Footer.js';
33
+ import '../../../../parts/HoC/SortableItemContext.js';
34
+ import 'uid';
35
+ import { FILTER_TYPES } from '../../../../exported-related/FilterTypes.js';
36
+ import '../../../../exported-related/Filters/applyOutOfTheBoxFilters.js';
37
+ import 'moment';
38
+ import 'core-js/modules/esnext.async-iterator.some.js';
39
+ import 'core-js/modules/esnext.iterator.some.js';
40
+
41
+ var _DatePicker;
42
+ const emptyFilterValue = {
43
+ startDate: null,
44
+ endDate: null
45
+ };
46
+ const DateSwitcherFilter = props => {
47
+ const {
48
+ column,
49
+ column: {
50
+ id
51
+ },
52
+ filterValue = emptyFilterValue,
53
+ onValueChange,
54
+ patchHeaderFilterButtonAndMenu,
55
+ reduxHeader,
56
+ innerRef
57
+ } = props;
58
+ const dateRange = filterValue;
59
+ const [startDate, setStartDate] = useState(dateRange.startDate || '');
60
+ const [endDate, setEndDate] = useState(dateRange.endDate || '');
61
+ const [isDateRange, setIsDateRange] = useState(false);
62
+ useEffect(() => {
63
+ setStartDate(dateRange.startDate || '');
64
+ setEndDate(dateRange.endDate || '');
65
+ }, [dateRange]);
66
+ useEffect(() => {
67
+ if (startDate && endDate && !startDate.includes('_') && !endDate.includes('_')) {
68
+ onValueChange(FILTER_TYPES.DATE_SWITCHER, {
69
+ startDate,
70
+ endDate,
71
+ isDateRange
72
+ });
73
+ } // We are missing onValueChange on purpose, this is an internal function and won't cause any problems
74
+ // eslint-disable-next-line react-hooks/exhaustive-deps
75
+
76
+ }, [startDate, endDate, isDateRange]);
77
+ return /*#__PURE__*/_jsx(FilterPopover, {
78
+ reduxHeader: reduxHeader,
79
+ column: column,
80
+ columnId: id,
81
+ menuContent: /*#__PURE__*/_jsx(Grid, {
82
+ width: "260px",
83
+ "data-testid": DATA_TESTID.DATA_TABLE_DATE_RANGE_CONTROLLER
84
+ }, void 0, /*#__PURE__*/_jsx(Grid, {
85
+ p: "xxs",
86
+ gutter: "xxs",
87
+ style: {
88
+ background: 'white'
89
+ }
90
+ }, void 0, /*#__PURE__*/_jsx(DSControlledCheckbox, {
91
+ checked: isDateRange,
92
+ name: "Date range",
93
+ label: "Date Range",
94
+ id: "date-range-switcher-id-internal",
95
+ onChange: () => {
96
+ setIsDateRange(!isDateRange);
97
+ setStartDate('');
98
+ setEndDate('');
99
+ },
100
+ autoFocus: true
101
+ }), isDateRange ? /*#__PURE__*/_jsx(DSControlledDateRangePicker, {
102
+ fromDate: startDate,
103
+ onFromDateChange: setStartDate,
104
+ toDate: endDate,
105
+ onToDateChange: setEndDate,
106
+ type: "date-range-inputs"
107
+ }) : /*#__PURE__*/_jsx(DSControlledDateTimePicker, {
108
+ date: startDate,
109
+ onDateChange: _date => {
110
+ setStartDate(_date);
111
+ setEndDate(_date);
112
+ },
113
+ type: "date-inputs"
114
+ })), /*#__PURE__*/_jsx(Grid, {
115
+ onKeyDown: e => e.code === 'Enter' && setTimeout(() => patchHeaderFilterButtonAndMenu(id, !!(dateRange.startDate || dateRange.endDate)), 0)
116
+ }, void 0, isDateRange ? /*#__PURE__*/_jsx(DSControlledDateRangePicker, {
117
+ fromDate: startDate,
118
+ onFromDateChange: setStartDate,
119
+ toDate: endDate,
120
+ onToDateChange: setEndDate,
121
+ type: "date-range-picker-controller-only"
122
+ }) : /*#__PURE__*/_jsx(DSControlledDateTimePicker, {
123
+ date: startDate,
124
+ onDateChange: _date => {
125
+ setStartDate(_date);
126
+ setEndDate(_date);
127
+ },
128
+ type: "date-picker-controller-only"
129
+ }))),
130
+ triggerIcon: _DatePicker || (_DatePicker = /*#__PURE__*/_jsx(DatePicker2, {})),
131
+ innerRef: innerRef,
132
+ ariaLabel: "Open Date Range Filter"
133
+ });
134
+ };
135
+
136
+ export { DateSwitcherFilter };
@@ -1,9 +1,15 @@
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 _jsx from '@babel/runtime/helpers/esm/jsx';
2
7
  import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
3
8
  import 'react';
4
9
  import Grid from '@elliemae/ds-grid';
5
- import DSTextBox from '@elliemae/ds-form/TextBox';
6
- import SearchIcon from '@elliemae/ds-icons/SearchXsmall';
10
+ import { DSInputMask, MASK_TYPES } from '@elliemae/ds-form';
11
+ import { DSFormLayoutBlockItem } from '@elliemae/ds-form-layout-blocks';
12
+ import { SearchXsmall } from '@elliemae/ds-icons';
7
13
  import { FilterPopover } from '../../../../exported-related/FilterPopover.js';
8
14
  import 'core-js/modules/web.dom-collections.iterator.js';
9
15
  import '../../../../styled.js';
@@ -11,34 +17,44 @@ import '../../../../DataTableContext.js';
11
17
  import 'react/jsx-runtime';
12
18
  import 'styled-components';
13
19
  import '@elliemae/ds-button';
14
- import '@elliemae/ds-icons/MoreOptionsVert';
15
- import '@elliemae/ds-utilities/hooks';
20
+ import '@elliemae/ds-utilities';
16
21
  import { DATA_TESTID } from '../../../../configs/constants.js';
22
+ import 'core-js/modules/esnext.async-iterator.reduce.js';
23
+ import 'core-js/modules/esnext.iterator.reduce.js';
17
24
  import 'react-virtual';
18
25
  import '../../../../configs/useRowFlattenization.js';
19
- import '@elliemae/ds-icons';
20
- import '@elliemae/ds-form/Checkbox';
21
- import '@elliemae/ds-form/Radio';
26
+ import 'core-js/modules/esnext.async-iterator.map.js';
27
+ import 'core-js/modules/esnext.iterator.map.js';
22
28
  import '../../../../parts/TableContent.js';
23
29
  import '@elliemae/ds-circular-progress-indicator';
24
- import '@elliemae/ds-icons/WarningTriangle';
25
30
  import '@elliemae/ds-system';
26
31
  import '../../../../parts/Row.js';
27
32
  import '../../../../parts/Footer.js';
28
- import '@elliemae/ds-icons/GripperVertical';
29
33
  import '../../../../parts/HoC/SortableItemContext.js';
30
34
  import 'uid';
31
35
  import { FILTER_TYPES } from '../../../../exported-related/FilterTypes.js';
32
36
  import '../../../../exported-related/Filters/applyOutOfTheBoxFilters.js';
33
37
  import 'moment';
38
+ import 'core-js/modules/esnext.async-iterator.some.js';
39
+ import 'core-js/modules/esnext.iterator.some.js';
40
+ import '../../../../redux/reducers/headersReducers/headersReducers.js';
41
+ import { useDispatchHeadersActions } from '../../../../redux/reducers/headersReducers/useDispatchHeadersActions.js';
34
42
 
35
- var _Grid, _SearchIcon;
43
+ var _SearchXsmall;
36
44
 
37
45
  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; }
38
46
 
39
47
  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; }
48
+ const opts = {
49
+ prefix: '',
50
+ suffix: '',
51
+ allowDecimal: false,
52
+ includeThousandsSeparator: false,
53
+ requireDecimal: false,
54
+ allowNegative: true
55
+ };
40
56
  const NumberRangeFilter = props => {
41
- var _filterValue$from, _filterValue$to;
57
+ var _filterValue$from, _filterValue$to, _column$ref$current$o, _column$ref, _column$ref$current;
42
58
 
43
59
  const {
44
60
  column,
@@ -52,51 +68,92 @@ const NumberRangeFilter = props => {
52
68
  } = props;
53
69
 
54
70
  const handleFromChange = e => {
55
- var _e$target;
56
-
57
- 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) : '';
71
+ const from = e.target.value !== '' ? parseInt(e.target.value, 10) : '';
58
72
 
59
73
  const nextValue = _objectSpread(_objectSpread({}, filterValue), {}, {
60
74
  from
61
75
  });
62
76
 
63
- onValueChange(FILTER_TYPES.NUMBER_RANGE, nextValue);
77
+ onValueChange(FILTER_TYPES.CURRENCY_RANGE, nextValue);
64
78
  };
65
79
 
66
80
  const handleToChange = e => {
67
- var _e$target2;
68
-
69
- 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) : '';
81
+ const to = e.target.value !== '' ? parseInt(e.target.value, 10) : '';
70
82
 
71
83
  const nextValue = _objectSpread(_objectSpread({}, filterValue), {}, {
72
84
  to
73
85
  });
74
86
 
75
- onValueChange(FILTER_TYPES.NUMBER_RANGE, nextValue);
87
+ onValueChange(FILTER_TYPES.CURRENCY_RANGE, nextValue);
88
+ };
89
+
90
+ const {
91
+ patchHeader
92
+ } = useDispatchHeadersActions(); // workaround to close menu with esc key since DSInputMask has stoppropagation on key down
93
+
94
+ const closePopover = e => {
95
+ if (e.code === 'Escape') {
96
+ patchHeader(column.id, {
97
+ hideFilterMenu: true,
98
+ hideFilterButton: false
99
+ });
100
+ innerRef.current.focus();
101
+ }
76
102
  };
77
103
 
104
+ const idPreffix = 'datatable-number-range';
78
105
  return /*#__PURE__*/_jsx(FilterPopover, {
79
106
  reduxHeader: reduxHeader,
80
107
  column: column,
81
108
  columnId: column.id,
82
109
  menuContent: /*#__PURE__*/_jsx(Grid, {
83
110
  "data-testid": DATA_TESTID.DATA_TABLE_NUMBER_RANGE_CONTROLLER,
84
- gutter: "xxs",
85
- padding: "xs",
86
- cols: ['50px', 'auto', '50px']
87
- }, void 0, /*#__PURE__*/_jsx(DSTextBox, {
111
+ gutter: "xxxs",
112
+ padding: "xxs",
113
+ cols: ['auto', 'auto'],
114
+ style: {
115
+ background: 'white'
116
+ }
117
+ }, void 0, /*#__PURE__*/_jsx(DSFormLayoutBlockItem, {
118
+ label: "Low",
119
+ inputID: "".concat(idPreffix, "-low-").concat(column.id)
120
+ }, void 0, /*#__PURE__*/_jsx(DSInputMask, {
121
+ containerProps: {
122
+ style: {
123
+ textAlign: 'right'
124
+ }
125
+ },
126
+ id: "".concat(idPreffix, "-low-").concat(column.id),
88
127
  value: "".concat((_filterValue$from = filterValue === null || filterValue === void 0 ? void 0 : filterValue.from) !== null && _filterValue$from !== void 0 ? _filterValue$from : ''),
89
128
  onChange: handleFromChange,
90
- type: "number"
91
- }), _Grid || (_Grid = /*#__PURE__*/_jsx(Grid, {
92
- justifyItems: "center",
93
- alignItems: "center"
94
- }, void 0, "\u2014")), /*#__PURE__*/_jsx(DSTextBox, {
129
+ placeholder: "0",
130
+ mask: number => MASK_TYPES.NUMBER(opts)(number),
131
+ autoFocus: true,
132
+ onKeyDown: e => {
133
+ closePopover(e);
134
+ }
135
+ })), /*#__PURE__*/_jsx(DSFormLayoutBlockItem, {
136
+ label: "High",
137
+ inputID: "".concat(idPreffix, "-high-").concat(column.id)
138
+ }, void 0, /*#__PURE__*/_jsx(DSInputMask, {
139
+ containerProps: {
140
+ style: {
141
+ textAlign: 'right'
142
+ }
143
+ },
144
+ id: "".concat(idPreffix, "-high-").concat(column.id),
95
145
  value: "".concat((_filterValue$to = filterValue === null || filterValue === void 0 ? void 0 : filterValue.to) !== null && _filterValue$to !== void 0 ? _filterValue$to : ''),
96
146
  onChange: handleToChange,
97
- type: "number"
98
- })),
99
- triggerIcon: _SearchIcon || (_SearchIcon = /*#__PURE__*/_jsx(SearchIcon, {})),
147
+ placeholder: "0",
148
+ mask: number => MASK_TYPES.NUMBER(opts)(number),
149
+ onKeyDown: e => {
150
+ closePopover(e);
151
+ }
152
+ }))),
153
+ triggerIcon: _SearchXsmall || (_SearchXsmall = /*#__PURE__*/_jsx(SearchXsmall, {})),
154
+ customStyles: {
155
+ 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'
156
+ },
100
157
  innerRef: innerRef,
101
158
  ariaLabel: "Open Number Range Filter"
102
159
  });
@@ -1,5 +1,6 @@
1
1
  import _jsx from '@babel/runtime/helpers/esm/jsx';
2
- import _objectWithoutProperties from '@babel/runtime/helpers/esm/objectWithoutProperties';
2
+ import 'core-js/modules/esnext.async-iterator.map.js';
3
+ import 'core-js/modules/esnext.iterator.map.js';
3
4
  import 'core-js/modules/web.dom-collections.iterator.js';
4
5
  import 'core-js/modules/esnext.set.add-all.js';
5
6
  import 'core-js/modules/esnext.set.delete-all.js';
@@ -17,46 +18,52 @@ import 'core-js/modules/esnext.set.reduce.js';
17
18
  import 'core-js/modules/esnext.set.some.js';
18
19
  import 'core-js/modules/esnext.set.symmetric-difference.js';
19
20
  import 'core-js/modules/esnext.set.union.js';
20
- import { useMemo, useRef, useState, useCallback, useEffect } from 'react';
21
- import { useVirtual } from 'react-virtual';
22
- import SearchIcon from '@elliemae/ds-icons/SearchXsmall';
23
- import DSCheckbox from '@elliemae/ds-form/Checkbox';
24
- import { Wrapper, InputWrapper, Input, VirtualListWrapper, MenuList, MenuItem } from './components.js';
21
+ import 'core-js/modules/esnext.async-iterator.find.js';
22
+ import 'core-js/modules/esnext.iterator.constructor.js';
23
+ import 'core-js/modules/esnext.iterator.find.js';
24
+ import 'core-js/modules/esnext.async-iterator.filter.js';
25
+ import 'core-js/modules/esnext.iterator.filter.js';
26
+ import { useMemo, useState, useEffect, useCallback } from 'react';
27
+ import { Grid } from '@elliemae/ds-grid';
28
+ import { DSComboBox } from '@elliemae/ds-form/ComboBox';
29
+ import { SearchXsmall } from '@elliemae/ds-icons';
25
30
  import { FilterPopover } from '../../../../exported-related/FilterPopover.js';
26
31
  import '../../../../styled.js';
27
32
  import '../../../../DataTableContext.js';
28
- import { jsx, jsxs } from 'react/jsx-runtime';
33
+ import 'react/jsx-runtime';
29
34
  import 'styled-components';
30
35
  import '@elliemae/ds-button';
31
- import '@elliemae/ds-icons/MoreOptionsVert';
32
- import '@elliemae/ds-utilities/hooks';
36
+ import '@elliemae/ds-utilities';
33
37
  import { DATA_TESTID } from '../../../../configs/constants.js';
38
+ import 'core-js/modules/esnext.async-iterator.reduce.js';
39
+ import 'core-js/modules/esnext.iterator.reduce.js';
40
+ import 'react-virtual';
41
+ import 'core-js/modules/esnext.async-iterator.for-each.js';
42
+ import 'core-js/modules/esnext.iterator.for-each.js';
34
43
  import '../../../../configs/useRowFlattenization.js';
35
44
  import '@babel/runtime/helpers/esm/defineProperty';
36
- import '@elliemae/ds-icons';
37
- import '@elliemae/ds-form/Radio';
45
+ import '@elliemae/ds-form';
38
46
  import '../../../../parts/TableContent.js';
39
- import '@elliemae/ds-grid';
40
47
  import '@elliemae/ds-circular-progress-indicator';
41
- import '@elliemae/ds-icons/WarningTriangle';
42
48
  import '@elliemae/ds-system';
43
49
  import '../../../../parts/Row.js';
44
50
  import '../../../../parts/Footer.js';
45
- import '@elliemae/ds-icons/GripperVertical';
46
51
  import '../../../../parts/HoC/SortableItemContext.js';
47
52
  import 'uid';
48
53
  import '../../../../exported-related/Filters/applyOutOfTheBoxFilters.js';
49
54
  import 'moment';
50
- import { useSelectFilterHandlers } from './useSelectFilterHandlers.js';
55
+ import 'core-js/modules/esnext.async-iterator.some.js';
56
+ import 'core-js/modules/esnext.iterator.some.js';
51
57
 
52
- var _SearchIcon;
53
-
54
- const _excluded = ["isMulti", "selectedItems", "column", "column", "ctx", "reduxHeader", "innerRef"];
58
+ var _SearchXsmall;
55
59
  const BaseSelectFilter = props => {
60
+ var _column$ref$current$o, _column$ref, _column$ref$current;
61
+
56
62
  const {
57
63
  isMulti = false,
58
- selectedItems = [],
64
+ selectedItems,
59
65
  column,
66
+ type,
60
67
  column: {
61
68
  id,
62
69
  filterOptions: userFilterOptions
@@ -67,92 +74,84 @@ const BaseSelectFilter = props => {
67
74
  }
68
75
  },
69
76
  reduxHeader,
70
- innerRef
71
- } = props,
72
- rest = _objectWithoutProperties(props, _excluded);
73
-
77
+ innerRef,
78
+ onValueChange
79
+ } = props;
74
80
  const filterOptions = useMemo(() => {
75
81
  // If the user didn't provide options, use the available ones
76
- if (!userFilterOptions) return [...new Set(data.map(datum => datum[id].toString()))]; // If user provided the array itself, use it
82
+ if (!userFilterOptions) {
83
+ const automaticFilters = [...new Set(data.map(datum => datum[id].toString()))].map(item => ({
84
+ type: 'option',
85
+ dsId: item,
86
+ value: item,
87
+ label: item
88
+ }));
89
+ return automaticFilters;
90
+ } // If user provided the array itself, use it
91
+
77
92
 
78
93
  if (Array.isArray(userFilterOptions)) return userFilterOptions; // Otherwise, it is a function
79
94
 
80
95
  return userFilterOptions();
81
96
  }, [data, id, userFilterOptions]);
82
- const inputRef = useRef(null);
83
- const [inputValue, setInputValue] = useState('');
84
- const [filteredOptions, setFilteredOptions] = useState(filterOptions);
85
- const virtualListRef = useRef();
86
- const virtualListHelpers = useVirtual({
87
- size: filteredOptions.length,
88
- parentRef: virtualListRef,
89
- overscan: 15
90
- });
91
- const {
92
- virtualItems,
93
- totalSize
94
- } = virtualListHelpers;
95
- const handleInputChange = useCallback(e => setInputValue(e.target.value), [setInputValue]);
97
+
98
+ const handleOnChange = value => {
99
+ if (isMulti) {
100
+ const multiSelectedItem = selectedItems;
101
+ const isFound = multiSelectedItem.find(item => item.dsId === value.dsId);
102
+
103
+ if (isFound) {
104
+ onValueChange(type, multiSelectedItem.filter(item => item.dsId !== value.dsId));
105
+ } else {
106
+ onValueChange(type, [...multiSelectedItem, value]);
107
+ }
108
+ } else {
109
+ const singleSelectedItem = selectedItems;
110
+ onValueChange(type, (singleSelectedItem === null || singleSelectedItem === void 0 ? void 0 : singleSelectedItem.dsId) !== value.dsId ? value : null);
111
+ }
112
+ };
113
+
114
+ const [filters, setFilteredOptions] = useState(filterOptions);
96
115
  useEffect(() => {
97
- const filtered = filterOptions.filter(opt => opt.toLowerCase().includes(inputValue.toLowerCase()));
98
- setFilteredOptions(filtered);
99
- }, [inputValue, filterOptions]);
100
- const {
101
- onInputWrapperKeyDown,
102
- onMenuItemClick,
103
- onMenuItemKeyDown
104
- } = useSelectFilterHandlers(props);
116
+ setFilteredOptions(filterOptions);
117
+ }, [filterOptions]);
118
+ const filteredOptions = useCallback(filter => filterOptions.filter(option => option.type === 'separator' || option.label.toLowerCase().includes(filter.toLowerCase())), [filterOptions]);
119
+ const handleOnFilter = useCallback(newFilter => {
120
+ setFilteredOptions(filteredOptions(newFilter));
121
+ }, [filteredOptions]);
105
122
 
106
- const Select = /*#__PURE__*/_jsx(Wrapper, {
107
- "data-testid": rest['data-testid']
108
- }, void 0, /*#__PURE__*/_jsx(InputWrapper, {}, void 0, /*#__PURE__*/jsx(Input, {
109
- value: inputValue,
110
- onChange: handleInputChange,
123
+ const Select = /*#__PURE__*/_jsx(Grid, {
124
+ "data-testid": isMulti ? DATA_TESTID.DATA_TABLE_MULTISELECT_CONTROLLER : DATA_TESTID.DATA_TABLE_SINGLESELECT_CONTROLLER,
125
+ style: {
126
+ background: '#fff',
127
+ position: 'relative'
128
+ }
129
+ }, void 0, /*#__PURE__*/_jsx(DSComboBox, {
130
+ inline: true,
111
131
  autoFocus: true,
112
- onKeyDown: onInputWrapperKeyDown,
113
- ref: inputRef
114
- })), /*#__PURE__*/jsx(VirtualListWrapper, {
115
- ref: virtualListRef,
116
- children: /*#__PURE__*/_jsx(MenuList, {
117
- style: {
118
- height: "".concat(totalSize, "px")
119
- }
120
- }, void 0, virtualItems.map((virtualItem, virtualIndex) => {
121
- const {
122
- index,
123
- measureRef,
124
- start
125
- } = virtualItem;
126
- const option = filteredOptions[index];
127
- return /*#__PURE__*/jsxs(MenuItem, {
128
- onClick: onMenuItemClick(option),
129
- style: {
130
- top: "".concat(start, "px"),
131
- outline: 'none'
132
- },
133
- ref: measureRef,
134
- tabIndex: -1,
135
- "data-testid": DATA_TESTID.DATA_TABLE_SELECT_MENU_ITEM,
136
- onKeyDown: onMenuItemKeyDown(option, index, virtualIndex, inputRef, innerRef),
137
- children: [isMulti && /*#__PURE__*/_jsx(DSCheckbox, {
138
- style: {
139
- marginRight: '10px'
140
- },
141
- checked: selectedItems.includes(option),
142
- onChange: onMenuItemKeyDown(option, index, virtualIndex, inputRef, innerRef)
143
- }), option]
144
- }, option);
145
- }))
132
+ options: filters,
133
+ onChange: handleOnChange,
134
+ selectedValues: selectedItems,
135
+ onFilter: handleOnFilter,
136
+ menuMaxHeight: 300
146
137
  }));
147
138
 
139
+ const handleOnClickOutside = () => {
140
+ setFilteredOptions(filteredOptions(''));
141
+ };
142
+
148
143
  return /*#__PURE__*/_jsx(FilterPopover, {
149
144
  reduxHeader: reduxHeader,
150
145
  column: column,
151
146
  columnId: column.id,
152
147
  menuContent: Select,
153
- triggerIcon: _SearchIcon || (_SearchIcon = /*#__PURE__*/_jsx(SearchIcon, {})),
148
+ triggerIcon: _SearchXsmall || (_SearchXsmall = /*#__PURE__*/_jsx(SearchXsmall, {})),
154
149
  innerRef: innerRef,
155
- ariaLabel: "Open Selection Filter"
150
+ ariaLabel: "Open Selection Filter",
151
+ onClickOutsideMenu: handleOnClickOutside,
152
+ customStyles: {
153
+ 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'
154
+ }
156
155
  });
157
156
  };
158
157
 
@@ -1,58 +1,68 @@
1
1
  import _jsx from '@babel/runtime/helpers/esm/jsx';
2
2
  import 'react';
3
3
  import { BaseSelectFilter } from './BaseSelectFilter.js';
4
+ import 'core-js/modules/esnext.async-iterator.filter.js';
5
+ import 'core-js/modules/esnext.iterator.constructor.js';
6
+ import 'core-js/modules/esnext.iterator.filter.js';
7
+ import 'core-js/modules/esnext.async-iterator.for-each.js';
8
+ import 'core-js/modules/esnext.iterator.for-each.js';
9
+ import '@babel/runtime/helpers/esm/defineProperty';
4
10
  import 'core-js/modules/web.dom-collections.iterator.js';
5
11
  import '@elliemae/ds-button';
6
12
  import '@elliemae/ds-popperjs';
7
13
  import 'styled-components';
8
14
  import '../../../../redux/reducers/index.js';
9
15
  import { DATA_TESTID } from '../../../../configs/constants.js';
16
+ import 'core-js/modules/esnext.async-iterator.reduce.js';
17
+ import 'core-js/modules/esnext.iterator.reduce.js';
10
18
  import 'react-virtual';
11
19
  import '../../../../configs/useRowFlattenization.js';
12
- import '@babel/runtime/helpers/esm/defineProperty';
20
+ import 'core-js/modules/esnext.async-iterator.map.js';
21
+ import 'core-js/modules/esnext.iterator.map.js';
13
22
  import '@elliemae/ds-icons';
14
23
  import '../../../../styled.js';
15
24
  import 'react/jsx-runtime';
16
- import '@elliemae/ds-form/Checkbox';
17
- import '@elliemae/ds-form/Radio';
25
+ import '@elliemae/ds-form';
18
26
  import '../../../../parts/TableContent.js';
19
27
  import '@elliemae/ds-grid';
20
28
  import '@elliemae/ds-circular-progress-indicator';
21
- import '@elliemae/ds-icons/WarningTriangle';
22
29
  import '@elliemae/ds-system';
23
30
  import '../../../../DataTableContext.js';
24
31
  import '../../../../parts/Row.js';
25
32
  import '../../../../parts/Footer.js';
26
- import '@elliemae/ds-icons/GripperVertical';
27
33
  import '../../../../parts/HoC/SortableItemContext.js';
28
- import '@elliemae/ds-icons/MoreOptionsVert';
29
- import '@elliemae/ds-utilities/hooks';
34
+ import '@elliemae/ds-utilities';
30
35
  import 'uid';
31
36
  import { FILTER_TYPES } from '../../../../exported-related/FilterTypes.js';
32
37
  import '../../../../exported-related/Filters/applyOutOfTheBoxFilters.js';
33
38
  import 'moment';
39
+ import 'core-js/modules/esnext.async-iterator.some.js';
40
+ import 'core-js/modules/esnext.iterator.some.js';
34
41
 
35
- const MultiSelectFilter = ({
36
- column,
37
- ctx,
38
- onValueChange,
39
- patchHeaderFilterButtonAndMenu,
40
- patchHeader,
41
- reduxHeader,
42
- filterValue,
43
- innerRef
44
- }) => /*#__PURE__*/_jsx(BaseSelectFilter, {
45
- reduxHeader: reduxHeader,
46
- "data-testid": DATA_TESTID.DATA_TABLE_MULTISELECT_CONTROLLER,
47
- isMulti: true,
48
- column: column,
49
- ctx: ctx,
50
- selectedItems: filterValue !== null && filterValue !== void 0 ? filterValue : [],
51
- type: FILTER_TYPES.MULTI_SELECT,
52
- onValueChange: onValueChange,
53
- patchHeaderFilterButtonAndMenu: patchHeaderFilterButtonAndMenu,
54
- patchHeader: patchHeader,
55
- innerRef: innerRef
56
- });
42
+ const MultiSelectFilter = _ref => {
43
+ let {
44
+ column,
45
+ ctx,
46
+ onValueChange,
47
+ patchHeaderFilterButtonAndMenu,
48
+ patchHeader,
49
+ reduxHeader,
50
+ filterValue,
51
+ innerRef
52
+ } = _ref;
53
+ return /*#__PURE__*/_jsx(BaseSelectFilter, {
54
+ reduxHeader: reduxHeader,
55
+ "data-testid": DATA_TESTID.DATA_TABLE_MULTISELECT_CONTROLLER,
56
+ isMulti: true,
57
+ column: column,
58
+ ctx: ctx,
59
+ selectedItems: filterValue !== null && filterValue !== void 0 ? filterValue : [],
60
+ type: FILTER_TYPES.MULTI_SELECT,
61
+ onValueChange: onValueChange,
62
+ patchHeaderFilterButtonAndMenu: patchHeaderFilterButtonAndMenu,
63
+ patchHeader: patchHeader,
64
+ innerRef: innerRef
65
+ });
66
+ };
57
67
 
58
68
  export { MultiSelectFilter };