@elliemae/ds-data-table 3.4.2 → 3.4.3

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 (443) hide show
  1. package/dist/cjs/DataTable.js +23 -14
  2. package/dist/cjs/DataTable.js.map +1 -1
  3. package/dist/cjs/DataTableContext.js +4 -1
  4. package/dist/cjs/DataTableContext.js.map +1 -1
  5. package/dist/cjs/DataTableSchema.js +69 -34
  6. package/dist/cjs/DataTableSchema.js.map +1 -1
  7. package/dist/cjs/addons/Columns/ColumnAction/ColumnAction.js +4 -1
  8. package/dist/cjs/addons/Columns/ColumnAction/ColumnAction.js.map +1 -1
  9. package/dist/cjs/addons/Columns/ColumnDragHandle/ColumnDragHandle.js +18 -15
  10. package/dist/cjs/addons/Columns/ColumnDragHandle/ColumnDragHandle.js.map +1 -1
  11. package/dist/cjs/addons/Columns/ColumnExpand/ColumnExpand.js +106 -79
  12. package/dist/cjs/addons/Columns/ColumnExpand/ColumnExpand.js.map +1 -1
  13. package/dist/cjs/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js +49 -30
  14. package/dist/cjs/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js.map +2 -2
  15. package/dist/cjs/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js +31 -19
  16. package/dist/cjs/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js.map +2 -2
  17. package/dist/cjs/addons/Columns/index.js +4 -1
  18. package/dist/cjs/addons/Columns/index.js.map +1 -1
  19. package/dist/cjs/addons/Editables/ComboboxEditableCell/ComboboxEditableCell.js +8 -4
  20. package/dist/cjs/addons/Editables/ComboboxEditableCell/ComboboxEditableCell.js.map +1 -1
  21. package/dist/cjs/addons/Editables/DateEditableCell/DateEditableCell.js +17 -10
  22. package/dist/cjs/addons/Editables/DateEditableCell/DateEditableCell.js.map +1 -1
  23. package/dist/cjs/addons/Editables/TextEditableCell/TextEditableCell.js +23 -16
  24. package/dist/cjs/addons/Editables/TextEditableCell/TextEditableCell.js.map +1 -1
  25. package/dist/cjs/addons/Editables/index.js +4 -1
  26. package/dist/cjs/addons/Editables/index.js.map +1 -1
  27. package/dist/cjs/addons/Filters/Components/CurrencyRangeFilter/index.js +64 -34
  28. package/dist/cjs/addons/Filters/Components/CurrencyRangeFilter/index.js.map +2 -2
  29. package/dist/cjs/addons/Filters/Components/DateRangeFilter/index.js +52 -25
  30. package/dist/cjs/addons/Filters/Components/DateRangeFilter/index.js.map +2 -2
  31. package/dist/cjs/addons/Filters/Components/DateSwitcherFilter/index.js +77 -52
  32. package/dist/cjs/addons/Filters/Components/DateSwitcherFilter/index.js.map +2 -2
  33. package/dist/cjs/addons/Filters/Components/NumberRangeFilter/index.js +64 -34
  34. package/dist/cjs/addons/Filters/Components/NumberRangeFilter/index.js.map +2 -2
  35. package/dist/cjs/addons/Filters/Components/SelectFilter/BaseSelectFilter.js +41 -20
  36. package/dist/cjs/addons/Filters/Components/SelectFilter/BaseSelectFilter.js.map +2 -2
  37. package/dist/cjs/addons/Filters/Components/SelectFilter/MultiCreatableFilter.js +6 -3
  38. package/dist/cjs/addons/Filters/Components/SelectFilter/MultiCreatableFilter.js.map +1 -1
  39. package/dist/cjs/addons/Filters/Components/SelectFilter/MultiSelectFilter.js +6 -3
  40. package/dist/cjs/addons/Filters/Components/SelectFilter/MultiSelectFilter.js.map +1 -1
  41. package/dist/cjs/addons/Filters/Components/SelectFilter/SingleCreatableFilter.js +6 -3
  42. package/dist/cjs/addons/Filters/Components/SelectFilter/SingleCreatableFilter.js.map +1 -1
  43. package/dist/cjs/addons/Filters/Components/SelectFilter/SingleSelectFilter.js +6 -3
  44. package/dist/cjs/addons/Filters/Components/SelectFilter/SingleSelectFilter.js.map +1 -1
  45. package/dist/cjs/addons/Filters/Components/SingleDateFilter/index.js +49 -22
  46. package/dist/cjs/addons/Filters/Components/SingleDateFilter/index.js.map +2 -2
  47. package/dist/cjs/addons/Filters/Components/index.js +4 -1
  48. package/dist/cjs/addons/Filters/Components/index.js.map +1 -1
  49. package/dist/cjs/addons/Filters/index.js +4 -1
  50. package/dist/cjs/addons/Filters/index.js.map +1 -1
  51. package/dist/cjs/addons/Pagination/Pagination.js +7 -3
  52. package/dist/cjs/addons/Pagination/Pagination.js.map +1 -1
  53. package/dist/cjs/addons/Pagination/index.js +4 -1
  54. package/dist/cjs/addons/Pagination/index.js.map +1 -1
  55. package/dist/cjs/configs/constants.js +4 -1
  56. package/dist/cjs/configs/constants.js.map +2 -2
  57. package/dist/cjs/configs/fixedSizes.js +4 -1
  58. package/dist/cjs/configs/fixedSizes.js.map +1 -1
  59. package/dist/cjs/configs/index.js +4 -1
  60. package/dist/cjs/configs/index.js.map +1 -1
  61. package/dist/cjs/configs/useDatatableConfig.js +54 -37
  62. package/dist/cjs/configs/useDatatableConfig.js.map +1 -1
  63. package/dist/cjs/configs/useInternalStateConfig.js +31 -22
  64. package/dist/cjs/configs/useInternalStateConfig.js.map +2 -2
  65. package/dist/cjs/configs/usePaginationConfig.js +42 -36
  66. package/dist/cjs/configs/usePaginationConfig.js.map +1 -1
  67. package/dist/cjs/configs/useRowFlattenization.js +18 -6
  68. package/dist/cjs/configs/useRowFlattenization.js.map +1 -1
  69. package/dist/cjs/configs/useTableColsWithAddons.js +4 -1
  70. package/dist/cjs/configs/useTableColsWithAddons.js.map +1 -1
  71. package/dist/cjs/configs/zIndexInternalConfig.js +4 -1
  72. package/dist/cjs/configs/zIndexInternalConfig.js.map +1 -1
  73. package/dist/cjs/exported-related/EditableCell.js +50 -28
  74. package/dist/cjs/exported-related/EditableCell.js.map +1 -1
  75. package/dist/cjs/exported-related/FilterBar/FilterBarDropdownMenu.js +46 -30
  76. package/dist/cjs/exported-related/FilterBar/FilterBarDropdownMenu.js.map +2 -2
  77. package/dist/cjs/exported-related/FilterBar/index.js +4 -1
  78. package/dist/cjs/exported-related/FilterBar/index.js.map +1 -1
  79. package/dist/cjs/exported-related/FilterPopover.js +64 -45
  80. package/dist/cjs/exported-related/FilterPopover.js.map +3 -3
  81. package/dist/cjs/exported-related/FilterTypes.js +4 -1
  82. package/dist/cjs/exported-related/FilterTypes.js.map +1 -1
  83. package/dist/cjs/exported-related/Filters/applyOutOfTheBoxFilters.js +4 -1
  84. package/dist/cjs/exported-related/Filters/applyOutOfTheBoxFilters.js.map +1 -1
  85. package/dist/cjs/exported-related/Filters/currencyRangeFilterFn.js +10 -3
  86. package/dist/cjs/exported-related/Filters/currencyRangeFilterFn.js.map +1 -1
  87. package/dist/cjs/exported-related/Filters/dateRangeFilterFn.js +7 -2
  88. package/dist/cjs/exported-related/Filters/dateRangeFilterFn.js.map +1 -1
  89. package/dist/cjs/exported-related/Filters/dateSwitcherFilterFn.js +4 -1
  90. package/dist/cjs/exported-related/Filters/dateSwitcherFilterFn.js.map +1 -1
  91. package/dist/cjs/exported-related/Filters/index.js +4 -1
  92. package/dist/cjs/exported-related/Filters/index.js.map +1 -1
  93. package/dist/cjs/exported-related/Filters/multiSelectFilterFn.js +4 -1
  94. package/dist/cjs/exported-related/Filters/multiSelectFilterFn.js.map +1 -1
  95. package/dist/cjs/exported-related/Filters/numberRangeFilterFn.js +7 -2
  96. package/dist/cjs/exported-related/Filters/numberRangeFilterFn.js.map +1 -1
  97. package/dist/cjs/exported-related/Filters/singleDateFilterFn.js +4 -1
  98. package/dist/cjs/exported-related/Filters/singleDateFilterFn.js.map +1 -1
  99. package/dist/cjs/exported-related/Filters/singleSelectFilterFn.js +4 -1
  100. package/dist/cjs/exported-related/Filters/singleSelectFilterFn.js.map +1 -1
  101. package/dist/cjs/exported-related/Filters/types.js +4 -1
  102. package/dist/cjs/exported-related/Filters/types.js.map +1 -1
  103. package/dist/cjs/exported-related/Filters/utilities.js +4 -1
  104. package/dist/cjs/exported-related/Filters/utilities.js.map +1 -1
  105. package/dist/cjs/exported-related/RowRenderer/DefaultRowContentRenderer.js +64 -47
  106. package/dist/cjs/exported-related/RowRenderer/DefaultRowContentRenderer.js.map +1 -1
  107. package/dist/cjs/exported-related/RowRenderer/index.js +38 -28
  108. package/dist/cjs/exported-related/RowRenderer/index.js.map +1 -1
  109. package/dist/cjs/exported-related/RowRenderer/useRowRendererHandlers.js +89 -68
  110. package/dist/cjs/exported-related/RowRenderer/useRowRendererHandlers.js.map +2 -2
  111. package/dist/cjs/exported-related/RowRenderer/useRowRendererProperties.js +12 -6
  112. package/dist/cjs/exported-related/RowRenderer/useRowRendererProperties.js.map +1 -1
  113. package/dist/cjs/exported-related/RowRenderer/useRowStyle.js +4 -1
  114. package/dist/cjs/exported-related/RowRenderer/useRowStyle.js.map +2 -2
  115. package/dist/cjs/exported-related/RowVariants.js +4 -1
  116. package/dist/cjs/exported-related/RowVariants.js.map +1 -1
  117. package/dist/cjs/exported-related/Toolbar/Toolbar.js +39 -24
  118. package/dist/cjs/exported-related/Toolbar/Toolbar.js.map +1 -1
  119. package/dist/cjs/exported-related/Toolbar/index.js +4 -1
  120. package/dist/cjs/exported-related/Toolbar/index.js.map +1 -1
  121. package/dist/cjs/exported-related/groupBy.js +4 -1
  122. package/dist/cjs/exported-related/groupBy.js.map +1 -1
  123. package/dist/cjs/exported-related/index.js +4 -1
  124. package/dist/cjs/exported-related/index.js.map +1 -1
  125. package/dist/cjs/helpers/addCellData.js +4 -1
  126. package/dist/cjs/helpers/addCellData.js.map +2 -2
  127. package/dist/cjs/helpers/cellPadding.js +4 -1
  128. package/dist/cjs/helpers/cellPadding.js.map +1 -1
  129. package/dist/cjs/helpers/columnsToGrid.js +4 -1
  130. package/dist/cjs/helpers/columnsToGrid.js.map +1 -1
  131. package/dist/cjs/helpers/getIdFromUniqueRowAccessor.js +4 -1
  132. package/dist/cjs/helpers/getIdFromUniqueRowAccessor.js.map +1 -1
  133. package/dist/cjs/helpers/index.js +4 -1
  134. package/dist/cjs/helpers/index.js.map +1 -1
  135. package/dist/cjs/helpers/refs-helpers.js +4 -1
  136. package/dist/cjs/helpers/refs-helpers.js.map +1 -1
  137. package/dist/cjs/helpers/sizeToCss.js +4 -1
  138. package/dist/cjs/helpers/sizeToCss.js.map +1 -1
  139. package/dist/cjs/index.js +4 -1
  140. package/dist/cjs/index.js.map +1 -1
  141. package/dist/cjs/parts/Cells/Cell.js +50 -32
  142. package/dist/cjs/parts/Cells/Cell.js.map +1 -1
  143. package/dist/cjs/parts/Cells/index.js +46 -41
  144. package/dist/cjs/parts/Cells/index.js.map +2 -2
  145. package/dist/cjs/parts/Cells/useCellStyle.js +4 -1
  146. package/dist/cjs/parts/Cells/useCellStyle.js.map +1 -1
  147. package/dist/cjs/parts/DnDHandle.js +9 -4
  148. package/dist/cjs/parts/DnDHandle.js.map +1 -1
  149. package/dist/cjs/parts/DropIndicator.js +24 -15
  150. package/dist/cjs/parts/DropIndicator.js.map +1 -1
  151. package/dist/cjs/parts/EmptyContent.js +32 -16
  152. package/dist/cjs/parts/EmptyContent.js.map +2 -2
  153. package/dist/cjs/parts/FilterBar/FiltersBar.js +54 -46
  154. package/dist/cjs/parts/FilterBar/FiltersBar.js.map +2 -2
  155. package/dist/cjs/parts/FilterBar/components/DateRangePill.js +20 -11
  156. package/dist/cjs/parts/FilterBar/components/DateRangePill.js.map +1 -1
  157. package/dist/cjs/parts/FilterBar/components/DateSwitcherPill.js +20 -11
  158. package/dist/cjs/parts/FilterBar/components/DateSwitcherPill.js.map +1 -1
  159. package/dist/cjs/parts/FilterBar/components/MultiSelectPill.js +36 -25
  160. package/dist/cjs/parts/FilterBar/components/MultiSelectPill.js.map +1 -1
  161. package/dist/cjs/parts/FilterBar/components/NumberRangePill.js +20 -11
  162. package/dist/cjs/parts/FilterBar/components/NumberRangePill.js.map +1 -1
  163. package/dist/cjs/parts/FilterBar/components/SelectPill.js +20 -11
  164. package/dist/cjs/parts/FilterBar/components/SelectPill.js.map +1 -1
  165. package/dist/cjs/parts/FilterBar/components/SingleDatePill.js +20 -11
  166. package/dist/cjs/parts/FilterBar/components/SingleDatePill.js.map +1 -1
  167. package/dist/cjs/parts/FilterBar/components/index.js +4 -1
  168. package/dist/cjs/parts/FilterBar/components/index.js.map +1 -1
  169. package/dist/cjs/parts/FilterBar/index.js +4 -1
  170. package/dist/cjs/parts/FilterBar/index.js.map +1 -1
  171. package/dist/cjs/parts/FilterBar/styled.js +4 -1
  172. package/dist/cjs/parts/FilterBar/styled.js.map +1 -1
  173. package/dist/cjs/parts/FilterBar/types.js +4 -1
  174. package/dist/cjs/parts/FilterBar/types.js.map +1 -1
  175. package/dist/cjs/parts/Filters/index.js +25 -18
  176. package/dist/cjs/parts/Filters/index.js.map +2 -2
  177. package/dist/cjs/parts/Footer.js +8 -3
  178. package/dist/cjs/parts/Footer.js.map +1 -1
  179. package/dist/cjs/parts/Headers/EmptyChildrenGroup.js +6 -3
  180. package/dist/cjs/parts/Headers/EmptyChildrenGroup.js.map +1 -1
  181. package/dist/cjs/parts/Headers/HeaderCell.js +71 -42
  182. package/dist/cjs/parts/Headers/HeaderCell.js.map +1 -1
  183. package/dist/cjs/parts/Headers/HeaderCellGroup.js +35 -25
  184. package/dist/cjs/parts/Headers/HeaderCellGroup.js.map +2 -2
  185. package/dist/cjs/parts/Headers/HeaderCellTitle.js +23 -14
  186. package/dist/cjs/parts/Headers/HeaderCellTitle.js.map +1 -1
  187. package/dist/cjs/parts/Headers/HeaderResizer.js +35 -21
  188. package/dist/cjs/parts/Headers/HeaderResizer.js.map +2 -2
  189. package/dist/cjs/parts/Headers/RequiredDot.js +14 -10
  190. package/dist/cjs/parts/Headers/RequiredDot.js.map +1 -1
  191. package/dist/cjs/parts/Headers/index.js +31 -19
  192. package/dist/cjs/parts/Headers/index.js.map +1 -1
  193. package/dist/cjs/parts/Headers/useHeaderCellConfig.js +4 -1
  194. package/dist/cjs/parts/Headers/useHeaderCellConfig.js.map +1 -1
  195. package/dist/cjs/parts/Headers/useHeaderCellHandlers.js +58 -46
  196. package/dist/cjs/parts/Headers/useHeaderCellHandlers.js.map +1 -1
  197. package/dist/cjs/parts/HoC/SortableItemContext.js +4 -1
  198. package/dist/cjs/parts/HoC/SortableItemContext.js.map +1 -1
  199. package/dist/cjs/parts/HoC/withConditionalDnDColumnContext.js +55 -37
  200. package/dist/cjs/parts/HoC/withConditionalDnDColumnContext.js.map +2 -2
  201. package/dist/cjs/parts/HoC/withConditionalDnDRowContext.js +59 -42
  202. package/dist/cjs/parts/HoC/withConditionalDnDRowContext.js.map +2 -2
  203. package/dist/cjs/parts/HoC/withConditionalDnDSortableContext.js +13 -8
  204. package/dist/cjs/parts/HoC/withConditionalDnDSortableContext.js.map +1 -1
  205. package/dist/cjs/parts/HoC/withDnDSortableColumnContext.js +24 -13
  206. package/dist/cjs/parts/HoC/withDnDSortableColumnContext.js.map +1 -1
  207. package/dist/cjs/parts/HoC/withDnDSortableRowContext.js +24 -13
  208. package/dist/cjs/parts/HoC/withDnDSortableRowContext.js.map +1 -1
  209. package/dist/cjs/parts/Loader.js +16 -11
  210. package/dist/cjs/parts/Loader.js.map +1 -1
  211. package/dist/cjs/parts/Row.js +17 -12
  212. package/dist/cjs/parts/Row.js.map +2 -2
  213. package/dist/cjs/parts/RowVariants/RowVariantHeader.js +33 -19
  214. package/dist/cjs/parts/RowVariants/RowVariantHeader.js.map +1 -1
  215. package/dist/cjs/parts/RowVariants/RowVariantPrimary.js +6 -3
  216. package/dist/cjs/parts/RowVariants/RowVariantPrimary.js.map +1 -1
  217. package/dist/cjs/parts/RowVariants/RowVariantSecondary.js +6 -3
  218. package/dist/cjs/parts/RowVariants/RowVariantSecondary.js.map +1 -1
  219. package/dist/cjs/parts/RowVariants/RowVariantSkeleton.js +8 -4
  220. package/dist/cjs/parts/RowVariants/RowVariantSkeleton.js.map +1 -1
  221. package/dist/cjs/parts/RowVariants/index.js +8 -5
  222. package/dist/cjs/parts/RowVariants/index.js.map +1 -1
  223. package/dist/cjs/parts/RowVariants/types.js +4 -1
  224. package/dist/cjs/parts/RowVariants/types.js.map +1 -1
  225. package/dist/cjs/parts/Rows.js +35 -26
  226. package/dist/cjs/parts/Rows.js.map +2 -2
  227. package/dist/cjs/parts/SortByCaret.js +21 -10
  228. package/dist/cjs/parts/SortByCaret.js.map +1 -1
  229. package/dist/cjs/parts/SortableHeaderCell.js +4 -1
  230. package/dist/cjs/parts/SortableHeaderCell.js.map +1 -1
  231. package/dist/cjs/parts/TableContent.js +28 -16
  232. package/dist/cjs/parts/TableContent.js.map +2 -2
  233. package/dist/cjs/parts/VirtualRowsList.js +38 -19
  234. package/dist/cjs/parts/VirtualRowsList.js.map +2 -2
  235. package/dist/cjs/parts/index.js +4 -1
  236. package/dist/cjs/parts/index.js.map +1 -1
  237. package/dist/cjs/parts/internal.js +4 -1
  238. package/dist/cjs/parts/internal.js.map +1 -1
  239. package/dist/cjs/styled.js +4 -1
  240. package/dist/cjs/styled.js.map +1 -1
  241. package/dist/cjs/tests/utils/index.js +4 -1
  242. package/dist/cjs/tests/utils/index.js.map +1 -1
  243. package/dist/cjs/types/FunctionalHoC.js +4 -1
  244. package/dist/cjs/types/FunctionalHoC.js.map +1 -1
  245. package/dist/cjs/types/props.js +4 -1
  246. package/dist/cjs/types/props.js.map +2 -2
  247. package/dist/esm/DataTable.js +19 -13
  248. package/dist/esm/DataTable.js.map +1 -1
  249. package/dist/esm/DataTableContext.js.map +1 -1
  250. package/dist/esm/DataTableSchema.js +65 -33
  251. package/dist/esm/DataTableSchema.js.map +1 -1
  252. package/dist/esm/addons/Columns/ColumnAction/ColumnAction.js.map +1 -1
  253. package/dist/esm/addons/Columns/ColumnDragHandle/ColumnDragHandle.js +14 -14
  254. package/dist/esm/addons/Columns/ColumnDragHandle/ColumnDragHandle.js.map +1 -1
  255. package/dist/esm/addons/Columns/ColumnExpand/ColumnExpand.js +102 -78
  256. package/dist/esm/addons/Columns/ColumnExpand/ColumnExpand.js.map +1 -1
  257. package/dist/esm/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js +45 -29
  258. package/dist/esm/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js.map +2 -2
  259. package/dist/esm/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js +27 -18
  260. package/dist/esm/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js.map +2 -2
  261. package/dist/esm/addons/Columns/index.js.map +1 -1
  262. package/dist/esm/addons/Editables/ComboboxEditableCell/ComboboxEditableCell.js +4 -3
  263. package/dist/esm/addons/Editables/ComboboxEditableCell/ComboboxEditableCell.js.map +1 -1
  264. package/dist/esm/addons/Editables/DateEditableCell/DateEditableCell.js +13 -9
  265. package/dist/esm/addons/Editables/DateEditableCell/DateEditableCell.js.map +1 -1
  266. package/dist/esm/addons/Editables/TextEditableCell/TextEditableCell.js +19 -15
  267. package/dist/esm/addons/Editables/TextEditableCell/TextEditableCell.js.map +1 -1
  268. package/dist/esm/addons/Editables/index.js.map +1 -1
  269. package/dist/esm/addons/Filters/Components/CurrencyRangeFilter/index.js +60 -33
  270. package/dist/esm/addons/Filters/Components/CurrencyRangeFilter/index.js.map +2 -2
  271. package/dist/esm/addons/Filters/Components/DateRangeFilter/index.js +48 -24
  272. package/dist/esm/addons/Filters/Components/DateRangeFilter/index.js.map +2 -2
  273. package/dist/esm/addons/Filters/Components/DateSwitcherFilter/index.js +73 -51
  274. package/dist/esm/addons/Filters/Components/DateSwitcherFilter/index.js.map +2 -2
  275. package/dist/esm/addons/Filters/Components/NumberRangeFilter/index.js +60 -33
  276. package/dist/esm/addons/Filters/Components/NumberRangeFilter/index.js.map +2 -2
  277. package/dist/esm/addons/Filters/Components/SelectFilter/BaseSelectFilter.js +37 -19
  278. package/dist/esm/addons/Filters/Components/SelectFilter/BaseSelectFilter.js.map +2 -2
  279. package/dist/esm/addons/Filters/Components/SelectFilter/MultiCreatableFilter.js +2 -2
  280. package/dist/esm/addons/Filters/Components/SelectFilter/MultiCreatableFilter.js.map +1 -1
  281. package/dist/esm/addons/Filters/Components/SelectFilter/MultiSelectFilter.js +2 -2
  282. package/dist/esm/addons/Filters/Components/SelectFilter/MultiSelectFilter.js.map +1 -1
  283. package/dist/esm/addons/Filters/Components/SelectFilter/SingleCreatableFilter.js +2 -2
  284. package/dist/esm/addons/Filters/Components/SelectFilter/SingleCreatableFilter.js.map +1 -1
  285. package/dist/esm/addons/Filters/Components/SelectFilter/SingleSelectFilter.js +2 -2
  286. package/dist/esm/addons/Filters/Components/SelectFilter/SingleSelectFilter.js.map +1 -1
  287. package/dist/esm/addons/Filters/Components/SingleDateFilter/index.js +45 -21
  288. package/dist/esm/addons/Filters/Components/SingleDateFilter/index.js.map +2 -2
  289. package/dist/esm/addons/Filters/Components/index.js.map +1 -1
  290. package/dist/esm/addons/Filters/index.js.map +1 -1
  291. package/dist/esm/addons/Pagination/Pagination.js +3 -2
  292. package/dist/esm/addons/Pagination/Pagination.js.map +1 -1
  293. package/dist/esm/addons/Pagination/index.js.map +1 -1
  294. package/dist/esm/configs/constants.js.map +2 -2
  295. package/dist/esm/configs/fixedSizes.js.map +1 -1
  296. package/dist/esm/configs/index.js.map +1 -1
  297. package/dist/esm/configs/useDatatableConfig.js +50 -36
  298. package/dist/esm/configs/useDatatableConfig.js.map +1 -1
  299. package/dist/esm/configs/useInternalStateConfig.js +27 -21
  300. package/dist/esm/configs/useInternalStateConfig.js.map +2 -2
  301. package/dist/esm/configs/usePaginationConfig.js +38 -35
  302. package/dist/esm/configs/usePaginationConfig.js.map +1 -1
  303. package/dist/esm/configs/useRowFlattenization.js +14 -5
  304. package/dist/esm/configs/useRowFlattenization.js.map +1 -1
  305. package/dist/esm/configs/useTableColsWithAddons.js.map +1 -1
  306. package/dist/esm/configs/zIndexInternalConfig.js.map +1 -1
  307. package/dist/esm/exported-related/EditableCell.js +46 -27
  308. package/dist/esm/exported-related/EditableCell.js.map +1 -1
  309. package/dist/esm/exported-related/FilterBar/FilterBarDropdownMenu.js +42 -29
  310. package/dist/esm/exported-related/FilterBar/FilterBarDropdownMenu.js.map +2 -2
  311. package/dist/esm/exported-related/FilterBar/index.js.map +1 -1
  312. package/dist/esm/exported-related/FilterPopover.js +60 -44
  313. package/dist/esm/exported-related/FilterPopover.js.map +2 -2
  314. package/dist/esm/exported-related/FilterTypes.js.map +1 -1
  315. package/dist/esm/exported-related/Filters/applyOutOfTheBoxFilters.js.map +1 -1
  316. package/dist/esm/exported-related/Filters/currencyRangeFilterFn.js +6 -2
  317. package/dist/esm/exported-related/Filters/currencyRangeFilterFn.js.map +1 -1
  318. package/dist/esm/exported-related/Filters/dateRangeFilterFn.js +3 -1
  319. package/dist/esm/exported-related/Filters/dateRangeFilterFn.js.map +1 -1
  320. package/dist/esm/exported-related/Filters/dateSwitcherFilterFn.js.map +1 -1
  321. package/dist/esm/exported-related/Filters/index.js.map +1 -1
  322. package/dist/esm/exported-related/Filters/multiSelectFilterFn.js.map +1 -1
  323. package/dist/esm/exported-related/Filters/numberRangeFilterFn.js +3 -1
  324. package/dist/esm/exported-related/Filters/numberRangeFilterFn.js.map +1 -1
  325. package/dist/esm/exported-related/Filters/singleDateFilterFn.js.map +1 -1
  326. package/dist/esm/exported-related/Filters/singleSelectFilterFn.js.map +1 -1
  327. package/dist/esm/exported-related/Filters/types.js.map +1 -1
  328. package/dist/esm/exported-related/Filters/utilities.js.map +1 -1
  329. package/dist/esm/exported-related/RowRenderer/DefaultRowContentRenderer.js +60 -46
  330. package/dist/esm/exported-related/RowRenderer/DefaultRowContentRenderer.js.map +1 -1
  331. package/dist/esm/exported-related/RowRenderer/index.js +34 -27
  332. package/dist/esm/exported-related/RowRenderer/index.js.map +1 -1
  333. package/dist/esm/exported-related/RowRenderer/useRowRendererHandlers.js +85 -67
  334. package/dist/esm/exported-related/RowRenderer/useRowRendererHandlers.js.map +2 -2
  335. package/dist/esm/exported-related/RowRenderer/useRowRendererProperties.js +8 -5
  336. package/dist/esm/exported-related/RowRenderer/useRowRendererProperties.js.map +1 -1
  337. package/dist/esm/exported-related/RowRenderer/useRowStyle.js.map +1 -1
  338. package/dist/esm/exported-related/RowVariants.js.map +1 -1
  339. package/dist/esm/exported-related/Toolbar/Toolbar.js +35 -23
  340. package/dist/esm/exported-related/Toolbar/Toolbar.js.map +1 -1
  341. package/dist/esm/exported-related/Toolbar/index.js.map +1 -1
  342. package/dist/esm/exported-related/groupBy.js.map +1 -1
  343. package/dist/esm/exported-related/index.js.map +1 -1
  344. package/dist/esm/helpers/addCellData.js.map +2 -2
  345. package/dist/esm/helpers/cellPadding.js.map +1 -1
  346. package/dist/esm/helpers/columnsToGrid.js.map +1 -1
  347. package/dist/esm/helpers/getIdFromUniqueRowAccessor.js.map +1 -1
  348. package/dist/esm/helpers/index.js.map +1 -1
  349. package/dist/esm/helpers/refs-helpers.js.map +1 -1
  350. package/dist/esm/helpers/sizeToCss.js.map +1 -1
  351. package/dist/esm/index.js.map +1 -1
  352. package/dist/esm/parts/Cells/Cell.js +46 -31
  353. package/dist/esm/parts/Cells/Cell.js.map +1 -1
  354. package/dist/esm/parts/Cells/index.js +42 -40
  355. package/dist/esm/parts/Cells/index.js.map +2 -2
  356. package/dist/esm/parts/Cells/useCellStyle.js.map +1 -1
  357. package/dist/esm/parts/DnDHandle.js +5 -3
  358. package/dist/esm/parts/DnDHandle.js.map +1 -1
  359. package/dist/esm/parts/DropIndicator.js +20 -14
  360. package/dist/esm/parts/DropIndicator.js.map +1 -1
  361. package/dist/esm/parts/EmptyContent.js +28 -15
  362. package/dist/esm/parts/EmptyContent.js.map +2 -2
  363. package/dist/esm/parts/FilterBar/FiltersBar.js +50 -45
  364. package/dist/esm/parts/FilterBar/FiltersBar.js.map +2 -2
  365. package/dist/esm/parts/FilterBar/components/DateRangePill.js +16 -10
  366. package/dist/esm/parts/FilterBar/components/DateRangePill.js.map +1 -1
  367. package/dist/esm/parts/FilterBar/components/DateSwitcherPill.js +16 -10
  368. package/dist/esm/parts/FilterBar/components/DateSwitcherPill.js.map +1 -1
  369. package/dist/esm/parts/FilterBar/components/MultiSelectPill.js +32 -24
  370. package/dist/esm/parts/FilterBar/components/MultiSelectPill.js.map +1 -1
  371. package/dist/esm/parts/FilterBar/components/NumberRangePill.js +16 -10
  372. package/dist/esm/parts/FilterBar/components/NumberRangePill.js.map +1 -1
  373. package/dist/esm/parts/FilterBar/components/SelectPill.js +16 -10
  374. package/dist/esm/parts/FilterBar/components/SelectPill.js.map +1 -1
  375. package/dist/esm/parts/FilterBar/components/SingleDatePill.js +16 -10
  376. package/dist/esm/parts/FilterBar/components/SingleDatePill.js.map +1 -1
  377. package/dist/esm/parts/FilterBar/components/index.js.map +1 -1
  378. package/dist/esm/parts/FilterBar/index.js.map +1 -1
  379. package/dist/esm/parts/FilterBar/styled.js.map +1 -1
  380. package/dist/esm/parts/FilterBar/types.js.map +1 -1
  381. package/dist/esm/parts/Filters/index.js +21 -17
  382. package/dist/esm/parts/Filters/index.js.map +1 -1
  383. package/dist/esm/parts/Footer.js +4 -2
  384. package/dist/esm/parts/Footer.js.map +1 -1
  385. package/dist/esm/parts/Headers/EmptyChildrenGroup.js +2 -2
  386. package/dist/esm/parts/Headers/EmptyChildrenGroup.js.map +1 -1
  387. package/dist/esm/parts/Headers/HeaderCell.js +67 -41
  388. package/dist/esm/parts/Headers/HeaderCell.js.map +1 -1
  389. package/dist/esm/parts/Headers/HeaderCellGroup.js +31 -24
  390. package/dist/esm/parts/Headers/HeaderCellGroup.js.map +1 -1
  391. package/dist/esm/parts/Headers/HeaderCellTitle.js +19 -13
  392. package/dist/esm/parts/Headers/HeaderCellTitle.js.map +1 -1
  393. package/dist/esm/parts/Headers/HeaderResizer.js +31 -20
  394. package/dist/esm/parts/Headers/HeaderResizer.js.map +2 -2
  395. package/dist/esm/parts/Headers/RequiredDot.js +10 -9
  396. package/dist/esm/parts/Headers/RequiredDot.js.map +1 -1
  397. package/dist/esm/parts/Headers/index.js +27 -18
  398. package/dist/esm/parts/Headers/index.js.map +1 -1
  399. package/dist/esm/parts/Headers/useHeaderCellConfig.js.map +1 -1
  400. package/dist/esm/parts/Headers/useHeaderCellHandlers.js +54 -45
  401. package/dist/esm/parts/Headers/useHeaderCellHandlers.js.map +1 -1
  402. package/dist/esm/parts/HoC/SortableItemContext.js.map +1 -1
  403. package/dist/esm/parts/HoC/withConditionalDnDColumnContext.js +51 -36
  404. package/dist/esm/parts/HoC/withConditionalDnDColumnContext.js.map +2 -2
  405. package/dist/esm/parts/HoC/withConditionalDnDRowContext.js +55 -41
  406. package/dist/esm/parts/HoC/withConditionalDnDRowContext.js.map +2 -2
  407. package/dist/esm/parts/HoC/withConditionalDnDSortableContext.js +9 -7
  408. package/dist/esm/parts/HoC/withConditionalDnDSortableContext.js.map +1 -1
  409. package/dist/esm/parts/HoC/withDnDSortableColumnContext.js +20 -12
  410. package/dist/esm/parts/HoC/withDnDSortableColumnContext.js.map +1 -1
  411. package/dist/esm/parts/HoC/withDnDSortableRowContext.js +20 -12
  412. package/dist/esm/parts/HoC/withDnDSortableRowContext.js.map +1 -1
  413. package/dist/esm/parts/Loader.js +12 -10
  414. package/dist/esm/parts/Loader.js.map +1 -1
  415. package/dist/esm/parts/Row.js +13 -11
  416. package/dist/esm/parts/Row.js.map +1 -1
  417. package/dist/esm/parts/RowVariants/RowVariantHeader.js +29 -18
  418. package/dist/esm/parts/RowVariants/RowVariantHeader.js.map +1 -1
  419. package/dist/esm/parts/RowVariants/RowVariantPrimary.js +2 -2
  420. package/dist/esm/parts/RowVariants/RowVariantPrimary.js.map +1 -1
  421. package/dist/esm/parts/RowVariants/RowVariantSecondary.js +2 -2
  422. package/dist/esm/parts/RowVariants/RowVariantSecondary.js.map +1 -1
  423. package/dist/esm/parts/RowVariants/RowVariantSkeleton.js +4 -3
  424. package/dist/esm/parts/RowVariants/RowVariantSkeleton.js.map +1 -1
  425. package/dist/esm/parts/RowVariants/index.js +4 -4
  426. package/dist/esm/parts/RowVariants/index.js.map +1 -1
  427. package/dist/esm/parts/RowVariants/types.js.map +1 -1
  428. package/dist/esm/parts/Rows.js +31 -25
  429. package/dist/esm/parts/Rows.js.map +1 -1
  430. package/dist/esm/parts/SortByCaret.js +17 -9
  431. package/dist/esm/parts/SortByCaret.js.map +1 -1
  432. package/dist/esm/parts/SortableHeaderCell.js.map +1 -1
  433. package/dist/esm/parts/TableContent.js +24 -15
  434. package/dist/esm/parts/TableContent.js.map +2 -2
  435. package/dist/esm/parts/VirtualRowsList.js +34 -18
  436. package/dist/esm/parts/VirtualRowsList.js.map +1 -1
  437. package/dist/esm/parts/index.js.map +2 -2
  438. package/dist/esm/parts/internal.js.map +1 -1
  439. package/dist/esm/styled.js.map +1 -1
  440. package/dist/esm/tests/utils/index.js.map +1 -1
  441. package/dist/esm/types/FunctionalHoC.js.map +1 -1
  442. package/dist/esm/types/props.js.map +2 -2
  443. package/package.json +18 -18
