@elliemae/ds-data-table 3.5.0-rc.7 → 3.5.1-next.0

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 (249) hide show
  1. package/dist/cjs/DataTable.js +19 -13
  2. package/dist/cjs/DataTable.js.map +2 -2
  3. package/dist/cjs/addons/Columns/ColumnDragHandle/ColumnDragHandle.js +14 -14
  4. package/dist/cjs/addons/Columns/ColumnDragHandle/ColumnDragHandle.js.map +2 -2
  5. package/dist/cjs/addons/Columns/ColumnExpand/ColumnExpand.js +49 -43
  6. package/dist/cjs/addons/Columns/ColumnExpand/ColumnExpand.js.map +2 -2
  7. package/dist/cjs/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js +20 -18
  8. package/dist/cjs/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js.map +2 -2
  9. package/dist/cjs/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js +19 -17
  10. package/dist/cjs/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js.map +2 -2
  11. package/dist/cjs/addons/Editables/ComboboxEditableCell/ComboboxEditableCell.js +4 -3
  12. package/dist/cjs/addons/Editables/ComboboxEditableCell/ComboboxEditableCell.js.map +2 -2
  13. package/dist/cjs/addons/Editables/DateEditableCell/DateEditableCell.js +4 -3
  14. package/dist/cjs/addons/Editables/DateEditableCell/DateEditableCell.js.map +2 -2
  15. package/dist/cjs/addons/Editables/TextEditableCell/TextEditableCell.js +4 -3
  16. package/dist/cjs/addons/Editables/TextEditableCell/TextEditableCell.js.map +2 -2
  17. package/dist/cjs/addons/Filters/Components/CurrencyRangeFilter/index.js +52 -36
  18. package/dist/cjs/addons/Filters/Components/CurrencyRangeFilter/index.js.map +3 -3
  19. package/dist/cjs/addons/Filters/Components/DateRangeFilter/index.js +31 -24
  20. package/dist/cjs/addons/Filters/Components/DateRangeFilter/index.js.map +2 -2
  21. package/dist/cjs/addons/Filters/Components/DateSwitcherFilter/index.js +62 -51
  22. package/dist/cjs/addons/Filters/Components/DateSwitcherFilter/index.js.map +2 -2
  23. package/dist/cjs/addons/Filters/Components/NumberRangeFilter/index.js +52 -36
  24. package/dist/cjs/addons/Filters/Components/NumberRangeFilter/index.js.map +3 -3
  25. package/dist/cjs/addons/Filters/Components/SelectFilter/BaseSelectFilter.js +30 -18
  26. package/dist/cjs/addons/Filters/Components/SelectFilter/BaseSelectFilter.js.map +3 -3
  27. package/dist/cjs/addons/Filters/Components/SelectFilter/MultiCreatableFilter.js +2 -2
  28. package/dist/cjs/addons/Filters/Components/SelectFilter/MultiCreatableFilter.js.map +2 -2
  29. package/dist/cjs/addons/Filters/Components/SelectFilter/MultiSelectFilter.js +2 -2
  30. package/dist/cjs/addons/Filters/Components/SelectFilter/MultiSelectFilter.js.map +2 -2
  31. package/dist/cjs/addons/Filters/Components/SelectFilter/SingleCreatableFilter.js +2 -2
  32. package/dist/cjs/addons/Filters/Components/SelectFilter/SingleCreatableFilter.js.map +2 -2
  33. package/dist/cjs/addons/Filters/Components/SelectFilter/SingleSelectFilter.js +2 -2
  34. package/dist/cjs/addons/Filters/Components/SelectFilter/SingleSelectFilter.js.map +2 -2
  35. package/dist/cjs/addons/Filters/Components/SingleDateFilter/index.js +28 -21
  36. package/dist/cjs/addons/Filters/Components/SingleDateFilter/index.js.map +2 -2
  37. package/dist/cjs/addons/Pagination/Pagination.js +3 -2
  38. package/dist/cjs/addons/Pagination/Pagination.js.map +2 -2
  39. package/dist/cjs/exported-related/EditableCell.js +18 -8
  40. package/dist/cjs/exported-related/EditableCell.js.map +2 -2
  41. package/dist/cjs/exported-related/FilterBar/FilterBarDropdownMenu.js +24 -20
  42. package/dist/cjs/exported-related/FilterBar/FilterBarDropdownMenu.js.map +2 -2
  43. package/dist/cjs/exported-related/FilterPopover.js +52 -39
  44. package/dist/cjs/exported-related/FilterPopover.js.map +2 -2
  45. package/dist/cjs/exported-related/RowRenderer/DefaultRowContentRenderer.js +43 -35
  46. package/dist/cjs/exported-related/RowRenderer/DefaultRowContentRenderer.js.map +2 -2
  47. package/dist/cjs/exported-related/RowRenderer/index.js +34 -27
  48. package/dist/cjs/exported-related/RowRenderer/index.js.map +2 -2
  49. package/dist/cjs/exported-related/Toolbar/Toolbar.js +25 -16
  50. package/dist/cjs/exported-related/Toolbar/Toolbar.js.map +2 -2
  51. package/dist/cjs/parts/Cells/Cell.js +28 -19
  52. package/dist/cjs/parts/Cells/Cell.js.map +2 -2
  53. package/dist/cjs/parts/Cells/index.js +42 -40
  54. package/dist/cjs/parts/Cells/index.js.map +2 -2
  55. package/dist/cjs/parts/DnDHandle.js +5 -3
  56. package/dist/cjs/parts/DnDHandle.js.map +2 -2
  57. package/dist/cjs/parts/DropIndicator.js +20 -14
  58. package/dist/cjs/parts/DropIndicator.js.map +2 -2
  59. package/dist/cjs/parts/EmptyContent.js +28 -15
  60. package/dist/cjs/parts/EmptyContent.js.map +1 -1
  61. package/dist/cjs/parts/FilterBar/FiltersBar.js +50 -45
  62. package/dist/cjs/parts/FilterBar/FiltersBar.js.map +1 -1
  63. package/dist/cjs/parts/FilterBar/components/DateRangePill.js +16 -10
  64. package/dist/cjs/parts/FilterBar/components/DateRangePill.js.map +2 -2
  65. package/dist/cjs/parts/FilterBar/components/DateSwitcherPill.js +16 -10
  66. package/dist/cjs/parts/FilterBar/components/DateSwitcherPill.js.map +2 -2
  67. package/dist/cjs/parts/FilterBar/components/MultiSelectPill.js +16 -11
  68. package/dist/cjs/parts/FilterBar/components/MultiSelectPill.js.map +2 -2
  69. package/dist/cjs/parts/FilterBar/components/NumberRangePill.js +16 -10
  70. package/dist/cjs/parts/FilterBar/components/NumberRangePill.js.map +2 -2
  71. package/dist/cjs/parts/FilterBar/components/SelectPill.js +16 -10
  72. package/dist/cjs/parts/FilterBar/components/SelectPill.js.map +2 -2
  73. package/dist/cjs/parts/FilterBar/components/SingleDatePill.js +16 -10
  74. package/dist/cjs/parts/FilterBar/components/SingleDatePill.js.map +2 -2
  75. package/dist/cjs/parts/Filters/index.js +4 -3
  76. package/dist/cjs/parts/Filters/index.js.map +2 -2
  77. package/dist/cjs/parts/Footer.js +4 -2
  78. package/dist/cjs/parts/Footer.js.map +2 -2
  79. package/dist/cjs/parts/Headers/EmptyChildrenGroup.js +2 -2
  80. package/dist/cjs/parts/Headers/EmptyChildrenGroup.js.map +2 -2
  81. package/dist/cjs/parts/Headers/HeaderCell.js +62 -44
  82. package/dist/cjs/parts/Headers/HeaderCell.js.map +2 -2
  83. package/dist/cjs/parts/Headers/HeaderCellGroup.js +31 -24
  84. package/dist/cjs/parts/Headers/HeaderCellGroup.js.map +2 -2
  85. package/dist/cjs/parts/Headers/HeaderCellTitle.js +19 -13
  86. package/dist/cjs/parts/Headers/HeaderCellTitle.js.map +2 -2
  87. package/dist/cjs/parts/Headers/HeaderResizer.js +3 -2
  88. package/dist/cjs/parts/Headers/HeaderResizer.js.map +2 -2
  89. package/dist/cjs/parts/Headers/RequiredDot.js +10 -9
  90. package/dist/cjs/parts/Headers/RequiredDot.js.map +2 -2
  91. package/dist/cjs/parts/Headers/index.js +19 -16
  92. package/dist/cjs/parts/Headers/index.js.map +2 -2
  93. package/dist/cjs/parts/HoC/withConditionalDnDColumnContext.js +19 -11
  94. package/dist/cjs/parts/HoC/withConditionalDnDColumnContext.js.map +1 -1
  95. package/dist/cjs/parts/HoC/withConditionalDnDRowContext.js +33 -25
  96. package/dist/cjs/parts/HoC/withConditionalDnDRowContext.js.map +1 -1
  97. package/dist/cjs/parts/HoC/withConditionalDnDSortableContext.js +9 -7
  98. package/dist/cjs/parts/HoC/withConditionalDnDSortableContext.js.map +2 -2
  99. package/dist/cjs/parts/HoC/withDnDSortableColumnContext.js +8 -6
  100. package/dist/cjs/parts/HoC/withDnDSortableColumnContext.js.map +2 -2
  101. package/dist/cjs/parts/HoC/withDnDSortableRowContext.js +8 -6
  102. package/dist/cjs/parts/HoC/withDnDSortableRowContext.js.map +2 -2
  103. package/dist/cjs/parts/Loader.js +12 -10
  104. package/dist/cjs/parts/Loader.js.map +2 -2
  105. package/dist/cjs/parts/Row.js +13 -11
  106. package/dist/cjs/parts/Row.js.map +2 -2
  107. package/dist/cjs/parts/RowVariants/RowVariantHeader.js +25 -17
  108. package/dist/cjs/parts/RowVariants/RowVariantHeader.js.map +2 -2
  109. package/dist/cjs/parts/RowVariants/RowVariantPrimary.js +2 -2
  110. package/dist/cjs/parts/RowVariants/RowVariantPrimary.js.map +2 -2
  111. package/dist/cjs/parts/RowVariants/RowVariantSecondary.js +2 -2
  112. package/dist/cjs/parts/RowVariants/RowVariantSecondary.js.map +2 -2
  113. package/dist/cjs/parts/RowVariants/RowVariantSkeleton.js +4 -3
  114. package/dist/cjs/parts/RowVariants/RowVariantSkeleton.js.map +2 -2
  115. package/dist/cjs/parts/RowVariants/index.js +4 -4
  116. package/dist/cjs/parts/RowVariants/index.js.map +2 -2
  117. package/dist/cjs/parts/Rows.js +28 -25
  118. package/dist/cjs/parts/Rows.js.map +2 -2
  119. package/dist/cjs/parts/SortByCaret.js +14 -9
  120. package/dist/cjs/parts/SortByCaret.js.map +2 -2
  121. package/dist/cjs/parts/TableContent.js +15 -9
  122. package/dist/cjs/parts/TableContent.js.map +1 -1
  123. package/dist/cjs/parts/VirtualRowsList.js +22 -9
  124. package/dist/cjs/parts/VirtualRowsList.js.map +2 -2
  125. package/dist/esm/DataTable.js +19 -13
  126. package/dist/esm/DataTable.js.map +2 -2
  127. package/dist/esm/addons/Columns/ColumnDragHandle/ColumnDragHandle.js +14 -14
  128. package/dist/esm/addons/Columns/ColumnDragHandle/ColumnDragHandle.js.map +2 -2
  129. package/dist/esm/addons/Columns/ColumnExpand/ColumnExpand.js +49 -43
  130. package/dist/esm/addons/Columns/ColumnExpand/ColumnExpand.js.map +2 -2
  131. package/dist/esm/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js +20 -18
  132. package/dist/esm/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js.map +2 -2
  133. package/dist/esm/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js +19 -17
  134. package/dist/esm/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js.map +2 -2
  135. package/dist/esm/addons/Editables/ComboboxEditableCell/ComboboxEditableCell.js +4 -3
  136. package/dist/esm/addons/Editables/ComboboxEditableCell/ComboboxEditableCell.js.map +2 -2
  137. package/dist/esm/addons/Editables/DateEditableCell/DateEditableCell.js +4 -3
  138. package/dist/esm/addons/Editables/DateEditableCell/DateEditableCell.js.map +2 -2
  139. package/dist/esm/addons/Editables/TextEditableCell/TextEditableCell.js +4 -3
  140. package/dist/esm/addons/Editables/TextEditableCell/TextEditableCell.js.map +2 -2
  141. package/dist/esm/addons/Filters/Components/CurrencyRangeFilter/index.js +52 -36
  142. package/dist/esm/addons/Filters/Components/CurrencyRangeFilter/index.js.map +3 -3
  143. package/dist/esm/addons/Filters/Components/DateRangeFilter/index.js +31 -24
  144. package/dist/esm/addons/Filters/Components/DateRangeFilter/index.js.map +2 -2
  145. package/dist/esm/addons/Filters/Components/DateSwitcherFilter/index.js +62 -51
  146. package/dist/esm/addons/Filters/Components/DateSwitcherFilter/index.js.map +2 -2
  147. package/dist/esm/addons/Filters/Components/NumberRangeFilter/index.js +52 -36
  148. package/dist/esm/addons/Filters/Components/NumberRangeFilter/index.js.map +3 -3
  149. package/dist/esm/addons/Filters/Components/SelectFilter/BaseSelectFilter.js +30 -18
  150. package/dist/esm/addons/Filters/Components/SelectFilter/BaseSelectFilter.js.map +3 -3
  151. package/dist/esm/addons/Filters/Components/SelectFilter/MultiCreatableFilter.js +2 -2
  152. package/dist/esm/addons/Filters/Components/SelectFilter/MultiCreatableFilter.js.map +2 -2
  153. package/dist/esm/addons/Filters/Components/SelectFilter/MultiSelectFilter.js +2 -2
  154. package/dist/esm/addons/Filters/Components/SelectFilter/MultiSelectFilter.js.map +2 -2
  155. package/dist/esm/addons/Filters/Components/SelectFilter/SingleCreatableFilter.js +2 -2
  156. package/dist/esm/addons/Filters/Components/SelectFilter/SingleCreatableFilter.js.map +2 -2
  157. package/dist/esm/addons/Filters/Components/SelectFilter/SingleSelectFilter.js +2 -2
  158. package/dist/esm/addons/Filters/Components/SelectFilter/SingleSelectFilter.js.map +2 -2
  159. package/dist/esm/addons/Filters/Components/SingleDateFilter/index.js +28 -21
  160. package/dist/esm/addons/Filters/Components/SingleDateFilter/index.js.map +2 -2
  161. package/dist/esm/addons/Pagination/Pagination.js +3 -2
  162. package/dist/esm/addons/Pagination/Pagination.js.map +2 -2
  163. package/dist/esm/exported-related/EditableCell.js +18 -8
  164. package/dist/esm/exported-related/EditableCell.js.map +2 -2
  165. package/dist/esm/exported-related/FilterBar/FilterBarDropdownMenu.js +24 -20
  166. package/dist/esm/exported-related/FilterBar/FilterBarDropdownMenu.js.map +2 -2
  167. package/dist/esm/exported-related/FilterPopover.js +52 -39
  168. package/dist/esm/exported-related/FilterPopover.js.map +2 -2
  169. package/dist/esm/exported-related/RowRenderer/DefaultRowContentRenderer.js +43 -35
  170. package/dist/esm/exported-related/RowRenderer/DefaultRowContentRenderer.js.map +2 -2
  171. package/dist/esm/exported-related/RowRenderer/index.js +34 -27
  172. package/dist/esm/exported-related/RowRenderer/index.js.map +2 -2
  173. package/dist/esm/exported-related/Toolbar/Toolbar.js +25 -16
  174. package/dist/esm/exported-related/Toolbar/Toolbar.js.map +2 -2
  175. package/dist/esm/parts/Cells/Cell.js +28 -19
  176. package/dist/esm/parts/Cells/Cell.js.map +2 -2
  177. package/dist/esm/parts/Cells/index.js +42 -40
  178. package/dist/esm/parts/Cells/index.js.map +2 -2
  179. package/dist/esm/parts/DnDHandle.js +5 -3
  180. package/dist/esm/parts/DnDHandle.js.map +2 -2
  181. package/dist/esm/parts/DropIndicator.js +20 -14
  182. package/dist/esm/parts/DropIndicator.js.map +2 -2
  183. package/dist/esm/parts/EmptyContent.js +28 -15
  184. package/dist/esm/parts/EmptyContent.js.map +1 -1
  185. package/dist/esm/parts/FilterBar/FiltersBar.js +50 -45
  186. package/dist/esm/parts/FilterBar/FiltersBar.js.map +1 -1
  187. package/dist/esm/parts/FilterBar/components/DateRangePill.js +16 -10
  188. package/dist/esm/parts/FilterBar/components/DateRangePill.js.map +2 -2
  189. package/dist/esm/parts/FilterBar/components/DateSwitcherPill.js +16 -10
  190. package/dist/esm/parts/FilterBar/components/DateSwitcherPill.js.map +2 -2
  191. package/dist/esm/parts/FilterBar/components/MultiSelectPill.js +16 -11
  192. package/dist/esm/parts/FilterBar/components/MultiSelectPill.js.map +2 -2
  193. package/dist/esm/parts/FilterBar/components/NumberRangePill.js +16 -10
  194. package/dist/esm/parts/FilterBar/components/NumberRangePill.js.map +2 -2
  195. package/dist/esm/parts/FilterBar/components/SelectPill.js +16 -10
  196. package/dist/esm/parts/FilterBar/components/SelectPill.js.map +2 -2
  197. package/dist/esm/parts/FilterBar/components/SingleDatePill.js +16 -10
  198. package/dist/esm/parts/FilterBar/components/SingleDatePill.js.map +2 -2
  199. package/dist/esm/parts/Filters/index.js +4 -3
  200. package/dist/esm/parts/Filters/index.js.map +2 -2
  201. package/dist/esm/parts/Footer.js +4 -2
  202. package/dist/esm/parts/Footer.js.map +2 -2
  203. package/dist/esm/parts/Headers/EmptyChildrenGroup.js +2 -2
  204. package/dist/esm/parts/Headers/EmptyChildrenGroup.js.map +2 -2
  205. package/dist/esm/parts/Headers/HeaderCell.js +62 -44
  206. package/dist/esm/parts/Headers/HeaderCell.js.map +2 -2
  207. package/dist/esm/parts/Headers/HeaderCellGroup.js +31 -24
  208. package/dist/esm/parts/Headers/HeaderCellGroup.js.map +2 -2
  209. package/dist/esm/parts/Headers/HeaderCellTitle.js +19 -13
  210. package/dist/esm/parts/Headers/HeaderCellTitle.js.map +2 -2
  211. package/dist/esm/parts/Headers/HeaderResizer.js +3 -2
  212. package/dist/esm/parts/Headers/HeaderResizer.js.map +2 -2
  213. package/dist/esm/parts/Headers/RequiredDot.js +10 -9
  214. package/dist/esm/parts/Headers/RequiredDot.js.map +2 -2
  215. package/dist/esm/parts/Headers/index.js +19 -16
  216. package/dist/esm/parts/Headers/index.js.map +2 -2
  217. package/dist/esm/parts/HoC/withConditionalDnDColumnContext.js +19 -11
  218. package/dist/esm/parts/HoC/withConditionalDnDColumnContext.js.map +1 -1
  219. package/dist/esm/parts/HoC/withConditionalDnDRowContext.js +33 -25
  220. package/dist/esm/parts/HoC/withConditionalDnDRowContext.js.map +1 -1
  221. package/dist/esm/parts/HoC/withConditionalDnDSortableContext.js +9 -7
  222. package/dist/esm/parts/HoC/withConditionalDnDSortableContext.js.map +2 -2
  223. package/dist/esm/parts/HoC/withDnDSortableColumnContext.js +8 -6
  224. package/dist/esm/parts/HoC/withDnDSortableColumnContext.js.map +2 -2
  225. package/dist/esm/parts/HoC/withDnDSortableRowContext.js +8 -6
  226. package/dist/esm/parts/HoC/withDnDSortableRowContext.js.map +2 -2
  227. package/dist/esm/parts/Loader.js +12 -10
  228. package/dist/esm/parts/Loader.js.map +2 -2
  229. package/dist/esm/parts/Row.js +13 -11
  230. package/dist/esm/parts/Row.js.map +2 -2
  231. package/dist/esm/parts/RowVariants/RowVariantHeader.js +25 -17
  232. package/dist/esm/parts/RowVariants/RowVariantHeader.js.map +2 -2
  233. package/dist/esm/parts/RowVariants/RowVariantPrimary.js +2 -2
  234. package/dist/esm/parts/RowVariants/RowVariantPrimary.js.map +2 -2
  235. package/dist/esm/parts/RowVariants/RowVariantSecondary.js +2 -2
  236. package/dist/esm/parts/RowVariants/RowVariantSecondary.js.map +2 -2
  237. package/dist/esm/parts/RowVariants/RowVariantSkeleton.js +4 -3
  238. package/dist/esm/parts/RowVariants/RowVariantSkeleton.js.map +2 -2
  239. package/dist/esm/parts/RowVariants/index.js +4 -4
  240. package/dist/esm/parts/RowVariants/index.js.map +2 -2
  241. package/dist/esm/parts/Rows.js +28 -25
  242. package/dist/esm/parts/Rows.js.map +2 -2
  243. package/dist/esm/parts/SortByCaret.js +14 -9
  244. package/dist/esm/parts/SortByCaret.js.map +2 -2
  245. package/dist/esm/parts/TableContent.js +15 -9
  246. package/dist/esm/parts/TableContent.js.map +1 -1
  247. package/dist/esm/parts/VirtualRowsList.js +22 -9
  248. package/dist/esm/parts/VirtualRowsList.js.map +2 -2
  249. package/package.json +18 -18
@@ -1,5 +1,6 @@
1
1
  import * as React from "react";
2
- import React2, { useRef, useCallback } from "react";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import { useRef, useEffect, useCallback } from "react";
3
4
  import { Grid } from "@elliemae/ds-grid";
4
5
  import { DSInputMask, MASK_TYPES } from "@elliemae/ds-form";
5
6
  import { DSFormLayoutBlockItem } from "@elliemae/ds-form-layout-blocks";
@@ -18,6 +19,7 @@ const opts = {
18
19
  const CurrencyRangeFilter = (props) => {
19
20
  const { column, filterValue = { from: null, to: null }, reduxHeader, patchHeader, onValueChange, innerRef } = props;
20
21
  const ref = useRef();
22
+ const shouldFocus = useRef();
21
23
  const handleFromChange = (e) => {
22
24
  const nextValue = {
23
25
  ...filterValue,
@@ -42,52 +44,66 @@ const CurrencyRangeFilter = (props) => {
42
44
  (newRef) => {
43
45
  if (ref.current)
44
46
  ref.current = newRef;
45
- if (!reduxHeader?.hideFilterMenu) {
46
- setTimeout(() => newRef?.focus());
47
+ if (shouldFocus.current) {
48
+ setTimeout(() => {
49
+ newRef?.focus();
50
+ shouldFocus.current = false;
51
+ });
47
52
  }
48
53
  },
49
- [reduxHeader?.hideFilterMenu]
54
+ [shouldFocus]
50
55
  );
56
+ useEffect(() => {
57
+ if (reduxHeader?.hideFilterMenu) {
58
+ shouldFocus.current = true;
59
+ }
60
+ }, [reduxHeader?.hideFilterMenu]);
51
61
  const idPreffix = "datatable-currency-range";
52
- return /* @__PURE__ */ React2.createElement(FilterPopover, {
62
+ return /* @__PURE__ */ jsx(FilterPopover, {
53
63
  reduxHeader,
54
64
  column,
55
65
  columnId: column.id,
56
- menuContent: /* @__PURE__ */ React2.createElement(Grid, {
66
+ menuContent: /* @__PURE__ */ jsxs(Grid, {
57
67
  "data-testid": DATA_TESTID.DATA_TABLE_CURRENCY_RANGE_CONTROLLER,
58
68
  gutter: "xxxs",
59
69
  padding: "xxs",
60
70
  cols: ["auto", "auto"],
61
- style: { background: "white" }
62
- }, /* @__PURE__ */ React2.createElement(DSFormLayoutBlockItem, {
63
- label: "Min",
64
- inputID: `${idPreffix}-min-${column.id}`
65
- }, /* @__PURE__ */ React2.createElement(DSInputMask, {
66
- containerProps: { style: { textAlign: "right" } },
67
- id: `${idPreffix}-min-${column.id}`,
68
- value: `${filterValue?.from ?? ""}`,
69
- onChange: handleFromChange,
70
- placeholder: "0.00",
71
- mask: (number) => MASK_TYPES.NUMBER(opts)(number),
72
- innerRef: handleRef,
73
- onKeyDown: (e) => {
74
- closePopover(e);
75
- }
76
- })), /* @__PURE__ */ React2.createElement(DSFormLayoutBlockItem, {
77
- label: "Max",
78
- inputID: `${idPreffix}-max-${column.id}`
79
- }, /* @__PURE__ */ React2.createElement(DSInputMask, {
80
- containerProps: { style: { textAlign: "right" } },
81
- id: `${idPreffix}-max-${column.id}`,
82
- value: `${filterValue?.to ?? ""}`,
83
- onChange: handleToChange,
84
- placeholder: "0.00",
85
- mask: (number) => MASK_TYPES.NUMBER(opts)(number),
86
- onKeyDown: (e) => {
87
- closePopover(e);
88
- }
89
- }))),
90
- triggerIcon: /* @__PURE__ */ React2.createElement(SearchXsmall, null),
71
+ style: { background: "white" },
72
+ children: [
73
+ /* @__PURE__ */ jsx(DSFormLayoutBlockItem, {
74
+ label: "Min",
75
+ inputID: `${idPreffix}-min-${column.id}`,
76
+ children: /* @__PURE__ */ jsx(DSInputMask, {
77
+ containerProps: { style: { textAlign: "right" } },
78
+ id: `${idPreffix}-min-${column.id}`,
79
+ value: `${filterValue?.from ?? ""}`,
80
+ onChange: handleFromChange,
81
+ placeholder: "0.00",
82
+ mask: (number) => MASK_TYPES.NUMBER(opts)(number),
83
+ innerRef: handleRef,
84
+ onKeyDown: (e) => {
85
+ closePopover(e);
86
+ }
87
+ })
88
+ }),
89
+ /* @__PURE__ */ jsx(DSFormLayoutBlockItem, {
90
+ label: "Max",
91
+ inputID: `${idPreffix}-max-${column.id}`,
92
+ children: /* @__PURE__ */ jsx(DSInputMask, {
93
+ containerProps: { style: { textAlign: "right" } },
94
+ id: `${idPreffix}-max-${column.id}`,
95
+ value: `${filterValue?.to ?? ""}`,
96
+ onChange: handleToChange,
97
+ placeholder: "0.00",
98
+ mask: (number) => MASK_TYPES.NUMBER(opts)(number),
99
+ onKeyDown: (e) => {
100
+ closePopover(e);
101
+ }
102
+ })
103
+ })
104
+ ]
105
+ }),
106
+ triggerIcon: /* @__PURE__ */ jsx(SearchXsmall, {}),
91
107
  customStyles: { width: column.ref?.current?.offsetWidth ?? "0px" },
92
108
  innerRef,
93
109
  ariaLabel: "Open Currency Range Filter"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../../src/addons/Filters/Components/CurrencyRangeFilter/index.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useRef, useCallback } from 'react';\nimport { Grid } from '@elliemae/ds-grid';\nimport { DSInputMask, MASK_TYPES } from '@elliemae/ds-form';\nimport { DSFormLayoutBlockItem } from '@elliemae/ds-form-layout-blocks';\nimport { SearchXsmall } from '@elliemae/ds-icons';\nimport { FilterPopover, FILTER_TYPES } from '../../../../exported-related';\nimport { FilterProps } from '../../../../types/props';\nimport { DATA_TESTID } from '../../../../configs/constants';\n\nconst opts = {\n prefix: '',\n suffix: '',\n allowDecimal: true,\n decimalLimit: 2,\n includeThousandsSeparator: false,\n requireDecimal: true,\n allowNegative: true,\n};\n\nexport const CurrencyRangeFilter: React.ComponentType<FilterProps> = (props) => {\n const { column, filterValue = { from: null, to: null }, reduxHeader, patchHeader, onValueChange, innerRef } = props;\n\n const ref = useRef();\n const handleFromChange = (e) => {\n const nextValue = {\n ...filterValue,\n from: e.target.value,\n };\n onValueChange(FILTER_TYPES.CURRENCY_RANGE, nextValue);\n };\n const handleToChange = (e) => {\n const nextValue = {\n ...filterValue,\n to: e.target.value,\n };\n onValueChange(FILTER_TYPES.CURRENCY_RANGE, nextValue);\n };\n\n // workaround to close menu with esc key since DSInputMask has stoppropagation on key down\n const closePopover = (e) => {\n if (e.code === 'Escape') {\n patchHeader(column.id, { hideFilterMenu: true, hideFilterButton: false });\n innerRef.current.focus();\n }\n };\n\n const handleRef = useCallback(\n (newRef) => {\n if (ref.current) ref.current = newRef;\n if (!reduxHeader?.hideFilterMenu) {\n setTimeout(() => newRef?.focus());\n }\n },\n [reduxHeader?.hideFilterMenu],\n );\n\n const idPreffix = 'datatable-currency-range';\n return (\n <FilterPopover\n reduxHeader={reduxHeader}\n column={column}\n columnId={column.id}\n menuContent={\n <Grid\n data-testid={DATA_TESTID.DATA_TABLE_CURRENCY_RANGE_CONTROLLER}\n gutter=\"xxxs\"\n padding=\"xxs\"\n cols={['auto', 'auto']}\n style={{ background: 'white' }}\n >\n <DSFormLayoutBlockItem label=\"Min\" inputID={`${idPreffix}-min-${column.id}`}>\n <DSInputMask\n containerProps={{ style: { textAlign: 'right' } }}\n id={`${idPreffix}-min-${column.id}`}\n value={`${filterValue?.from ?? ''}`}\n onChange={handleFromChange}\n placeholder=\"0.00\"\n mask={(number) => MASK_TYPES.NUMBER(opts)(number)}\n innerRef={handleRef}\n onKeyDown={(e) => {\n closePopover(e);\n }}\n />\n </DSFormLayoutBlockItem>\n <DSFormLayoutBlockItem label=\"Max\" inputID={`${idPreffix}-max-${column.id}`}>\n <DSInputMask\n containerProps={{ style: { textAlign: 'right' } }}\n id={`${idPreffix}-max-${column.id}`}\n value={`${filterValue?.to ?? ''}`}\n onChange={handleToChange}\n placeholder=\"0.00\"\n mask={(number) => MASK_TYPES.NUMBER(opts)(number)}\n onKeyDown={(e) => {\n closePopover(e);\n }}\n />\n </DSFormLayoutBlockItem>\n </Grid>\n }\n triggerIcon={<SearchXsmall />}\n customStyles={{ width: column.ref?.current?.offsetWidth ?? '0px' }}\n innerRef={innerRef}\n ariaLabel=\"Open Currency Range Filter\"\n />\n );\n};\n"],
5
- "mappings": "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",
6
- "names": ["React"]
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useRef, useEffect, useCallback } from 'react';\nimport { Grid } from '@elliemae/ds-grid';\nimport { DSInputMask, MASK_TYPES } from '@elliemae/ds-form';\nimport { DSFormLayoutBlockItem } from '@elliemae/ds-form-layout-blocks';\nimport { SearchXsmall } from '@elliemae/ds-icons';\nimport { FilterPopover, FILTER_TYPES } from '../../../../exported-related';\nimport { FilterProps } from '../../../../types/props';\nimport { DATA_TESTID } from '../../../../configs/constants';\n\nconst opts = {\n prefix: '',\n suffix: '',\n allowDecimal: true,\n decimalLimit: 2,\n includeThousandsSeparator: false,\n requireDecimal: true,\n allowNegative: true,\n};\n\nexport const CurrencyRangeFilter: React.ComponentType<FilterProps> = (props) => {\n const { column, filterValue = { from: null, to: null }, reduxHeader, patchHeader, onValueChange, innerRef } = props;\n\n const ref = useRef();\n const shouldFocus = useRef();\n const handleFromChange = (e) => {\n const nextValue = {\n ...filterValue,\n from: e.target.value,\n };\n onValueChange(FILTER_TYPES.CURRENCY_RANGE, nextValue);\n };\n const handleToChange = (e) => {\n const nextValue = {\n ...filterValue,\n to: e.target.value,\n };\n onValueChange(FILTER_TYPES.CURRENCY_RANGE, nextValue);\n };\n\n // workaround to close menu with esc key since DSInputMask has stoppropagation on key down\n const closePopover = (e) => {\n if (e.code === 'Escape') {\n patchHeader(column.id, { hideFilterMenu: true, hideFilterButton: false });\n innerRef.current.focus();\n }\n };\n\n const handleRef = useCallback(\n (newRef) => {\n if (ref.current) ref.current = newRef;\n if (shouldFocus.current) {\n setTimeout(() => {\n newRef?.focus();\n shouldFocus.current = false;\n });\n }\n },\n [shouldFocus],\n );\n\n useEffect(() => {\n if (reduxHeader?.hideFilterMenu) {\n shouldFocus.current = true;\n }\n }, [reduxHeader?.hideFilterMenu]);\n\n const idPreffix = 'datatable-currency-range';\n return (\n <FilterPopover\n reduxHeader={reduxHeader}\n column={column}\n columnId={column.id}\n menuContent={\n <Grid\n data-testid={DATA_TESTID.DATA_TABLE_CURRENCY_RANGE_CONTROLLER}\n gutter=\"xxxs\"\n padding=\"xxs\"\n cols={['auto', 'auto']}\n style={{ background: 'white' }}\n >\n <DSFormLayoutBlockItem label=\"Min\" inputID={`${idPreffix}-min-${column.id}`}>\n <DSInputMask\n containerProps={{ style: { textAlign: 'right' } }}\n id={`${idPreffix}-min-${column.id}`}\n value={`${filterValue?.from ?? ''}`}\n onChange={handleFromChange}\n placeholder=\"0.00\"\n mask={(number) => MASK_TYPES.NUMBER(opts)(number)}\n innerRef={handleRef}\n onKeyDown={(e) => {\n closePopover(e);\n }}\n />\n </DSFormLayoutBlockItem>\n <DSFormLayoutBlockItem label=\"Max\" inputID={`${idPreffix}-max-${column.id}`}>\n <DSInputMask\n containerProps={{ style: { textAlign: 'right' } }}\n id={`${idPreffix}-max-${column.id}`}\n value={`${filterValue?.to ?? ''}`}\n onChange={handleToChange}\n placeholder=\"0.00\"\n mask={(number) => MASK_TYPES.NUMBER(opts)(number)}\n onKeyDown={(e) => {\n closePopover(e);\n }}\n />\n </DSFormLayoutBlockItem>\n </Grid>\n }\n triggerIcon={<SearchXsmall />}\n customStyles={{ width: column.ref?.current?.offsetWidth ?? '0px' }}\n innerRef={innerRef}\n ariaLabel=\"Open Currency Range Filter\"\n />\n );\n};\n"],
5
+ "mappings": "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",
6
+ "names": []
7
7
  }
@@ -1,5 +1,6 @@
1
1
  import * as React from "react";
2
- import React2, { useEffect, useCallback, useRef, useState } from "react";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import { useEffect, useCallback, useRef, useState } from "react";
3
4
  import { DatePicker2 } from "@elliemae/ds-icons";
4
5
  import { Grid } from "@elliemae/ds-grid";
5
6
  import { DSControlledDateRangePicker } from "@elliemae/ds-controlled-form";
@@ -45,33 +46,39 @@ const DateRangeFilter = (props) => {
45
46
  shouldFocus.current = true;
46
47
  }
47
48
  }, [reduxHeader?.hideFilterMenu]);
48
- return /* @__PURE__ */ React2.createElement(FilterPopover, {
49
+ return /* @__PURE__ */ jsx(FilterPopover, {
49
50
  reduxHeader,
50
51
  column,
51
52
  columnId: id,
52
- menuContent: /* @__PURE__ */ React2.createElement(Grid, {
53
+ menuContent: /* @__PURE__ */ jsxs(Grid, {
53
54
  width: "260px",
54
- "data-testid": DATA_TESTID.DATA_TABLE_DATE_RANGE_CONTROLLER
55
- }, /* @__PURE__ */ React2.createElement(Grid, {
56
- p: "xxs",
57
- style: { background: "white" }
58
- }, /* @__PURE__ */ React2.createElement(DSControlledDateRangePicker, {
59
- fromDate: startDate,
60
- onFromDateChange: setStartDate,
61
- toDate: endDate,
62
- onToDateChange: setEndDate,
63
- type: "date-range-inputs",
64
- innerRef: handleRef
65
- })), /* @__PURE__ */ React2.createElement(Grid, {
66
- onKeyDown: (e) => e.code === "Enter" && setTimeout(() => patchHeaderFilterButtonAndMenu(id, !!(dateRange.startDate || dateRange.endDate)), 0)
67
- }, /* @__PURE__ */ React2.createElement(DSControlledDateRangePicker, {
68
- fromDate: startDate,
69
- onFromDateChange: setStartDate,
70
- toDate: endDate,
71
- onToDateChange: setEndDate,
72
- type: "date-range-picker-controller-only"
73
- }))),
74
- triggerIcon: /* @__PURE__ */ React2.createElement(DatePicker2, null),
55
+ "data-testid": DATA_TESTID.DATA_TABLE_DATE_RANGE_CONTROLLER,
56
+ children: [
57
+ /* @__PURE__ */ jsx(Grid, {
58
+ p: "xxs",
59
+ style: { background: "white" },
60
+ children: /* @__PURE__ */ jsx(DSControlledDateRangePicker, {
61
+ fromDate: startDate,
62
+ onFromDateChange: setStartDate,
63
+ toDate: endDate,
64
+ onToDateChange: setEndDate,
65
+ type: "date-range-inputs",
66
+ innerRef: handleRef
67
+ })
68
+ }),
69
+ /* @__PURE__ */ jsx(Grid, {
70
+ onKeyDown: (e) => e.code === "Enter" && setTimeout(() => patchHeaderFilterButtonAndMenu(id, !!(dateRange.startDate || dateRange.endDate)), 0),
71
+ children: /* @__PURE__ */ jsx(DSControlledDateRangePicker, {
72
+ fromDate: startDate,
73
+ onFromDateChange: setStartDate,
74
+ toDate: endDate,
75
+ onToDateChange: setEndDate,
76
+ type: "date-range-picker-controller-only"
77
+ })
78
+ })
79
+ ]
80
+ }),
81
+ triggerIcon: /* @__PURE__ */ jsx(DatePicker2, {}),
75
82
  innerRef,
76
83
  ariaLabel: "Open Date Range Filter"
77
84
  });
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../../src/addons/Filters/Components/DateRangeFilter/index.tsx"],
4
4
  "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useEffect, useCallback, useRef, useState } from 'react';\nimport { DatePicker2 } from '@elliemae/ds-icons';\nimport { Grid } from '@elliemae/ds-grid';\nimport { DSControlledDateRangePicker } from '@elliemae/ds-controlled-form';\nimport { FilterPopover, FILTER_TYPES } from '../../../../exported-related';\nimport { FilterProps } from '../../../../types/props';\nimport { DATA_TESTID } from '../../../../configs/constants';\n\nconst emptyFilterValue = { startDate: null, endDate: null };\n\nexport const DateRangeFilter: React.ComponentType<FilterProps> = (props) => {\n const {\n column,\n column: { id },\n filterValue = emptyFilterValue,\n onValueChange,\n patchHeaderFilterButtonAndMenu,\n reduxHeader,\n innerRef,\n } = props;\n\n const dateRange = filterValue;\n\n const [startDate, setStartDate] = useState(dateRange.startDate || '');\n const [endDate, setEndDate] = useState(dateRange.endDate || '');\n\n useEffect(() => {\n setStartDate(dateRange.startDate || '');\n setEndDate(dateRange.endDate || '');\n }, [dateRange]);\n\n useEffect(() => {\n if (startDate && endDate && !startDate.includes('_') && !endDate.includes('_')) {\n onValueChange(FILTER_TYPES.DATE_RANGE, { startDate, endDate });\n }\n // We are missing onValueChange on purpose, this is an internal function and won't cause any problems\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [startDate, endDate]);\n\n const ref = useRef();\n const shouldFocus = useRef(true);\n const handleRef = useCallback((newRef) => {\n if (ref.current) ref.current = newRef;\n if (shouldFocus.current) {\n setTimeout(() => {\n newRef?.focus();\n shouldFocus.current = false;\n });\n }\n }, []);\n\n useEffect(() => {\n if (reduxHeader?.hideFilterMenu) {\n shouldFocus.current = true;\n }\n }, [reduxHeader?.hideFilterMenu]);\n\n return (\n <FilterPopover\n reduxHeader={reduxHeader}\n column={column}\n columnId={id}\n menuContent={\n <Grid width=\"260px\" data-testid={DATA_TESTID.DATA_TABLE_DATE_RANGE_CONTROLLER}>\n <Grid p=\"xxs\" style={{ background: 'white' }}>\n <DSControlledDateRangePicker\n fromDate={startDate}\n onFromDateChange={setStartDate}\n toDate={endDate}\n onToDateChange={setEndDate}\n type=\"date-range-inputs\"\n innerRef={handleRef}\n />\n </Grid>\n <Grid\n onKeyDown={(e) =>\n e.code === 'Enter' &&\n setTimeout(() => patchHeaderFilterButtonAndMenu(id, !!(dateRange.startDate || dateRange.endDate)), 0)\n }\n >\n <DSControlledDateRangePicker\n fromDate={startDate}\n onFromDateChange={setStartDate}\n toDate={endDate}\n onToDateChange={setEndDate}\n type=\"date-range-picker-controller-only\"\n />\n </Grid>\n </Grid>\n }\n triggerIcon={<DatePicker2 />}\n innerRef={innerRef}\n ariaLabel=\"Open Date Range Filter\"\n />\n );\n};\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACAvB,OAAOA,UAAS,WAAW,aAAa,QAAQ,gBAAgB;AAChE,SAAS,mBAAmB;AAC5B,SAAS,YAAY;AACrB,SAAS,mCAAmC;AAC5C,SAAS,eAAe,oBAAoB;AAE5C,SAAS,mBAAmB;AAE5B,MAAM,mBAAmB,EAAE,WAAW,MAAM,SAAS,KAAK;AAEnD,MAAM,kBAAoD,CAAC,UAAU;AAC1E,QAAM;AAAA,IACJ;AAAA,IACA,QAAQ,EAAE,GAAG;AAAA,IACb,cAAc;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AAEJ,QAAM,YAAY;AAElB,QAAM,CAAC,WAAW,YAAY,IAAI,SAAS,UAAU,aAAa,EAAE;AACpE,QAAM,CAAC,SAAS,UAAU,IAAI,SAAS,UAAU,WAAW,EAAE;AAE9D,YAAU,MAAM;AACd,iBAAa,UAAU,aAAa,EAAE;AACtC,eAAW,UAAU,WAAW,EAAE;AAAA,EACpC,GAAG,CAAC,SAAS,CAAC;AAEd,YAAU,MAAM;AACd,QAAI,aAAa,WAAW,CAAC,UAAU,SAAS,GAAG,KAAK,CAAC,QAAQ,SAAS,GAAG,GAAG;AAC9E,oBAAc,aAAa,YAAY,EAAE,WAAW,QAAQ,CAAC;AAAA,IAC/D;AAAA,EAGF,GAAG,CAAC,WAAW,OAAO,CAAC;AAEvB,QAAM,MAAM,OAAO;AACnB,QAAM,cAAc,OAAO,IAAI;AAC/B,QAAM,YAAY,YAAY,CAAC,WAAW;AACxC,QAAI,IAAI;AAAS,UAAI,UAAU;AAC/B,QAAI,YAAY,SAAS;AACvB,iBAAW,MAAM;AACf,gBAAQ,MAAM;AACd,oBAAY,UAAU;AAAA,MACxB,CAAC;AAAA,IACH;AAAA,EACF,GAAG,CAAC,CAAC;AAEL,YAAU,MAAM;AACd,QAAI,aAAa,gBAAgB;AAC/B,kBAAY,UAAU;AAAA,IACxB;AAAA,EACF,GAAG,CAAC,aAAa,cAAc,CAAC;AAEhC,SACE,gBAAAA,OAAA,cAAC;AAAA,IACC;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV,aACE,gBAAAA,OAAA,cAAC;AAAA,MAAK,OAAM;AAAA,MAAQ,eAAa,YAAY;AAAA,OAC3C,gBAAAA,OAAA,cAAC;AAAA,MAAK,GAAE;AAAA,MAAM,OAAO,EAAE,YAAY,QAAQ;AAAA,OACzC,gBAAAA,OAAA,cAAC;AAAA,MACC,UAAU;AAAA,MACV,kBAAkB;AAAA,MAClB,QAAQ;AAAA,MACR,gBAAgB;AAAA,MAChB,MAAK;AAAA,MACL,UAAU;AAAA,KACZ,CACF,GACA,gBAAAA,OAAA,cAAC;AAAA,MACC,WAAW,CAAC,MACV,EAAE,SAAS,WACX,WAAW,MAAM,+BAA+B,IAAI,CAAC,EAAE,UAAU,aAAa,UAAU,QAAQ,GAAG,CAAC;AAAA,OAGtG,gBAAAA,OAAA,cAAC;AAAA,MACC,UAAU;AAAA,MACV,kBAAkB;AAAA,MAClB,QAAQ;AAAA,MACR,gBAAgB;AAAA,MAChB,MAAK;AAAA,KACP,CACF,CACF;AAAA,IAEF,aAAa,gBAAAA,OAAA,cAAC,iBAAY;AAAA,IAC1B;AAAA,IACA,WAAU;AAAA,GACZ;AAEJ;",
6
- "names": ["React"]
5
+ "mappings": "AAAA,YAAY,WAAW;ACAvB;AAAA,SAAgB,WAAW,aAAa,QAAQ,gBAAgB;AAChE,SAAS,mBAAmB;AAC5B,SAAS,YAAY;AACrB,SAAS,mCAAmC;AAC5C,SAAS,eAAe,oBAAoB;AAE5C,SAAS,mBAAmB;AAE5B,MAAM,mBAAmB,EAAE,WAAW,MAAM,SAAS,KAAK;AAEnD,MAAM,kBAAoD,CAAC,UAAU;AAC1E,QAAM;AAAA,IACJ;AAAA,IACA,QAAQ,EAAE,GAAG;AAAA,IACb,cAAc;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AAEJ,QAAM,YAAY;AAElB,QAAM,CAAC,WAAW,YAAY,IAAI,SAAS,UAAU,aAAa,EAAE;AACpE,QAAM,CAAC,SAAS,UAAU,IAAI,SAAS,UAAU,WAAW,EAAE;AAE9D,YAAU,MAAM;AACd,iBAAa,UAAU,aAAa,EAAE;AACtC,eAAW,UAAU,WAAW,EAAE;AAAA,EACpC,GAAG,CAAC,SAAS,CAAC;AAEd,YAAU,MAAM;AACd,QAAI,aAAa,WAAW,CAAC,UAAU,SAAS,GAAG,KAAK,CAAC,QAAQ,SAAS,GAAG,GAAG;AAC9E,oBAAc,aAAa,YAAY,EAAE,WAAW,QAAQ,CAAC;AAAA,IAC/D;AAAA,EAGF,GAAG,CAAC,WAAW,OAAO,CAAC;AAEvB,QAAM,MAAM,OAAO;AACnB,QAAM,cAAc,OAAO,IAAI;AAC/B,QAAM,YAAY,YAAY,CAAC,WAAW;AACxC,QAAI,IAAI;AAAS,UAAI,UAAU;AAC/B,QAAI,YAAY,SAAS;AACvB,iBAAW,MAAM;AACf,gBAAQ,MAAM;AACd,oBAAY,UAAU;AAAA,MACxB,CAAC;AAAA,IACH;AAAA,EACF,GAAG,CAAC,CAAC;AAEL,YAAU,MAAM;AACd,QAAI,aAAa,gBAAgB;AAC/B,kBAAY,UAAU;AAAA,IACxB;AAAA,EACF,GAAG,CAAC,aAAa,cAAc,CAAC;AAEhC,SACE,oBAAC;AAAA,IACC;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV,aACE,qBAAC;AAAA,MAAK,OAAM;AAAA,MAAQ,eAAa,YAAY;AAAA,MAC3C;AAAA,4BAAC;AAAA,UAAK,GAAE;AAAA,UAAM,OAAO,EAAE,YAAY,QAAQ;AAAA,UACzC,8BAAC;AAAA,YACC,UAAU;AAAA,YACV,kBAAkB;AAAA,YAClB,QAAQ;AAAA,YACR,gBAAgB;AAAA,YAChB,MAAK;AAAA,YACL,UAAU;AAAA,WACZ;AAAA,SACF;AAAA,QACA,oBAAC;AAAA,UACC,WAAW,CAAC,MACV,EAAE,SAAS,WACX,WAAW,MAAM,+BAA+B,IAAI,CAAC,EAAE,UAAU,aAAa,UAAU,QAAQ,GAAG,CAAC;AAAA,UAGtG,8BAAC;AAAA,YACC,UAAU;AAAA,YACV,kBAAkB;AAAA,YAClB,QAAQ;AAAA,YACR,gBAAgB;AAAA,YAChB,MAAK;AAAA,WACP;AAAA,SACF;AAAA;AAAA,KACF;AAAA,IAEF,aAAa,oBAAC,eAAY;AAAA,IAC1B;AAAA,IACA,WAAU;AAAA,GACZ;AAEJ;",
6
+ "names": []
7
7
  }
@@ -1,5 +1,6 @@
1
1
  import * as React from "react";
2
- import React2, { useEffect, useRef, useCallback, useState } from "react";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import { useEffect, useRef, useCallback, useState } from "react";
3
4
  import { DatePicker2 } from "@elliemae/ds-icons";
4
5
  import { Grid } from "@elliemae/ds-grid";
5
6
  import {
@@ -44,60 +45,70 @@ const DateSwitcherFilter = (props) => {
44
45
  },
45
46
  [reduxHeader?.hideFilterMenu]
46
47
  );
47
- return /* @__PURE__ */ React2.createElement(FilterPopover, {
48
+ return /* @__PURE__ */ jsx(FilterPopover, {
48
49
  reduxHeader,
49
50
  column,
50
51
  columnId: id,
51
- menuContent: /* @__PURE__ */ React2.createElement(Grid, {
52
+ menuContent: /* @__PURE__ */ jsxs(Grid, {
52
53
  width: "260px",
53
- "data-testid": DATA_TESTID.DATA_TABLE_DATE_RANGE_CONTROLLER
54
- }, /* @__PURE__ */ React2.createElement(Grid, {
55
- p: "xxs",
56
- gutter: "xxs",
57
- style: { background: "white" }
58
- }, /* @__PURE__ */ React2.createElement("div", {
59
- "data-testid": DATA_TESTID.DATA_TABLE_DATE_RANGE_CONTROLLER_CHECKBOX_SWITCHER
60
- }, /* @__PURE__ */ React2.createElement(DSControlledCheckbox, {
61
- checked: isDateRange,
62
- name: "Date range",
63
- label: "Date Range",
64
- id: "date-range-switcher-id-internal",
65
- onChange: () => {
66
- setIsDateRange(!isDateRange);
67
- setStartDate("");
68
- setEndDate("");
69
- },
70
- innerRef: handleRef
71
- })), isDateRange ? /* @__PURE__ */ React2.createElement(DSControlledDateRangePicker, {
72
- fromDate: startDate,
73
- onFromDateChange: setStartDate,
74
- toDate: endDate,
75
- onToDateChange: setEndDate,
76
- type: "date-range-inputs"
77
- }) : /* @__PURE__ */ React2.createElement(DSControlledDateTimePicker, {
78
- date: startDate,
79
- onDateChange: (_date) => {
80
- setStartDate(_date);
81
- setEndDate(_date);
82
- },
83
- type: "date-inputs"
84
- })), /* @__PURE__ */ React2.createElement(Grid, {
85
- onKeyDown: (e) => e.code === "Enter" && setTimeout(() => patchHeaderFilterButtonAndMenu(id, !!(dateRange.startDate || dateRange.endDate)), 0)
86
- }, isDateRange ? /* @__PURE__ */ React2.createElement(DSControlledDateRangePicker, {
87
- fromDate: startDate,
88
- onFromDateChange: setStartDate,
89
- toDate: endDate,
90
- onToDateChange: setEndDate,
91
- type: "date-range-picker-controller-only"
92
- }) : /* @__PURE__ */ React2.createElement(DSControlledDateTimePicker, {
93
- date: startDate,
94
- onDateChange: (_date) => {
95
- setStartDate(_date);
96
- setEndDate(_date);
97
- },
98
- type: "date-picker-controller-only"
99
- }))),
100
- triggerIcon: /* @__PURE__ */ React2.createElement(DatePicker2, null),
54
+ "data-testid": DATA_TESTID.DATA_TABLE_DATE_RANGE_CONTROLLER,
55
+ children: [
56
+ /* @__PURE__ */ jsxs(Grid, {
57
+ p: "xxs",
58
+ gutter: "xxs",
59
+ style: { background: "white" },
60
+ children: [
61
+ /* @__PURE__ */ jsx("div", {
62
+ "data-testid": DATA_TESTID.DATA_TABLE_DATE_RANGE_CONTROLLER_CHECKBOX_SWITCHER,
63
+ children: /* @__PURE__ */ jsx(DSControlledCheckbox, {
64
+ checked: isDateRange,
65
+ name: "Date range",
66
+ label: "Date Range",
67
+ id: "date-range-switcher-id-internal",
68
+ onChange: () => {
69
+ setIsDateRange(!isDateRange);
70
+ setStartDate("");
71
+ setEndDate("");
72
+ },
73
+ innerRef: handleRef
74
+ })
75
+ }),
76
+ isDateRange ? /* @__PURE__ */ jsx(DSControlledDateRangePicker, {
77
+ fromDate: startDate,
78
+ onFromDateChange: setStartDate,
79
+ toDate: endDate,
80
+ onToDateChange: setEndDate,
81
+ type: "date-range-inputs"
82
+ }) : /* @__PURE__ */ jsx(DSControlledDateTimePicker, {
83
+ date: startDate,
84
+ onDateChange: (_date) => {
85
+ setStartDate(_date);
86
+ setEndDate(_date);
87
+ },
88
+ type: "date-inputs"
89
+ })
90
+ ]
91
+ }),
92
+ /* @__PURE__ */ jsx(Grid, {
93
+ onKeyDown: (e) => e.code === "Enter" && setTimeout(() => patchHeaderFilterButtonAndMenu(id, !!(dateRange.startDate || dateRange.endDate)), 0),
94
+ children: isDateRange ? /* @__PURE__ */ jsx(DSControlledDateRangePicker, {
95
+ fromDate: startDate,
96
+ onFromDateChange: setStartDate,
97
+ toDate: endDate,
98
+ onToDateChange: setEndDate,
99
+ type: "date-range-picker-controller-only"
100
+ }) : /* @__PURE__ */ jsx(DSControlledDateTimePicker, {
101
+ date: startDate,
102
+ onDateChange: (_date) => {
103
+ setStartDate(_date);
104
+ setEndDate(_date);
105
+ },
106
+ type: "date-picker-controller-only"
107
+ })
108
+ })
109
+ ]
110
+ }),
111
+ triggerIcon: /* @__PURE__ */ jsx(DatePicker2, {}),
101
112
  innerRef,
102
113
  ariaLabel: "Open Date Range Filter"
103
114
  });
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../../src/addons/Filters/Components/DateSwitcherFilter/index.tsx"],
4
4
  "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport React, { useEffect, useRef, useCallback, useState } from 'react';\nimport { DatePicker2 } from '@elliemae/ds-icons';\nimport { Grid } from '@elliemae/ds-grid';\nimport {\n DSControlledDateRangePicker,\n DSControlledDateTimePicker,\n DSControlledCheckbox,\n} from '@elliemae/ds-controlled-form';\nimport { FilterPopover, FILTER_TYPES } from '../../../../exported-related';\nimport { FilterProps } from '../../../../types/props';\nimport { DATA_TESTID } from '../../../../configs/constants';\n\nconst emptyFilterValue = { startDate: null, endDate: null };\n\nexport const DateSwitcherFilter: React.ComponentType<FilterProps> = (props) => {\n const {\n column,\n column: { id },\n filterValue = emptyFilterValue,\n onValueChange,\n patchHeaderFilterButtonAndMenu,\n reduxHeader,\n innerRef,\n } = props;\n\n const ref = useRef();\n const dateRange = filterValue;\n\n const [startDate, setStartDate] = useState(dateRange.startDate || '');\n const [endDate, setEndDate] = useState(dateRange.endDate || '');\n const [isDateRange, setIsDateRange] = useState(false);\n\n useEffect(() => {\n setStartDate(dateRange.startDate || '');\n setEndDate(dateRange.endDate || '');\n }, [dateRange]);\n\n useEffect(() => {\n if (startDate && endDate && !startDate.includes('_') && !endDate.includes('_')) {\n onValueChange(FILTER_TYPES.DATE_SWITCHER, { startDate, endDate, isDateRange });\n }\n // We are missing onValueChange on purpose, this is an internal function and won't cause any problems\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [startDate, endDate, isDateRange]);\n\n const handleRef = useCallback(\n (newRef) => {\n if (ref.current) ref.current = newRef;\n if (!reduxHeader?.hideFilterMenu) {\n setTimeout(() => newRef?.focus());\n }\n },\n [reduxHeader?.hideFilterMenu],\n );\n\n return (\n <FilterPopover\n reduxHeader={reduxHeader}\n column={column}\n columnId={id}\n menuContent={\n <Grid width=\"260px\" data-testid={DATA_TESTID.DATA_TABLE_DATE_RANGE_CONTROLLER}>\n <Grid p=\"xxs\" gutter=\"xxs\" style={{ background: 'white' }}>\n <div data-testid={DATA_TESTID.DATA_TABLE_DATE_RANGE_CONTROLLER_CHECKBOX_SWITCHER}>\n <DSControlledCheckbox\n checked={isDateRange}\n name=\"Date range\"\n label=\"Date Range\"\n id=\"date-range-switcher-id-internal\"\n onChange={() => {\n setIsDateRange(!isDateRange);\n setStartDate('');\n setEndDate('');\n }}\n innerRef={handleRef}\n />\n </div>\n {isDateRange ? (\n <DSControlledDateRangePicker\n fromDate={startDate}\n onFromDateChange={setStartDate}\n toDate={endDate}\n onToDateChange={setEndDate}\n type=\"date-range-inputs\"\n />\n ) : (\n <DSControlledDateTimePicker\n date={startDate}\n onDateChange={(_date) => {\n setStartDate(_date);\n setEndDate(_date);\n }}\n type=\"date-inputs\"\n />\n )}\n </Grid>\n <Grid\n onKeyDown={(e) =>\n e.code === 'Enter' &&\n setTimeout(() => patchHeaderFilterButtonAndMenu(id, !!(dateRange.startDate || dateRange.endDate)), 0)\n }\n >\n {isDateRange ? (\n <DSControlledDateRangePicker\n fromDate={startDate}\n onFromDateChange={setStartDate}\n toDate={endDate}\n onToDateChange={setEndDate}\n type=\"date-range-picker-controller-only\"\n />\n ) : (\n <DSControlledDateTimePicker\n date={startDate}\n onDateChange={(_date) => {\n setStartDate(_date);\n setEndDate(_date);\n }}\n type=\"date-picker-controller-only\"\n />\n )}\n </Grid>\n </Grid>\n }\n triggerIcon={<DatePicker2 />}\n innerRef={innerRef}\n ariaLabel=\"Open Date Range Filter\"\n />\n );\n};\n"],
5
- "mappings": "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",
6
- "names": ["React"]
5
+ "mappings": "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",
6
+ "names": []
7
7
  }
@@ -1,5 +1,6 @@
1
1
  import * as React from "react";
2
- import React2, { useRef, useCallback } from "react";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import { useRef, useEffect, useCallback } from "react";
3
4
  import { Grid } from "@elliemae/ds-grid";
4
5
  import { DSInputMask, MASK_TYPES } from "@elliemae/ds-form";
5
6
  import { DSFormLayoutBlockItem } from "@elliemae/ds-form-layout-blocks";
@@ -40,55 +41,70 @@ const NumberRangeFilter = (props) => {
40
41
  };
41
42
  const idPreffix = "datatable-number-range";
42
43
  const ref = useRef();
44
+ const shouldFocus = useRef(true);
43
45
  const handleRef = useCallback(
44
46
  (newRef) => {
45
47
  if (ref.current)
46
48
  ref.current = newRef;
47
- if (!reduxHeader?.hideFilterMenu) {
48
- setTimeout(() => newRef?.focus());
49
+ if (shouldFocus.current) {
50
+ setTimeout(() => {
51
+ newRef?.focus();
52
+ shouldFocus.current = false;
53
+ });
49
54
  }
50
55
  },
51
- [reduxHeader?.hideFilterMenu]
56
+ [shouldFocus]
52
57
  );
53
- return /* @__PURE__ */ React2.createElement(FilterPopover, {
58
+ useEffect(() => {
59
+ if (reduxHeader?.hideFilterMenu) {
60
+ shouldFocus.current = true;
61
+ }
62
+ }, [reduxHeader?.hideFilterMenu]);
63
+ return /* @__PURE__ */ jsx(FilterPopover, {
54
64
  reduxHeader,
55
65
  column,
56
66
  columnId: column.id,
57
- menuContent: /* @__PURE__ */ React2.createElement(Grid, {
67
+ menuContent: /* @__PURE__ */ jsxs(Grid, {
58
68
  "data-testid": DATA_TESTID.DATA_TABLE_NUMBER_RANGE_CONTROLLER,
59
69
  gutter: "xxxs",
60
70
  padding: "xxs",
61
71
  cols: ["auto", "auto"],
62
- style: { background: "white" }
63
- }, /* @__PURE__ */ React2.createElement(DSFormLayoutBlockItem, {
64
- label: "Low",
65
- inputID: `${idPreffix}-low-${column.id}`
66
- }, /* @__PURE__ */ React2.createElement(DSInputMask, {
67
- containerProps: { style: { textAlign: "right" } },
68
- id: `${idPreffix}-low-${column.id}`,
69
- value: `${filterValue?.from ?? ""}`,
70
- onChange: handleFromChange,
71
- placeholder: "0",
72
- mask: (number) => MASK_TYPES.NUMBER(opts)(number),
73
- innerRef: handleRef,
74
- onKeyDown: (e) => {
75
- closePopover(e);
76
- }
77
- })), /* @__PURE__ */ React2.createElement(DSFormLayoutBlockItem, {
78
- label: "High",
79
- inputID: `${idPreffix}-high-${column.id}`
80
- }, /* @__PURE__ */ React2.createElement(DSInputMask, {
81
- containerProps: { style: { textAlign: "right" } },
82
- id: `${idPreffix}-high-${column.id}`,
83
- value: `${filterValue?.to ?? ""}`,
84
- onChange: handleToChange,
85
- placeholder: "0",
86
- mask: (number) => MASK_TYPES.NUMBER(opts)(number),
87
- onKeyDown: (e) => {
88
- closePopover(e);
89
- }
90
- }))),
91
- triggerIcon: /* @__PURE__ */ React2.createElement(SearchXsmall, null),
72
+ style: { background: "white" },
73
+ children: [
74
+ /* @__PURE__ */ jsx(DSFormLayoutBlockItem, {
75
+ label: "Low",
76
+ inputID: `${idPreffix}-low-${column.id}`,
77
+ children: /* @__PURE__ */ jsx(DSInputMask, {
78
+ containerProps: { style: { textAlign: "right" } },
79
+ id: `${idPreffix}-low-${column.id}`,
80
+ value: `${filterValue?.from ?? ""}`,
81
+ onChange: handleFromChange,
82
+ placeholder: "0",
83
+ mask: (number) => MASK_TYPES.NUMBER(opts)(number),
84
+ innerRef: handleRef,
85
+ onKeyDown: (e) => {
86
+ closePopover(e);
87
+ }
88
+ })
89
+ }),
90
+ /* @__PURE__ */ jsx(DSFormLayoutBlockItem, {
91
+ label: "High",
92
+ inputID: `${idPreffix}-high-${column.id}`,
93
+ children: /* @__PURE__ */ jsx(DSInputMask, {
94
+ containerProps: { style: { textAlign: "right" } },
95
+ id: `${idPreffix}-high-${column.id}`,
96
+ value: `${filterValue?.to ?? ""}`,
97
+ onChange: handleToChange,
98
+ placeholder: "0",
99
+ mask: (number) => MASK_TYPES.NUMBER(opts)(number),
100
+ onKeyDown: (e) => {
101
+ closePopover(e);
102
+ }
103
+ })
104
+ })
105
+ ]
106
+ }),
107
+ triggerIcon: /* @__PURE__ */ jsx(SearchXsmall, {}),
92
108
  customStyles: { width: column.ref?.current?.offsetWidth ?? "0px" },
93
109
  innerRef,
94
110
  ariaLabel: "Open Number Range Filter"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../../src/addons/Filters/Components/NumberRangeFilter/index.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useRef, useCallback } from 'react';\nimport { Grid } from '@elliemae/ds-grid';\nimport { DSInputMask, MASK_TYPES } from '@elliemae/ds-form';\nimport { DSFormLayoutBlockItem } from '@elliemae/ds-form-layout-blocks';\nimport { SearchXsmall } from '@elliemae/ds-icons';\nimport { FilterPopover, FILTER_TYPES } from '../../../../exported-related';\nimport { FilterProps } from '../../../../types/props';\nimport { DATA_TESTID } from '../../../../configs/constants';\n\nconst opts = {\n prefix: '',\n suffix: '',\n allowDecimal: false,\n includeThousandsSeparator: false,\n requireDecimal: false,\n allowNegative: true,\n};\n\nexport const NumberRangeFilter: React.ComponentType<FilterProps> = (props) => {\n const { column, filterValue = { from: null, to: null }, reduxHeader, patchHeader, onValueChange, innerRef } = props;\n\n const handleFromChange = (e) => {\n const from = e.target.value !== '' ? parseInt(e.target.value, 10) : '';\n const nextValue = {\n ...filterValue,\n from,\n };\n onValueChange(FILTER_TYPES.CURRENCY_RANGE, nextValue);\n };\n const handleToChange = (e) => {\n const to = e.target.value !== '' ? parseInt(e.target.value, 10) : '';\n const nextValue = {\n ...filterValue,\n to,\n };\n onValueChange(FILTER_TYPES.CURRENCY_RANGE, nextValue);\n };\n\n // workaround to close menu with esc key since DSInputMask has stoppropagation on key down\n const closePopover = (e) => {\n if (e.code === 'Escape') {\n patchHeader(column.id, { hideFilterMenu: true, hideFilterButton: false });\n innerRef.current.focus();\n }\n };\n const idPreffix = 'datatable-number-range';\n\n const ref = useRef();\n const handleRef = useCallback(\n (newRef) => {\n if (ref.current) ref.current = newRef;\n if (!reduxHeader?.hideFilterMenu) {\n setTimeout(() => newRef?.focus());\n }\n },\n [reduxHeader?.hideFilterMenu],\n );\n\n return (\n <FilterPopover\n reduxHeader={reduxHeader}\n column={column}\n columnId={column.id}\n menuContent={\n <Grid\n data-testid={DATA_TESTID.DATA_TABLE_NUMBER_RANGE_CONTROLLER}\n gutter=\"xxxs\"\n padding=\"xxs\"\n cols={['auto', 'auto']}\n style={{ background: 'white' }}\n >\n <DSFormLayoutBlockItem label=\"Low\" inputID={`${idPreffix}-low-${column.id}`}>\n <DSInputMask\n containerProps={{ style: { textAlign: 'right' } }}\n id={`${idPreffix}-low-${column.id}`}\n value={`${filterValue?.from ?? ''}`}\n onChange={handleFromChange}\n placeholder=\"0\"\n mask={(number) => MASK_TYPES.NUMBER(opts)(number)}\n innerRef={handleRef}\n onKeyDown={(e) => {\n closePopover(e);\n }}\n />\n </DSFormLayoutBlockItem>\n <DSFormLayoutBlockItem label=\"High\" inputID={`${idPreffix}-high-${column.id}`}>\n <DSInputMask\n containerProps={{ style: { textAlign: 'right' } }}\n id={`${idPreffix}-high-${column.id}`}\n value={`${filterValue?.to ?? ''}`}\n onChange={handleToChange}\n placeholder=\"0\"\n mask={(number) => MASK_TYPES.NUMBER(opts)(number)}\n onKeyDown={(e) => {\n closePopover(e);\n }}\n />\n </DSFormLayoutBlockItem>\n </Grid>\n }\n triggerIcon={<SearchXsmall />}\n customStyles={{ width: column.ref?.current?.offsetWidth ?? '0px' }}\n innerRef={innerRef}\n ariaLabel=\"Open Number Range Filter\"\n />\n );\n};\n"],
5
- "mappings": "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",
6
- "names": ["React"]
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useRef, useEffect, useCallback } from 'react';\nimport { Grid } from '@elliemae/ds-grid';\nimport { DSInputMask, MASK_TYPES } from '@elliemae/ds-form';\nimport { DSFormLayoutBlockItem } from '@elliemae/ds-form-layout-blocks';\nimport { SearchXsmall } from '@elliemae/ds-icons';\nimport { FilterPopover, FILTER_TYPES } from '../../../../exported-related';\nimport { FilterProps } from '../../../../types/props';\nimport { DATA_TESTID } from '../../../../configs/constants';\n\nconst opts = {\n prefix: '',\n suffix: '',\n allowDecimal: false,\n includeThousandsSeparator: false,\n requireDecimal: false,\n allowNegative: true,\n};\n\nexport const NumberRangeFilter: React.ComponentType<FilterProps> = (props) => {\n const { column, filterValue = { from: null, to: null }, reduxHeader, patchHeader, onValueChange, innerRef } = props;\n\n const handleFromChange = (e) => {\n const from = e.target.value !== '' ? parseInt(e.target.value, 10) : '';\n const nextValue = {\n ...filterValue,\n from,\n };\n onValueChange(FILTER_TYPES.CURRENCY_RANGE, nextValue);\n };\n const handleToChange = (e) => {\n const to = e.target.value !== '' ? parseInt(e.target.value, 10) : '';\n const nextValue = {\n ...filterValue,\n to,\n };\n onValueChange(FILTER_TYPES.CURRENCY_RANGE, nextValue);\n };\n\n // workaround to close menu with esc key since DSInputMask has stoppropagation on key down\n const closePopover = (e) => {\n if (e.code === 'Escape') {\n patchHeader(column.id, { hideFilterMenu: true, hideFilterButton: false });\n innerRef.current.focus();\n }\n };\n const idPreffix = 'datatable-number-range';\n\n const ref = useRef();\n const shouldFocus = useRef(true);\n const handleRef = useCallback(\n (newRef) => {\n if (ref.current) ref.current = newRef;\n if (shouldFocus.current) {\n setTimeout(() => {\n newRef?.focus();\n shouldFocus.current = false;\n });\n }\n },\n [shouldFocus],\n );\n\n useEffect(() => {\n if (reduxHeader?.hideFilterMenu) {\n shouldFocus.current = true;\n }\n }, [reduxHeader?.hideFilterMenu]);\n\n return (\n <FilterPopover\n reduxHeader={reduxHeader}\n column={column}\n columnId={column.id}\n menuContent={\n <Grid\n data-testid={DATA_TESTID.DATA_TABLE_NUMBER_RANGE_CONTROLLER}\n gutter=\"xxxs\"\n padding=\"xxs\"\n cols={['auto', 'auto']}\n style={{ background: 'white' }}\n >\n <DSFormLayoutBlockItem label=\"Low\" inputID={`${idPreffix}-low-${column.id}`}>\n <DSInputMask\n containerProps={{ style: { textAlign: 'right' } }}\n id={`${idPreffix}-low-${column.id}`}\n value={`${filterValue?.from ?? ''}`}\n onChange={handleFromChange}\n placeholder=\"0\"\n mask={(number) => MASK_TYPES.NUMBER(opts)(number)}\n innerRef={handleRef}\n onKeyDown={(e) => {\n closePopover(e);\n }}\n />\n </DSFormLayoutBlockItem>\n <DSFormLayoutBlockItem label=\"High\" inputID={`${idPreffix}-high-${column.id}`}>\n <DSInputMask\n containerProps={{ style: { textAlign: 'right' } }}\n id={`${idPreffix}-high-${column.id}`}\n value={`${filterValue?.to ?? ''}`}\n onChange={handleToChange}\n placeholder=\"0\"\n mask={(number) => MASK_TYPES.NUMBER(opts)(number)}\n onKeyDown={(e) => {\n closePopover(e);\n }}\n />\n </DSFormLayoutBlockItem>\n </Grid>\n }\n triggerIcon={<SearchXsmall />}\n customStyles={{ width: column.ref?.current?.offsetWidth ?? '0px' }}\n innerRef={innerRef}\n ariaLabel=\"Open Number Range Filter\"\n />\n );\n};\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACAvB;AAAA,SAAgB,QAAQ,WAAW,mBAAmB;AACtD,SAAS,YAAY;AACrB,SAAS,aAAa,kBAAkB;AACxC,SAAS,6BAA6B;AACtC,SAAS,oBAAoB;AAC7B,SAAS,eAAe,oBAAoB;AAE5C,SAAS,mBAAmB;AAE5B,MAAM,OAAO;AAAA,EACX,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,2BAA2B;AAAA,EAC3B,gBAAgB;AAAA,EAChB,eAAe;AACjB;AAEO,MAAM,oBAAsD,CAAC,UAAU;AAC5E,QAAM,EAAE,QAAQ,cAAc,EAAE,MAAM,MAAM,IAAI,KAAK,GAAG,aAAa,aAAa,eAAe,SAAS,IAAI;AAE9G,QAAM,mBAAmB,CAAC,MAAM;AAC9B,UAAM,OAAO,EAAE,OAAO,UAAU,KAAK,SAAS,EAAE,OAAO,OAAO,EAAE,IAAI;AACpE,UAAM,YAAY;AAAA,MAChB,GAAG;AAAA,MACH;AAAA,IACF;AACA,kBAAc,aAAa,gBAAgB,SAAS;AAAA,EACtD;AACA,QAAM,iBAAiB,CAAC,MAAM;AAC5B,UAAM,KAAK,EAAE,OAAO,UAAU,KAAK,SAAS,EAAE,OAAO,OAAO,EAAE,IAAI;AAClE,UAAM,YAAY;AAAA,MAChB,GAAG;AAAA,MACH;AAAA,IACF;AACA,kBAAc,aAAa,gBAAgB,SAAS;AAAA,EACtD;AAGA,QAAM,eAAe,CAAC,MAAM;AAC1B,QAAI,EAAE,SAAS,UAAU;AACvB,kBAAY,OAAO,IAAI,EAAE,gBAAgB,MAAM,kBAAkB,MAAM,CAAC;AACxE,eAAS,QAAQ,MAAM;AAAA,IACzB;AAAA,EACF;AACA,QAAM,YAAY;AAElB,QAAM,MAAM,OAAO;AACnB,QAAM,cAAc,OAAO,IAAI;AAC/B,QAAM,YAAY;AAAA,IAChB,CAAC,WAAW;AACV,UAAI,IAAI;AAAS,YAAI,UAAU;AAC/B,UAAI,YAAY,SAAS;AACvB,mBAAW,MAAM;AACf,kBAAQ,MAAM;AACd,sBAAY,UAAU;AAAA,QACxB,CAAC;AAAA,MACH;AAAA,IACF;AAAA,IACA,CAAC,WAAW;AAAA,EACd;AAEA,YAAU,MAAM;AACd,QAAI,aAAa,gBAAgB;AAC/B,kBAAY,UAAU;AAAA,IACxB;AAAA,EACF,GAAG,CAAC,aAAa,cAAc,CAAC;AAEhC,SACE,oBAAC;AAAA,IACC;AAAA,IACA;AAAA,IACA,UAAU,OAAO;AAAA,IACjB,aACE,qBAAC;AAAA,MACC,eAAa,YAAY;AAAA,MACzB,QAAO;AAAA,MACP,SAAQ;AAAA,MACR,MAAM,CAAC,QAAQ,MAAM;AAAA,MACrB,OAAO,EAAE,YAAY,QAAQ;AAAA,MAE7B;AAAA,4BAAC;AAAA,UAAsB,OAAM;AAAA,UAAM,SAAS,GAAG,iBAAiB,OAAO;AAAA,UACrE,8BAAC;AAAA,YACC,gBAAgB,EAAE,OAAO,EAAE,WAAW,QAAQ,EAAE;AAAA,YAChD,IAAI,GAAG,iBAAiB,OAAO;AAAA,YAC/B,OAAO,GAAG,aAAa,QAAQ;AAAA,YAC/B,UAAU;AAAA,YACV,aAAY;AAAA,YACZ,MAAM,CAAC,WAAW,WAAW,OAAO,IAAI,EAAE,MAAM;AAAA,YAChD,UAAU;AAAA,YACV,WAAW,CAAC,MAAM;AAChB,2BAAa,CAAC;AAAA,YAChB;AAAA,WACF;AAAA,SACF;AAAA,QACA,oBAAC;AAAA,UAAsB,OAAM;AAAA,UAAO,SAAS,GAAG,kBAAkB,OAAO;AAAA,UACvE,8BAAC;AAAA,YACC,gBAAgB,EAAE,OAAO,EAAE,WAAW,QAAQ,EAAE;AAAA,YAChD,IAAI,GAAG,kBAAkB,OAAO;AAAA,YAChC,OAAO,GAAG,aAAa,MAAM;AAAA,YAC7B,UAAU;AAAA,YACV,aAAY;AAAA,YACZ,MAAM,CAAC,WAAW,WAAW,OAAO,IAAI,EAAE,MAAM;AAAA,YAChD,WAAW,CAAC,MAAM;AAChB,2BAAa,CAAC;AAAA,YAChB;AAAA,WACF;AAAA,SACF;AAAA;AAAA,KACF;AAAA,IAEF,aAAa,oBAAC,gBAAa;AAAA,IAC3B,cAAc,EAAE,OAAO,OAAO,KAAK,SAAS,eAAe,MAAM;AAAA,IACjE;AAAA,IACA,WAAU;AAAA,GACZ;AAEJ;",
6
+ "names": []
7
7
  }