@@ -1,5 +1,6 @@
1
1
  import * as React from "react";
2
- import React2, { useCallback, useContext, useEffect, useState } from "react";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import { useCallback, useContext, useEffect, useState } from "react";
3
4
  import { DSButton } from "@elliemae/ds-button";
4
5
  import { DSPopperJS } from "@elliemae/ds-popperjs";
5
6
  import { styled } from "@elliemae/ds-system";
@@ -16,7 +17,7 @@ const Button = styled(DSButton)`
16
17
  const PopperContent = styled.div`
17
18
  background-color: #fff;
18
19
  `;
19
- const ButtonTrap = ({ cb }) => /* @__PURE__ */ React2.createElement("span", {
20
+ const ButtonTrap = ({ cb }) => /* @__PURE__ */ jsx("span", {
20
21
  "aria-hidden": "true",
21
22
  tabIndex: 0,
22
23
  onFocus: (e) => {
@@ -57,17 +58,20 @@ const FilterPopover = ({
57
58
  window.removeEventListener("blur", closeMenu);
58
59
  };
59
60
  }, [columnId, patchHeaderFilterButtonAndMenu]);
60
- const handleTriggerClick = (e) => {
61
- onTriggerClick(columnId, e);
62
- patchHeader(columnId, { hideFilterMenu: isMenuOpen, hideFilterButton: false });
63
- e.stopPropagation();
64
- };
61
+ const handleTriggerClick = useCallback(
62
+ (e) => {
63
+ onTriggerClick(columnId, e);
64
+ patchHeader(columnId, { hideFilterMenu: isMenuOpen, hideFilterButton: false });
65
+ e.stopPropagation();
66
+ },
67
+ [columnId, isMenuOpen, onTriggerClick, patchHeader]
68
+ );
65
69
  const [referenceElement, setReferenceElement] = useState(null);
66
70
  const buttonTrapCallback = useCallback(() => {
67
71
  patchHeader(columnId, { hideFilterMenu: true, hideFilterButton: false });
68
72
  referenceElement?.focus();
69
73
  }, [columnId, patchHeader, referenceElement]);
70
- return /* @__PURE__ */ React2.createElement("div", {
74
+ return /* @__PURE__ */ jsxs("div", {
71
75
  onClick: (e) => e.stopPropagation(),
72
76
  onKeyDown: (e) => {
73
77
  e.stopPropagation();
@@ -79,42 +83,54 @@ const FilterPopover = ({
79
83
  e.preventDefault();
80
84
  }
81
85
  },
82
- style: { display: "flex" }
83
- }, /* @__PURE__ */ React2.createElement(FilterButton, {
84
- hide: !isIconVisible,
85
- "data-testid": DATA_TESTID.DATA_TABLE_FILTER_BUTTON
86
- }, /* @__PURE__ */ React2.createElement(Button, {
87
- onClick: handleTriggerClick,
88
- buttonType: "text",
89
- "aria-label": ariaLabel,
90
- "aria-hidden": "true",
91
- size: "s",
92
- leftIcon: triggerIcon,
93
- innerRef: (_ref) => {
94
- if (isIconVisible)
95
- setReferenceElement(_ref);
96
- innerRef.current = _ref;
97
- },
98
- tabIndex: reduxHeader?.withTabStops ? 0 : -1
99
- })), referenceElement && /* @__PURE__ */ React2.createElement(DSPopperJS, {
100
- referenceElement,
101
- showPopover: isMenuOpen,
102
- closeContextMenu: handleClickOutsideMenu,
103
- "data-testid": DATA_TESTID.DATA_TABLE_FILTER_MENU_CONTENT,
104
- startPlacementPreference: "bottom-end",
105
- customOffset: [5, 4],
106
- withoutArrow: true,
107
- withoutAnimation: true,
108
- extraPopperStyles: {
109
- ...customStyles,
110
- minWidth: column.ref?.current?.offsetWidth ?? "0px"
111
- },
112
- placementOrderPreference: ["bottom-end"]
113
- }, /* @__PURE__ */ React2.createElement(PopperContent, null, /* @__PURE__ */ React2.createElement(ButtonTrap, {
114
- cb: buttonTrapCallback
115
- }), menuContent, /* @__PURE__ */ React2.createElement(ButtonTrap, {
116
- cb: buttonTrapCallback
117
- }))));
86
+ style: { display: "flex" },
87
+ children: [
88
+ /* @__PURE__ */ jsx(FilterButton, {
89
+ hide: !isIconVisible,
90
+ "data-testid": DATA_TESTID.DATA_TABLE_FILTER_BUTTON,
91
+ children: /* @__PURE__ */ jsx(Button, {
92
+ onClick: handleTriggerClick,
93
+ buttonType: "text",
94
+ "aria-label": ariaLabel,
95
+ "aria-hidden": "true",
96
+ size: "s",
97
+ leftIcon: triggerIcon,
98
+ innerRef: (_ref) => {
99
+ if (isIconVisible)
100
+ setReferenceElement(_ref);
101
+ innerRef.current = _ref;
102
+ },
103
+ tabIndex: reduxHeader?.withTabStops ? 0 : -1
104
+ })
105
+ }),
106
+ referenceElement && /* @__PURE__ */ jsx(DSPopperJS, {
107
+ referenceElement,
108
+ showPopover: isMenuOpen,
109
+ closeContextMenu: handleClickOutsideMenu,
110
+ "data-testid": DATA_TESTID.DATA_TABLE_FILTER_MENU_CONTENT,
111
+ startPlacementPreference: "bottom-end",
112
+ customOffset: [5, 4],
113
+ withoutArrow: true,
114
+ withoutAnimation: true,
115
+ extraPopperStyles: {
116
+ ...customStyles,
117
+ minWidth: column.ref?.current?.offsetWidth ?? "0px"
118
+ },
119
+ placementOrderPreference: ["bottom-end"],
120
+ children: /* @__PURE__ */ jsxs(PopperContent, {
121
+ children: [
122
+ /* @__PURE__ */ jsx(ButtonTrap, {
123
+ cb: buttonTrapCallback
124
+ }),
125
+ menuContent,
126
+ /* @__PURE__ */ jsx(ButtonTrap, {
127
+ cb: buttonTrapCallback
128
+ })
129
+ ]
130
+ })
131
+ })
132
+ ]
133
+ });
118
134
  };
119
135
  export {
120
136
  FilterPopover
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/exported-related/FilterPopover.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable jsx-a11y/no-static-element-interactions */\nimport React, { MutableRefObject, useCallback, useContext, useEffect, useState } from 'react';\nimport { DSButton } from '@elliemae/ds-button';\nimport { DSPopperJS } from '@elliemae/ds-popperjs';\nimport { styled } from '@elliemae/ds-system';\nimport DataTableContext from '../DataTableContext';\nimport { DATA_TESTID } from '../configs/constants';\nimport { ReduxHeader, TypescriptColumn } from '../types/props';\n\nconst FilterButton = styled.span<{ hide: boolean }>`\n display: inline-grid;\n ${(props) => (props.hide ? 'opacity: 0; display: none; width: 0;' : '')}\n`;\n\nconst Button = styled(DSButton)`\n position: relative;\n justify-self: flex-end;\n`;\n\nconst PopperContent = styled.div`\n background-color: #fff;\n`;\ninterface FilterPopoverProps {\n column: TypescriptColumn;\n columnId: string;\n triggerIcon: JSX.Element;\n menuContent: JSX.Element;\n onTriggerClick?: (id: string, e: UIEvent) => void;\n onClickOutsideMenu?: (id: string, e: UIEvent) => void;\n reduxHeader: ReduxHeader;\n innerRef: MutableRefObject<HTMLDivElement>;\n ariaLabel: string;\n customStyles?: React.CSSProperties;\n}\n\nconst ButtonTrap = ({ cb }) => (\n <span\n aria-hidden=\"true\"\n tabIndex={0}\n onFocus={(e) => {\n e.stopPropagation();\n cb();\n }}\n />\n);\n\nexport const FilterPopover: React.ComponentType<FilterPopoverProps> = ({\n column,\n columnId,\n triggerIcon,\n menuContent,\n onTriggerClick = () => null,\n onClickOutsideMenu = () => null,\n reduxHeader,\n innerRef,\n ariaLabel,\n customStyles,\n}) => {\n const { hideFilterButton, hideFilterMenu } = reduxHeader || {\n hideFilterButton: true,\n hideFilterMenu: true,\n };\n const { patchHeaderFilterButtonAndMenu, patchHeader } = useContext(DataTableContext);\n const isIconVisible = !hideFilterButton || !hideFilterMenu;\n const isMenuOpen = !hideFilterMenu;\n\n const handleClickOutsideMenu = (e) => {\n onClickOutsideMenu(columnId, e);\n if (isMenuOpen) patchHeaderFilterButtonAndMenu(columnId, true);\n };\n\n useEffect(() => {\n const closeMenu = () => {\n patchHeaderFilterButtonAndMenu(columnId, true);\n };\n window.addEventListener('blur', closeMenu);\n\n return () => {\n window.removeEventListener('blur', closeMenu);\n };\n }, [columnId, patchHeaderFilterButtonAndMenu]);\n\n const handleTriggerClick = (e) => {\n onTriggerClick(columnId, e);\n patchHeader(columnId, { hideFilterMenu: isMenuOpen, hideFilterButton: false });\n e.stopPropagation();\n };\n\n const [referenceElement, setReferenceElement] = useState(null);\n\n const buttonTrapCallback = useCallback(() => {\n patchHeader(columnId, { hideFilterMenu: true, hideFilterButton: false });\n referenceElement?.focus();\n }, [columnId, patchHeader, referenceElement]);\n return (\n <div\n // This is here to prevent propagation, and not trigger the sort functionality\n onClick={(e) => e.stopPropagation()}\n onKeyDown={(e) => {\n e.stopPropagation();\n if (e.code === 'Escape') {\n patchHeader(columnId, { hideFilterMenu: true, hideFilterButton: false });\n referenceElement.focus();\n }\n // Stop propagation for some reason is not enough to prevent scrolling of the datatable\n // so we just prevent default behaviour in this case\n if (['ArrowUp', 'ArrowDown'].includes(e.code)) {\n e.preventDefault();\n }\n }}\n style={{ display: 'flex' }}\n >\n <FilterButton hide={!isIconVisible} data-testid={DATA_TESTID.DATA_TABLE_FILTER_BUTTON}>\n <Button\n onClick={handleTriggerClick}\n buttonType=\"text\"\n aria-label={ariaLabel}\n aria-hidden=\"true\"\n size=\"s\"\n leftIcon={triggerIcon}\n // implement treeview mergerefs\n innerRef={(_ref) => {\n if (isIconVisible) setReferenceElement(_ref);\n innerRef.current = _ref;\n }}\n tabIndex={reduxHeader?.withTabStops ? 0 : -1}\n />\n </FilterButton>\n {referenceElement && (\n <DSPopperJS\n referenceElement={referenceElement}\n showPopover={isMenuOpen}\n closeContextMenu={handleClickOutsideMenu}\n data-testid={DATA_TESTID.DATA_TABLE_FILTER_MENU_CONTENT}\n startPlacementPreference=\"bottom-end\"\n customOffset={[5, 4]}\n withoutArrow\n withoutAnimation\n extraPopperStyles={{\n ...customStyles,\n minWidth: column.ref?.current?.offsetWidth ?? '0px',\n }}\n placementOrderPreference={['bottom-end']}\n >\n <PopperContent>\n <ButtonTrap cb={buttonTrapCallback} />\n {menuContent}\n <ButtonTrap cb={buttonTrapCallback} />\n </PopperContent>\n </DSPopperJS>\n )}\n </div>\n );\n};\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable jsx-a11y/no-static-element-interactions */\nimport React, { MutableRefObject, useCallback, useContext, useEffect, useState } from 'react';\nimport { DSButton } from '@elliemae/ds-button';\nimport { DSPopperJS } from '@elliemae/ds-popperjs';\nimport { styled } from '@elliemae/ds-system';\nimport DataTableContext from '../DataTableContext';\nimport { DATA_TESTID } from '../configs/constants';\nimport { ReduxHeader, TypescriptColumn } from '../types/props';\n\nconst FilterButton = styled.span<{ hide: boolean }>`\n display: inline-grid;\n ${(props) => (props.hide ? 'opacity: 0; display: none; width: 0;' : '')}\n`;\n\nconst Button = styled(DSButton)`\n position: relative;\n justify-self: flex-end;\n`;\n\nconst PopperContent = styled.div`\n background-color: #fff;\n`;\ninterface FilterPopoverProps {\n column: TypescriptColumn;\n columnId: string;\n triggerIcon: JSX.Element;\n menuContent: JSX.Element;\n onTriggerClick?: (id: string, e: UIEvent) => void;\n onClickOutsideMenu?: (id: string, e: UIEvent) => void;\n reduxHeader: ReduxHeader;\n innerRef: MutableRefObject<HTMLDivElement>;\n ariaLabel: string;\n customStyles?: React.CSSProperties;\n}\n\nconst ButtonTrap = ({ cb }) => (\n <span\n aria-hidden=\"true\"\n tabIndex={0}\n onFocus={(e) => {\n e.stopPropagation();\n cb();\n }}\n />\n);\n\nexport const FilterPopover: React.ComponentType<FilterPopoverProps> = ({\n column,\n columnId,\n triggerIcon,\n menuContent,\n onTriggerClick = () => null,\n onClickOutsideMenu = () => null,\n reduxHeader,\n innerRef,\n ariaLabel,\n customStyles,\n}) => {\n const { hideFilterButton, hideFilterMenu } = reduxHeader || {\n hideFilterButton: true,\n hideFilterMenu: true,\n };\n const { patchHeaderFilterButtonAndMenu, patchHeader } = useContext(DataTableContext);\n const isIconVisible = !hideFilterButton || !hideFilterMenu;\n const isMenuOpen = !hideFilterMenu;\n\n const handleClickOutsideMenu = (e) => {\n onClickOutsideMenu(columnId, e);\n if (isMenuOpen) patchHeaderFilterButtonAndMenu(columnId, true);\n };\n\n useEffect(() => {\n const closeMenu = () => {\n patchHeaderFilterButtonAndMenu(columnId, true);\n };\n window.addEventListener('blur', closeMenu);\n\n return () => {\n window.removeEventListener('blur', closeMenu);\n };\n }, [columnId, patchHeaderFilterButtonAndMenu]);\n\n const handleTriggerClick = useCallback(\n (e) => {\n onTriggerClick(columnId, e);\n patchHeader(columnId, { hideFilterMenu: isMenuOpen, hideFilterButton: false });\n e.stopPropagation();\n },\n [columnId, isMenuOpen, onTriggerClick, patchHeader],\n );\n\n const [referenceElement, setReferenceElement] = useState(null);\n\n const buttonTrapCallback = useCallback(() => {\n patchHeader(columnId, { hideFilterMenu: true, hideFilterButton: false });\n referenceElement?.focus();\n }, [columnId, patchHeader, referenceElement]);\n return (\n <div\n // This is here to prevent propagation, and not trigger the sort functionality\n onClick={(e) => e.stopPropagation()}\n onKeyDown={(e) => {\n e.stopPropagation();\n if (e.code === 'Escape') {\n patchHeader(columnId, { hideFilterMenu: true, hideFilterButton: false });\n referenceElement.focus();\n }\n // Stop propagation for some reason is not enough to prevent scrolling of the datatable\n // so we just prevent default behaviour in this case\n if (['ArrowUp', 'ArrowDown'].includes(e.code)) {\n e.preventDefault();\n }\n }}\n style={{ display: 'flex' }}\n >\n <FilterButton hide={!isIconVisible} data-testid={DATA_TESTID.DATA_TABLE_FILTER_BUTTON}>\n <Button\n onClick={handleTriggerClick}\n buttonType=\"text\"\n aria-label={ariaLabel}\n aria-hidden=\"true\"\n size=\"s\"\n leftIcon={triggerIcon}\n // implement treeview mergerefs\n innerRef={(_ref) => {\n if (isIconVisible) setReferenceElement(_ref);\n innerRef.current = _ref;\n }}\n tabIndex={reduxHeader?.withTabStops ? 0 : -1}\n />\n </FilterButton>\n {referenceElement && (\n <DSPopperJS\n referenceElement={referenceElement}\n showPopover={isMenuOpen}\n closeContextMenu={handleClickOutsideMenu}\n data-testid={DATA_TESTID.DATA_TABLE_FILTER_MENU_CONTENT}\n startPlacementPreference=\"bottom-end\"\n customOffset={[5, 4]}\n withoutArrow\n withoutAnimation\n extraPopperStyles={{\n ...customStyles,\n minWidth: column.ref?.current?.offsetWidth ?? '0px',\n }}\n placementOrderPreference={['bottom-end']}\n >\n <PopperContent>\n <ButtonTrap cb={buttonTrapCallback} />\n {menuContent}\n <ButtonTrap cb={buttonTrapCallback} />\n </PopperContent>\n </DSPopperJS>\n )}\n </div>\n );\n};\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/exported-related/FilterTypes.tsx"],
4
4
  "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export const FILTER_TYPES = {\n SELECT: 'ds-filter-select',\n CREATABLE_SELECT: 'ds-filter-creatable-select',\n MULTI_SELECT: 'ds-filter-multi-select',\n CREATABLE_MULTI_SELECT: 'ds-filter-multi-creatable-select',\n SINGLE_DATE: 'ds-filter-single-date',\n DATE_RANGE: 'ds-filter-date-range',\n DATE_SWITCHER: 'ds-filter-date-switcher',\n NUMBER_RANGE: 'ds-filter-number-range',\n CURRENCY_RANGE: 'ds-filter-currency-range',\n};\n"],
5
- "mappings": "AAAA;ACAO,MAAM,eAAe;AAAA,EAC1B,QAAQ;AAAA,EACR,kBAAkB;AAAA,EAClB,cAAc;AAAA,EACd,wBAAwB;AAAA,EACxB,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,eAAe;AAAA,EACf,cAAc;AAAA,EACd,gBAAgB;AAClB;",
5
+ "mappings": "AAAA,YAAY,WAAW;ACAhB,MAAM,eAAe;AAAA,EAC1B,QAAQ;AAAA,EACR,kBAAkB;AAAA,EAClB,cAAc;AAAA,EACd,wBAAwB;AAAA,EACxB,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,eAAe;AAAA,EACf,cAAc;AAAA,EACd,gBAAgB;AAClB;",
6
6
  "names": []
7
7
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/exported-related/Filters/applyOutOfTheBoxFilters.tsx"],
4
4
  "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { singleSelectFilterFn } from './singleSelectFilterFn';\nimport { multiSelectFilterFn } from './multiSelectFilterFn';\nimport { singleDateFilterFn } from './singleDateFilterFn';\nimport { dateRangeFilterFn } from './dateRangeFilterFn';\nimport { dateSwitcherFilterFn } from './dateSwitcherFilterFn';\nimport { numberRangeFilterFn } from './numberRangeFilterFn';\nimport { currencyRangeFilterFn } from './currencyRangeFilterFn';\nimport { FilterFn } from './types';\nimport { FILTER_TYPES } from '../FilterTypes';\nimport { TypescriptAppliedFilter, TypescriptRow } from '../../types/props';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst filterMapper: Record<string, FilterFn<any>> = {\n [FILTER_TYPES.SELECT]: singleSelectFilterFn,\n [FILTER_TYPES.MULTI_SELECT]: multiSelectFilterFn,\n [FILTER_TYPES.SINGLE_DATE]: singleDateFilterFn,\n [FILTER_TYPES.DATE_RANGE]: dateRangeFilterFn,\n [FILTER_TYPES.DATE_SWITCHER]: dateSwitcherFilterFn,\n [FILTER_TYPES.NUMBER_RANGE]: numberRangeFilterFn,\n [FILTER_TYPES.CURRENCY_RANGE]: currencyRangeFilterFn,\n};\n\nexport const applyOutOfTheBoxFilters = (data: TypescriptRow[], filters: TypescriptAppliedFilter[]): TypescriptRow[] => {\n let filteredData = data;\n\n filters.forEach((filter) => {\n if (filter.type in filterMapper) {\n filteredData = filterMapper[filter.type](filteredData, filter.id, filter.value);\n }\n });\n\n return filteredData;\n};\n"],
5
- "mappings": "AAAA;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAIA,MAAM,eAA8C;AAAA,EAClD,CAAC,aAAa,SAAS;AAAA,EACvB,CAAC,aAAa,eAAe;AAAA,EAC7B,CAAC,aAAa,cAAc;AAAA,EAC5B,CAAC,aAAa,aAAa;AAAA,EAC3B,CAAC,aAAa,gBAAgB;AAAA,EAC9B,CAAC,aAAa,eAAe;AAAA,EAC7B,CAAC,aAAa,iBAAiB;AACjC;AAEO,MAAM,0BAA0B,CAAC,MAAuB,YAAwD;AACrH,MAAI,eAAe;AAEnB,UAAQ,QAAQ,CAAC,WAAW;AAC1B,QAAI,OAAO,QAAQ,cAAc;AAC/B,qBAAe,aAAa,OAAO,MAAM,cAAc,OAAO,IAAI,OAAO,KAAK;AAAA,IAChF;AAAA,EACF,CAAC;AAED,SAAO;AACT;",
5
+ "mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,4BAA4B;AACrC,SAAS,2BAA2B;AACpC,SAAS,0BAA0B;AACnC,SAAS,yBAAyB;AAClC,SAAS,4BAA4B;AACrC,SAAS,2BAA2B;AACpC,SAAS,6BAA6B;AAEtC,SAAS,oBAAoB;AAI7B,MAAM,eAA8C;AAAA,EAClD,CAAC,aAAa,SAAS;AAAA,EACvB,CAAC,aAAa,eAAe;AAAA,EAC7B,CAAC,aAAa,cAAc;AAAA,EAC5B,CAAC,aAAa,aAAa;AAAA,EAC3B,CAAC,aAAa,gBAAgB;AAAA,EAC9B,CAAC,aAAa,eAAe;AAAA,EAC7B,CAAC,aAAa,iBAAiB;AACjC;AAEO,MAAM,0BAA0B,CAAC,MAAuB,YAAwD;AACrH,MAAI,eAAe;AAEnB,UAAQ,QAAQ,CAAC,WAAW;AAC1B,QAAI,OAAO,QAAQ,cAAc;AAC/B,qBAAe,aAAa,OAAO,MAAM,cAAc,OAAO,IAAI,OAAO,KAAK;AAAA,IAChF;AAAA,EACF,CAAC;AAED,SAAO;AACT;",
6
6
  "names": []
7
7
  }
@@ -6,13 +6,17 @@ const getNumber = (str) => {
6
6
  return str;
7
7
  if (typeof str !== "string")
8
8
  return null;
9
- return Number.parseFloat(str.split("").filter((x) => ![",", "$"].includes(x)).join(""));
9
+ return Number.parseFloat(
10
+ str.split("").filter((x) => ![",", "$"].includes(x)).join("")
11
+ );
10
12
  };
11
13
  const isEmpty = (number) => Number.isNaN(number) || number === null || number === void 0;
12
14
  const currencyRangeFilterFn = (unfilteredData, filterKey, filterValue) => {
13
15
  const fromNumber = getNumber(filterValue.from);
14
16
  const toNumber = getNumber(filterValue.to);
15
- return unfilteredData.filter((datum) => isEmpty(fromNumber) || isEmpty(toNumber) || getNumber(datum[filterKey]) >= fromNumber && getNumber(datum[filterKey]) <= toNumber);
17
+ return unfilteredData.filter(
18
+ (datum) => isEmpty(fromNumber) || isEmpty(toNumber) || getNumber(datum[filterKey]) >= fromNumber && getNumber(datum[filterKey]) <= toNumber
19
+ );
16
20
  };
17
21
  export {
18
22
  currencyRangeFilterFn
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/exported-related/Filters/currencyRangeFilterFn.tsx"],
4
4
  "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { FilterFn } from './types';\n\nconst getNumber = (str) => {\n if (str === null) return null;\n if (typeof str === 'number') return str;\n if (typeof str !== 'string') return null;\n return Number.parseFloat(\n str\n .split('')\n .filter((x) => ![',', '$'].includes(x))\n .join(''),\n );\n};\n\nconst isEmpty = (number) => Number.isNaN(number) || number === null || number === undefined;\n\nexport const currencyRangeFilterFn: FilterFn<{ from: string; to: string }> = (\n unfilteredData,\n filterKey,\n filterValue,\n) => {\n const fromNumber = getNumber(filterValue.from);\n const toNumber = getNumber(filterValue.to);\n\n return unfilteredData.filter(\n (datum) =>\n isEmpty(fromNumber) ||\n isEmpty(toNumber) ||\n (getNumber(datum[filterKey]) >= fromNumber && getNumber(datum[filterKey]) <= toNumber),\n );\n};\n"],
5
- "mappings": "AAAA;ACEA,MAAM,YAAY,CAAC,QAAQ;AACzB,MAAI,QAAQ;AAAM,WAAO;AACzB,MAAI,OAAO,QAAQ;AAAU,WAAO;AACpC,MAAI,OAAO,QAAQ;AAAU,WAAO;AACpC,SAAO,OAAO,WACZ,IACG,MAAM,EAAE,EACR,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,GAAG,EAAE,SAAS,CAAC,CAAC,EACrC,KAAK,EAAE,CACZ;AACF;AAEA,MAAM,UAAU,CAAC,WAAW,OAAO,MAAM,MAAM,KAAK,WAAW,QAAQ,WAAW;AAE3E,MAAM,wBAAgE,CAC3E,gBACA,WACA,gBACG;AACH,QAAM,aAAa,UAAU,YAAY,IAAI;AAC7C,QAAM,WAAW,UAAU,YAAY,EAAE;AAEzC,SAAO,eAAe,OACpB,CAAC,UACC,QAAQ,UAAU,KAClB,QAAQ,QAAQ,KACf,UAAU,MAAM,UAAU,KAAK,cAAc,UAAU,MAAM,UAAU,KAAK,QACjF;AACF;",
5
+ "mappings": "AAAA,YAAY,WAAW;ACEvB,MAAM,YAAY,CAAC,QAAQ;AACzB,MAAI,QAAQ;AAAM,WAAO;AACzB,MAAI,OAAO,QAAQ;AAAU,WAAO;AACpC,MAAI,OAAO,QAAQ;AAAU,WAAO;AACpC,SAAO,OAAO;AAAA,IACZ,IACG,MAAM,EAAE,EACR,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,GAAG,EAAE,SAAS,CAAC,CAAC,EACrC,KAAK,EAAE;AAAA,EACZ;AACF;AAEA,MAAM,UAAU,CAAC,WAAW,OAAO,MAAM,MAAM,KAAK,WAAW,QAAQ,WAAW;AAE3E,MAAM,wBAAgE,CAC3E,gBACA,WACA,gBACG;AACH,QAAM,aAAa,UAAU,YAAY,IAAI;AAC7C,QAAM,WAAW,UAAU,YAAY,EAAE;AAEzC,SAAO,eAAe;AAAA,IACpB,CAAC,UACC,QAAQ,UAAU,KAClB,QAAQ,QAAQ,KACf,UAAU,MAAM,UAAU,KAAK,cAAc,UAAU,MAAM,UAAU,KAAK;AAAA,EACjF;AACF;",
6
6
  "names": []
7
7
  }
@@ -1,6 +1,8 @@
1
1
  import * as React from "react";
2
2
  import { isSameOrAfter, isSameOrBefore } from "./utilities";
3
- const dateRangeFilterFn = (unfilteredData, filterKey, filterValue) => unfilteredData.filter((datum) => !(filterValue?.startDate && filterValue?.endDate) || isSameOrBefore(filterValue?.startDate, datum[filterKey]) && isSameOrAfter(filterValue?.endDate, datum[filterKey]));
3
+ const dateRangeFilterFn = (unfilteredData, filterKey, filterValue) => unfilteredData.filter(
4
+ (datum) => !(filterValue?.startDate && filterValue?.endDate) || isSameOrBefore(filterValue?.startDate, datum[filterKey]) && isSameOrAfter(filterValue?.endDate, datum[filterKey])
5
+ );
4
6
  export {
5
7
  dateRangeFilterFn
6
8
  };
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/exported-related/Filters/dateRangeFilterFn.tsx"],
4
4
  "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { FilterFn } from './types';\nimport { isSameOrAfter, isSameOrBefore } from './utilities';\n\nexport const dateRangeFilterFn: FilterFn<{\n startDate: string;\n endDate: string;\n}> = (unfilteredData, filterKey, filterValue) =>\n unfilteredData.filter(\n (datum) =>\n !(filterValue?.startDate && filterValue?.endDate) ||\n (isSameOrBefore(filterValue?.startDate, datum[filterKey] as string) &&\n isSameOrAfter(filterValue?.endDate, datum[filterKey] as string)),\n );\n"],
5
- "mappings": "AAAA;ACCA;AAEO,MAAM,oBAGR,CAAC,gBAAgB,WAAW,gBAC/B,eAAe,OACb,CAAC,UACC,CAAE,cAAa,aAAa,aAAa,YACxC,eAAe,aAAa,WAAW,MAAM,UAAoB,KAChE,cAAc,aAAa,SAAS,MAAM,UAAoB,CACpE;",
5
+ "mappings": "AAAA,YAAY,WAAW;ACCvB,SAAS,eAAe,sBAAsB;AAEvC,MAAM,oBAGR,CAAC,gBAAgB,WAAW,gBAC/B,eAAe;AAAA,EACb,CAAC,UACC,EAAE,aAAa,aAAa,aAAa,YACxC,eAAe,aAAa,WAAW,MAAM,UAAoB,KAChE,cAAc,aAAa,SAAS,MAAM,UAAoB;AACpE;",
6
6
  "names": []
7
7
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/exported-related/Filters/dateSwitcherFilterFn.tsx"],
4
4
  "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { dateRangeFilterFn } from './dateRangeFilterFn';\nimport { singleDateFilterFn } from './singleDateFilterFn';\n// configs imports this file, we can't import from /configs/index.js directly\n// use file instead of index to avoid circular imports!\nimport { FilterFn } from './types';\n\nexport const dateSwitcherFilterFn: FilterFn<{\n startDate: string;\n endDate: string;\n isDateRange: boolean;\n}> = (unfilteredData, filterKey, filterValue) =>\n filterValue.isDateRange\n ? dateRangeFilterFn(unfilteredData, filterKey, filterValue)\n : singleDateFilterFn(unfilteredData, filterKey, filterValue.startDate);\n"],
5
- "mappings": "AAAA;ACAA;AACA;AAKO,MAAM,uBAIR,CAAC,gBAAgB,WAAW,gBAC/B,YAAY,cACR,kBAAkB,gBAAgB,WAAW,WAAW,IACxD,mBAAmB,gBAAgB,WAAW,YAAY,SAAS;",
5
+ "mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,yBAAyB;AAClC,SAAS,0BAA0B;AAK5B,MAAM,uBAIR,CAAC,gBAAgB,WAAW,gBAC/B,YAAY,cACR,kBAAkB,gBAAgB,WAAW,WAAW,IACxD,mBAAmB,gBAAgB,WAAW,YAAY,SAAS;",
6
6
  "names": []
7
7
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/exported-related/Filters/index.tsx"],
4
4
  "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export * from './applyOutOfTheBoxFilters';\nexport * from './singleDateFilterFn';\nexport * from './singleSelectFilterFn';\nexport * from './multiSelectFilterFn';\nexport * from './numberRangeFilterFn';\nexport * from './currencyRangeFilterFn';\nexport * from './dateRangeFilterFn';\n"],
5
- "mappings": "AAAA;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;",
5
+ "mappings": "AAAA,YAAY,WAAW;ACAvB,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
6
6
  "names": []
7
7
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/exported-related/Filters/multiSelectFilterFn.tsx"],
4
4
  "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { FilterFn } from './types';\n\nexport const multiSelectFilterFn: FilterFn<{ label: string }[]> = (unfilteredData, filterKey, filterValue) => {\n if (filterValue.length > 0) {\n return unfilteredData.filter((datum) => filterValue.some((item) => item.label === datum[filterKey].toString()));\n }\n return unfilteredData;\n};\n"],
5
- "mappings": "AAAA;ACEO,MAAM,sBAAqD,CAAC,gBAAgB,WAAW,gBAAgB;AAC5G,MAAI,YAAY,SAAS,GAAG;AAC1B,WAAO,eAAe,OAAO,CAAC,UAAU,YAAY,KAAK,CAAC,SAAS,KAAK,UAAU,MAAM,WAAW,SAAS,CAAC,CAAC;AAAA,EAChH;AACA,SAAO;AACT;",
5
+ "mappings": "AAAA,YAAY,WAAW;ACEhB,MAAM,sBAAqD,CAAC,gBAAgB,WAAW,gBAAgB;AAC5G,MAAI,YAAY,SAAS,GAAG;AAC1B,WAAO,eAAe,OAAO,CAAC,UAAU,YAAY,KAAK,CAAC,SAAS,KAAK,UAAU,MAAM,WAAW,SAAS,CAAC,CAAC;AAAA,EAChH;AACA,SAAO;AACT;",
6
6
  "names": []
7
7
  }
@@ -1,6 +1,8 @@
1
1
  import * as React from "react";
2
2
  const isEmpty = (number) => number === null || number === void 0;
3
- const numberRangeFilterFn = (unfilteredData, filterKey, filterValue) => unfilteredData.filter((datum) => isEmpty(filterValue?.from) || isEmpty(filterValue?.to) || datum[filterKey] >= filterValue.from && datum[filterKey] <= filterValue.to);
3
+ const numberRangeFilterFn = (unfilteredData, filterKey, filterValue) => unfilteredData.filter(
4
+ (datum) => isEmpty(filterValue?.from) || isEmpty(filterValue?.to) || datum[filterKey] >= filterValue.from && datum[filterKey] <= filterValue.to
5
+ );
4
6
  export {
5
7
  numberRangeFilterFn
6
8
  };
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/exported-related/Filters/numberRangeFilterFn.tsx"],
4
4
  "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { FilterFn } from './types';\n\nconst isEmpty = (number) => number === null || number === undefined;\n\nexport const numberRangeFilterFn: FilterFn<{ from: number; to: number }> = (unfilteredData, filterKey, filterValue) =>\n unfilteredData.filter(\n (datum) =>\n isEmpty(filterValue?.from) ||\n isEmpty(filterValue?.to) ||\n (datum[filterKey] >= filterValue.from && datum[filterKey] <= filterValue.to),\n );\n"],
5
- "mappings": "AAAA;ACEA,MAAM,UAAU,CAAC,WAAW,WAAW,QAAQ,WAAW;AAEnD,MAAM,sBAA8D,CAAC,gBAAgB,WAAW,gBACrG,eAAe,OACb,CAAC,UACC,QAAQ,aAAa,IAAI,KACzB,QAAQ,aAAa,EAAE,KACtB,MAAM,cAAc,YAAY,QAAQ,MAAM,cAAc,YAAY,EAC7E;",
5
+ "mappings": "AAAA,YAAY,WAAW;ACEvB,MAAM,UAAU,CAAC,WAAW,WAAW,QAAQ,WAAW;AAEnD,MAAM,sBAA8D,CAAC,gBAAgB,WAAW,gBACrG,eAAe;AAAA,EACb,CAAC,UACC,QAAQ,aAAa,IAAI,KACzB,QAAQ,aAAa,EAAE,KACtB,MAAM,cAAc,YAAY,QAAQ,MAAM,cAAc,YAAY;AAC7E;",
6
6
  "names": []
7
7
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/exported-related/Filters/singleDateFilterFn.tsx"],
4
4
  "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { FilterFn } from './types';\nimport { isSame } from './utilities';\n\nexport const singleDateFilterFn: FilterFn<string> = (unfilteredData, filterKey, filterValue) =>\n unfilteredData.filter((datum) => isSame(filterValue, datum[filterKey] as string));\n"],
5
- "mappings": "AAAA;ACCA;AAEO,MAAM,qBAAuC,CAAC,gBAAgB,WAAW,gBAC9E,eAAe,OAAO,CAAC,UAAU,OAAO,aAAa,MAAM,UAAoB,CAAC;",
5
+ "mappings": "AAAA,YAAY,WAAW;ACCvB,SAAS,cAAc;AAEhB,MAAM,qBAAuC,CAAC,gBAAgB,WAAW,gBAC9E,eAAe,OAAO,CAAC,UAAU,OAAO,aAAa,MAAM,UAAoB,CAAC;",
6
6
  "names": []
7
7
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/exported-related/Filters/singleSelectFilterFn.tsx"],
4
4
  "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { FilterFn } from './types';\n\nexport const singleSelectFilterFn: FilterFn<{ label: string }> = (unfilteredData, filterKey, filterValue) => {\n if (filterValue) {\n return unfilteredData.filter((datum) => datum[filterKey].toString() === filterValue.label);\n }\n return unfilteredData;\n};\n"],
5
- "mappings": "AAAA;ACEO,MAAM,uBAAoD,CAAC,gBAAgB,WAAW,gBAAgB;AAC3G,MAAI,aAAa;AACf,WAAO,eAAe,OAAO,CAAC,UAAU,MAAM,WAAW,SAAS,MAAM,YAAY,KAAK;AAAA,EAC3F;AACA,SAAO;AACT;",
5
+ "mappings": "AAAA,YAAY,WAAW;ACEhB,MAAM,uBAAoD,CAAC,gBAAgB,WAAW,gBAAgB;AAC3G,MAAI,aAAa;AACf,WAAO,eAAe,OAAO,CAAC,UAAU,MAAM,WAAW,SAAS,MAAM,YAAY,KAAK;AAAA,EAC3F;AACA,SAAO;AACT;",
6
6
  "names": []
7
7
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["import * as React from 'react';\nexport { React };\n"],
5
- "mappings": "AAAA;",
5
+ "mappings": "AAAA,YAAY,WAAW;",
6
6
  "names": []
7
7
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/exported-related/Filters/utilities.ts"],
4
4
  "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export const isSameOrBefore = (date1: string, date2: string) => {\n if (!date1) return true;\n const d1 = new Date(date1);\n const d2 = new Date(date2);\n return d1.getTime() <= d2.getTime();\n};\n\nexport const isSameOrAfter = (date1: string, date2: string) => {\n if (!date1) return true;\n const d1 = new Date(date1);\n const d2 = new Date(date2);\n return d1.getTime() >= d2.getTime();\n};\n\nexport const isSame = (date1: string, date2: string) => {\n const d1 = new Date(date1);\n const d2 = new Date(date2);\n return d1.getTime() === d2.getTime();\n};\n"],
5
- "mappings": "AAAA;ACAO,MAAM,iBAAiB,CAAC,OAAe,UAAkB;AAC9D,MAAI,CAAC;AAAO,WAAO;AACnB,QAAM,KAAK,IAAI,KAAK,KAAK;AACzB,QAAM,KAAK,IAAI,KAAK,KAAK;AACzB,SAAO,GAAG,QAAQ,KAAK,GAAG,QAAQ;AACpC;AAEO,MAAM,gBAAgB,CAAC,OAAe,UAAkB;AAC7D,MAAI,CAAC;AAAO,WAAO;AACnB,QAAM,KAAK,IAAI,KAAK,KAAK;AACzB,QAAM,KAAK,IAAI,KAAK,KAAK;AACzB,SAAO,GAAG,QAAQ,KAAK,GAAG,QAAQ;AACpC;AAEO,MAAM,SAAS,CAAC,OAAe,UAAkB;AACtD,QAAM,KAAK,IAAI,KAAK,KAAK;AACzB,QAAM,KAAK,IAAI,KAAK,KAAK;AACzB,SAAO,GAAG,QAAQ,MAAM,GAAG,QAAQ;AACrC;",
5
+ "mappings": "AAAA,YAAY,WAAW;ACAhB,MAAM,iBAAiB,CAAC,OAAe,UAAkB;AAC9D,MAAI,CAAC;AAAO,WAAO;AACnB,QAAM,KAAK,IAAI,KAAK,KAAK;AACzB,QAAM,KAAK,IAAI,KAAK,KAAK;AACzB,SAAO,GAAG,QAAQ,KAAK,GAAG,QAAQ;AACpC;AAEO,MAAM,gBAAgB,CAAC,OAAe,UAAkB;AAC7D,MAAI,CAAC;AAAO,WAAO;AACnB,QAAM,KAAK,IAAI,KAAK,KAAK;AACzB,QAAM,KAAK,IAAI,KAAK,KAAK;AACzB,SAAO,GAAG,QAAQ,KAAK,GAAG,QAAQ;AACpC;AAEO,MAAM,SAAS,CAAC,OAAe,UAAkB;AACtD,QAAM,KAAK,IAAI,KAAK,KAAK;AACzB,QAAM,KAAK,IAAI,KAAK,KAAK;AACzB,SAAO,GAAG,QAAQ,MAAM,GAAG,QAAQ;AACrC;",
6
6
  "names": []
7
7
  }
@@ -1,19 +1,21 @@
1
1
  import * as React from "react";
2
- import React2, { useMemo, useCallback, useLayoutEffect, useRef } from "react";
2
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
3
+ import { useMemo, useCallback, useLayoutEffect, useRef } from "react";
3
4
  import { INTERNAL_COLUMNS } from "../../addons/Columns";
4
5
  import { DATA_TESTID } from "../../configs/constants";
5
6
  import { Cells } from "../../parts/Cells";
6
7
  import { StyledCellContainer } from "../../styled";
7
8
  import { DropIndicatorPosition } from "../../types/props";
8
- const DetailsWrapper = (props) => /* @__PURE__ */ React2.createElement("div", {
9
+ const DetailsWrapper = (props) => /* @__PURE__ */ jsx("div", {
9
10
  "data-role": "detail-view",
10
11
  style: {
11
12
  borderTop: "1px solid #EBEDF0",
12
13
  borderBottom: "1px solid #EBEDF0"
13
14
  },
14
15
  onClick: (e) => e.stopPropagation(),
15
- onKeyDown: (e) => e.stopPropagation()
16
- }, props.children);
16
+ onKeyDown: (e) => e.stopPropagation(),
17
+ children: props.children
18
+ });
17
19
  const ariaLabelMessage = (row, selected) => `Row number ${row.realIndex + 1}${row.parentIndex !== null ? `, child of row number ${row.parentIndex + 1}` : ""}. ${selected ? "Selected. " : ""}To interact with the cells press enter`;
18
20
  const DefaultRowContentRenderer = (props) => {
19
21
  const {
@@ -39,11 +41,14 @@ const DefaultRowContentRenderer = (props) => {
39
41
  rowRef.current?.focus();
40
42
  }
41
43
  }, [focusedRowId, row.uid]);
42
- const gridTemplateColProps = useMemo(() => ({
43
- cols: isDragOverlay ? ["24px", "auto"] : gridLayout,
44
- isExpandable,
45
- colLayoutStyle: colsLayoutStyle
46
- }), [isDragOverlay, gridLayout, colsLayoutStyle, isExpandable]);
44
+ const gridTemplateColProps = useMemo(
45
+ () => ({
46
+ cols: isDragOverlay ? ["24px", "auto"] : gridLayout,
47
+ isExpandable,
48
+ colLayoutStyle: colsLayoutStyle
49
+ }),
50
+ [isDragOverlay, gridLayout, colsLayoutStyle, isExpandable]
51
+ );
47
52
  const detailsIndent = useMemo(() => {
48
53
  let padding = 0;
49
54
  for (let i = 0; i < visibleColumns.length; i += 1) {
@@ -56,45 +61,54 @@ const DefaultRowContentRenderer = (props) => {
56
61
  }
57
62
  return padding;
58
63
  }, [row.depth, visibleColumns]);
59
- const handleSelectDisableRow = useCallback((e) => {
60
- if (disabledRows[row.uid]) {
61
- e.preventDefault();
62
- e.stopPropagation();
63
- }
64
- }, [disabledRows, row.uid]);
64
+ const handleSelectDisableRow = useCallback(
65
+ (e) => {
66
+ if (disabledRows[row.uid]) {
67
+ e.preventDefault();
68
+ e.stopPropagation();
69
+ }
70
+ },
71
+ [disabledRows, row.uid]
72
+ );
65
73
  const PureRowContent = useMemo(() => {
66
74
  const DetailsView = row.original.tableRowDetails;
67
- return /* @__PURE__ */ React2.createElement(React2.Fragment, null, /* @__PURE__ */ React2.createElement(StyledCellContainer, {
68
- ref: rowRef,
69
- key: row.uid,
70
- tabIndex: disabledRows[row.uid] ? -1 : 0,
71
- role: "row",
72
- "aria-rowindex": row.realIndex + 1,
73
- "aria-label": ariaLabelMessage(row, selection?.[row.uid] === true),
74
- "aria-selected": selection?.[row.uid] === true,
75
- "aria-expanded": isExpandable ? expandedRows[row.uid] === true : void 0,
76
- "aria-disabled": disabledRows[row.uid],
77
- ...gridTemplateColProps,
78
- backgroundColor,
79
- height: compact ? "24px" : "auto",
80
- minHeight: compact ? "24px" : "36px",
81
- isDropIndicatorPositionInside: dropIndicatorPosition === DropIndicatorPosition.Inside,
82
- shouldDisplayHover: !isDndActive && !isDragging && !isDragOverlay,
83
- isDragOverlay,
84
- isDragging,
85
- selected: noSelectionColumn && selection?.[row.uid] === true,
86
- disabled: disabledRows[row.uid],
87
- "data-testid": DATA_TESTID.DATA_TABLE_ROW_CONTENT,
88
- onMouseDown: handleSelectDisableRow
89
- }, /* @__PURE__ */ React2.createElement(Cells, {
90
- row,
91
- isRowSelected: drilldownRowId === row.uid,
92
- isDragOverlay,
93
- key: row.uid
94
- })), !isDragOverlay && isExpandable && row.isExpanded && DetailsView && /* @__PURE__ */ React2.createElement(DetailsWrapper, null, /* @__PURE__ */ React2.createElement(DetailsView, {
95
- row,
96
- detailsIndent
97
- })));
75
+ return /* @__PURE__ */ jsxs(Fragment, {
76
+ children: [
77
+ /* @__PURE__ */ jsx(StyledCellContainer, {
78
+ ref: rowRef,
79
+ tabIndex: disabledRows[row.uid] ? -1 : 0,
80
+ role: "row",
81
+ "aria-rowindex": row.realIndex + 1,
82
+ "aria-label": ariaLabelMessage(row, selection?.[row.uid] === true),
83
+ "aria-selected": selection?.[row.uid] === true,
84
+ "aria-expanded": isExpandable ? expandedRows[row.uid] === true : void 0,
85
+ "aria-disabled": disabledRows[row.uid],
86
+ ...gridTemplateColProps,
87
+ backgroundColor,
88
+ height: compact ? "24px" : "auto",
89
+ minHeight: compact ? "24px" : "36px",
90
+ isDropIndicatorPositionInside: dropIndicatorPosition === DropIndicatorPosition.Inside,
91
+ shouldDisplayHover: !isDndActive && !isDragging && !isDragOverlay,
92
+ isDragOverlay,
93
+ isDragging,
94
+ selected: noSelectionColumn && selection?.[row.uid] === true,
95
+ disabled: disabledRows[row.uid],
96
+ "data-testid": DATA_TESTID.DATA_TABLE_ROW_CONTENT,
97
+ onMouseDown: handleSelectDisableRow,
98
+ children: /* @__PURE__ */ jsx(Cells, {
99
+ row,
100
+ isRowSelected: drilldownRowId === row.uid,
101
+ isDragOverlay
102
+ }, row.uid)
103
+ }, row.uid),
104
+ !isDragOverlay && isExpandable && row.isExpanded && DetailsView && /* @__PURE__ */ jsx(DetailsWrapper, {
105
+ children: /* @__PURE__ */ jsx(DetailsView, {
106
+ row,
107
+ detailsIndent
108
+ })
109
+ })
110
+ ]
111
+ });
98
112
  }, [
99
113
  row,
100
114
  disabledRows,
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/exported-related/RowRenderer/DefaultRowContentRenderer.tsx"],
4
4
  "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable complexity */\n/* eslint-disable max-lines */\nimport React, { useMemo, useCallback, useLayoutEffect, useRef } from 'react';\nimport { INTERNAL_COLUMNS } from '../../addons/Columns';\nimport { DATA_TESTID } from '../../configs/constants';\nimport { Cells } from '../../parts/Cells';\nimport { RowVariantProps } from '../../parts/RowVariants/types';\nimport { StyledCellContainer } from '../../styled';\nimport { DropIndicatorPosition, TypescriptRow } from '../../types/props';\n\nconst DetailsWrapper = (props) => (\n // This can be further customized\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n <div\n data-role=\"detail-view\"\n style={{\n borderTop: '1px solid #EBEDF0',\n borderBottom: '1px solid #EBEDF0',\n }}\n onClick={(e) => e.stopPropagation()}\n onKeyDown={(e) => e.stopPropagation()}\n >\n {props.children}\n </div>\n);\n\nconst ariaLabelMessage = (row: TypescriptRow, selected: boolean) =>\n `Row number ${row.realIndex + 1}${row.parentIndex !== null ? `, child of row number ${row.parentIndex + 1}` : ''}. ${\n selected ? 'Selected. ' : ''\n }To interact with the cells press enter`;\n\nexport const DefaultRowContentRenderer: React.ComponentType<RowVariantProps> = (props) => {\n const {\n row,\n ctx: {\n tableProps: { isExpandable, colsLayoutStyle, selection, noSelectionColumn, expandedRows, disabledRows },\n layoutHelpers: { gridLayout },\n visibleColumns,\n },\n draggableProps,\n isDragOverlay,\n backgroundColor = 'white',\n dropIndicatorPosition,\n focusedRowId,\n drilldownRowId,\n compact,\n } = props;\n\n const rowRef = useRef<HTMLDivElement>(null);\n const isDndActive = draggableProps && draggableProps.active;\n const isDragging = draggableProps && draggableProps.isDragging;\n\n useLayoutEffect(() => {\n if (row.uid === focusedRowId) {\n rowRef.current?.focus();\n }\n }, [focusedRowId, row.uid]);\n\n const gridTemplateColProps = useMemo(\n () => ({\n cols: isDragOverlay ? ['24px', 'auto'] : gridLayout,\n isExpandable,\n colLayoutStyle: colsLayoutStyle,\n }),\n [isDragOverlay, gridLayout, colsLayoutStyle, isExpandable],\n );\n\n const detailsIndent = useMemo(() => {\n let padding = 0;\n for (let i = 0; i < visibleColumns.length; i += 1) {\n if (INTERNAL_COLUMNS.includes(visibleColumns[i].id)) {\n padding += visibleColumns[i].width;\n } else {\n padding += row.depth * 32 + 15;\n break;\n }\n }\n return padding;\n }, [row.depth, visibleColumns]);\n\n const handleSelectDisableRow = useCallback(\n (e) => {\n if (disabledRows[row.uid]) {\n e.preventDefault();\n e.stopPropagation();\n }\n },\n [disabledRows, row.uid],\n );\n const PureRowContent = useMemo(() => {\n const DetailsView = row.original.tableRowDetails;\n return (\n <>\n <StyledCellContainer\n ref={rowRef}\n key={row.uid}\n tabIndex={disabledRows[row.uid] ? -1 : 0}\n role=\"row\"\n aria-rowindex={row.realIndex + 1}\n aria-label={ariaLabelMessage(row, selection?.[row.uid] === true)}\n aria-selected={selection?.[row.uid] === true}\n aria-expanded={isExpandable ? expandedRows[row.uid] === true : undefined}\n aria-disabled={disabledRows[row.uid]}\n {...gridTemplateColProps}\n backgroundColor={backgroundColor}\n height={compact ? '24px' : 'auto'}\n minHeight={compact ? '24px' : '36px'}\n isDropIndicatorPositionInside={dropIndicatorPosition === DropIndicatorPosition.Inside}\n shouldDisplayHover={!isDndActive && !isDragging && !isDragOverlay}\n isDragOverlay={isDragOverlay}\n isDragging={isDragging}\n selected={noSelectionColumn && selection?.[row.uid] === true}\n disabled={disabledRows[row.uid]}\n data-testid={DATA_TESTID.DATA_TABLE_ROW_CONTENT}\n onMouseDown={handleSelectDisableRow}\n >\n <Cells row={row} isRowSelected={drilldownRowId === row.uid} isDragOverlay={isDragOverlay} key={row.uid} />\n </StyledCellContainer>\n {!isDragOverlay && isExpandable && row.isExpanded && DetailsView && (\n <DetailsWrapper>\n <DetailsView row={row} detailsIndent={detailsIndent} />\n </DetailsWrapper>\n )}\n </>\n );\n }, [\n row,\n disabledRows,\n selection,\n isExpandable,\n expandedRows,\n gridTemplateColProps,\n backgroundColor,\n compact,\n dropIndicatorPosition,\n isDndActive,\n isDragging,\n isDragOverlay,\n noSelectionColumn,\n handleSelectDisableRow,\n drilldownRowId,\n detailsIndent,\n ]);\n\n return PureRowContent;\n};\n"],
5
- "mappings": "AAAA;ACEA;AACA;AACA;AACA;AAEA;AACA;AAEA,MAAM,iBAAiB,CAAC,UAGtB,qCAAC;AAAA,EACC,aAAU;AAAA,EACV,OAAO;AAAA,IACL,WAAW;AAAA,IACX,cAAc;AAAA,EAChB;AAAA,EACA,SAAS,CAAC,MAAM,EAAE,gBAAgB;AAAA,EAClC,WAAW,CAAC,MAAM,EAAE,gBAAgB;AAAA,GAEnC,MAAM,QACT;AAGF,MAAM,mBAAmB,CAAC,KAAoB,aAC5C,cAAc,IAAI,YAAY,IAAI,IAAI,gBAAgB,OAAO,yBAAyB,IAAI,cAAc,MAAM,OAC5G,WAAW,eAAe;AAGvB,MAAM,4BAAkE,CAAC,UAAU;AACxF,QAAM;AAAA,IACJ;AAAA,IACA,KAAK;AAAA,MACH,YAAY,EAAE,cAAc,iBAAiB,WAAW,mBAAmB,cAAc;AAAA,MACzF,eAAe,EAAE;AAAA,MACjB;AAAA;AAAA,IAEF;AAAA,IACA;AAAA,IACA,kBAAkB;AAAA,IAClB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MACE;AAEJ,QAAM,SAAS,OAAuB,IAAI;AAC1C,QAAM,cAAc,kBAAkB,eAAe;AACrD,QAAM,aAAa,kBAAkB,eAAe;AAEpD,kBAAgB,MAAM;AACpB,QAAI,IAAI,QAAQ,cAAc;AAC5B,aAAO,SAAS,MAAM;AAAA,IACxB;AAAA,EACF,GAAG,CAAC,cAAc,IAAI,GAAG,CAAC;AAE1B,QAAM,uBAAuB,QAC3B,MAAO;AAAA,IACL,MAAM,gBAAgB,CAAC,QAAQ,MAAM,IAAI;AAAA,IACzC;AAAA,IACA,gBAAgB;AAAA,EAClB,IACA,CAAC,eAAe,YAAY,iBAAiB,YAAY,CAC3D;AAEA,QAAM,gBAAgB,QAAQ,MAAM;AAClC,QAAI,UAAU;AACd,aAAS,IAAI,GAAG,IAAI,eAAe,QAAQ,KAAK,GAAG;AACjD,UAAI,iBAAiB,SAAS,eAAe,GAAG,EAAE,GAAG;AACnD,mBAAW,eAAe,GAAG;AAAA,MAC/B,OAAO;AACL,mBAAW,IAAI,QAAQ,KAAK;AAC5B;AAAA,MACF;AAAA,IACF;AACA,WAAO;AAAA,EACT,GAAG,CAAC,IAAI,OAAO,cAAc,CAAC;AAE9B,QAAM,yBAAyB,YAC7B,CAAC,MAAM;AACL,QAAI,aAAa,IAAI,MAAM;AACzB,QAAE,eAAe;AACjB,QAAE,gBAAgB;AAAA,IACpB;AAAA,EACF,GACA,CAAC,cAAc,IAAI,GAAG,CACxB;AACA,QAAM,iBAAiB,QAAQ,MAAM;AACnC,UAAM,cAAc,IAAI,SAAS;AACjC,WACE,4DACE,qCAAC;AAAA,MACC,KAAK;AAAA,MACL,KAAK,IAAI;AAAA,MACT,UAAU,aAAa,IAAI,OAAO,KAAK;AAAA,MACvC,MAAK;AAAA,MACL,iBAAe,IAAI,YAAY;AAAA,MAC/B,cAAY,iBAAiB,KAAK,YAAY,IAAI,SAAS,IAAI;AAAA,MAC/D,iBAAe,YAAY,IAAI,SAAS;AAAA,MACxC,iBAAe,eAAe,aAAa,IAAI,SAAS,OAAO;AAAA,MAC/D,iBAAe,aAAa,IAAI;AAAA,MAC/B,GAAG;AAAA,MACJ;AAAA,MACA,QAAQ,UAAU,SAAS;AAAA,MAC3B,WAAW,UAAU,SAAS;AAAA,MAC9B,+BAA+B,0BAA0B,sBAAsB;AAAA,MAC/E,oBAAoB,CAAC,eAAe,CAAC,cAAc,CAAC;AAAA,MACpD;AAAA,MACA;AAAA,MACA,UAAU,qBAAqB,YAAY,IAAI,SAAS;AAAA,MACxD,UAAU,aAAa,IAAI;AAAA,MAC3B,eAAa,YAAY;AAAA,MACzB,aAAa;AAAA,OAEb,qCAAC;AAAA,MAAM;AAAA,MAAU,eAAe,mBAAmB,IAAI;AAAA,MAAK;AAAA,MAA8B,KAAK,IAAI;AAAA,KAAK,CAC1G,GACC,CAAC,iBAAiB,gBAAgB,IAAI,cAAc,eACnD,qCAAC,sBACC,qCAAC;AAAA,MAAY;AAAA,MAAU;AAAA,KAA8B,CACvD,CAEJ;AAAA,EAEJ,GAAG;AAAA,IACD;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAED,SAAO;AACT;",
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }