@elliemae/ds-data-table 3.19.0 → 3.19.1-rc.1

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 (416) hide show
  1. package/dist/cjs/DataTable.js +2 -4
  2. package/dist/cjs/DataTable.js.map +2 -2
  3. package/dist/cjs/DataTableContext.js +2 -41
  4. package/dist/cjs/DataTableContext.js.map +2 -2
  5. package/dist/cjs/addons/Columns/ColumnAction/ColumnAction.js +3 -1
  6. package/dist/cjs/addons/Columns/ColumnAction/ColumnAction.js.map +2 -2
  7. package/dist/cjs/addons/Columns/ColumnDragHandle/ColumnDragHandle.js +3 -1
  8. package/dist/cjs/addons/Columns/ColumnDragHandle/ColumnDragHandle.js.map +2 -2
  9. package/dist/cjs/addons/Columns/ColumnExpand/ColumnExpand.js +3 -2
  10. package/dist/cjs/addons/Columns/ColumnExpand/ColumnExpand.js.map +2 -2
  11. package/dist/cjs/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js +7 -5
  12. package/dist/cjs/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js.map +3 -3
  13. package/dist/cjs/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js +5 -3
  14. package/dist/cjs/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js.map +2 -2
  15. package/dist/cjs/addons/Editables/ComboboxEditableCell/ComboboxEditableCell.js +10 -6
  16. package/dist/cjs/addons/Editables/ComboboxEditableCell/ComboboxEditableCell.js.map +2 -2
  17. package/dist/cjs/addons/Editables/DateEditableCell/DateEditableCell.js +6 -9
  18. package/dist/cjs/addons/Editables/DateEditableCell/DateEditableCell.js.map +2 -2
  19. package/dist/cjs/addons/Editables/TextEditableCell/TextEditableCell.js +2 -3
  20. package/dist/cjs/addons/Editables/TextEditableCell/TextEditableCell.js.map +2 -2
  21. package/dist/cjs/addons/Filters/Components/CurrencyRangeFilter/index.js +8 -7
  22. package/dist/cjs/addons/Filters/Components/CurrencyRangeFilter/index.js.map +2 -2
  23. package/dist/cjs/addons/Filters/Components/DateRangeFilter/index.js.map +2 -2
  24. package/dist/cjs/addons/Filters/Components/DateSwitcherFilter/index.js.map +2 -2
  25. package/dist/cjs/addons/Filters/Components/NumberRangeFilter/index.js +5 -4
  26. package/dist/cjs/addons/Filters/Components/NumberRangeFilter/index.js.map +2 -2
  27. package/dist/cjs/addons/Filters/Components/SelectFilter/BaseSelectFilter.js.map +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.map +2 -2
  30. package/dist/cjs/addons/Filters/Components/SelectFilter/SingleCreatableFilter.js.map +2 -2
  31. package/dist/cjs/addons/Filters/Components/SelectFilter/SingleSelectFilter.js.map +2 -2
  32. package/dist/cjs/addons/Filters/Components/SingleDateFilter/index.js.map +2 -2
  33. package/dist/cjs/addons/Pagination/Pagination.js +2 -3
  34. package/dist/cjs/addons/Pagination/Pagination.js.map +2 -2
  35. package/dist/cjs/configs/constants.js +11 -5
  36. package/dist/cjs/configs/constants.js.map +3 -3
  37. package/dist/cjs/configs/useDatatableConfig.js +20 -20
  38. package/dist/cjs/configs/useDatatableConfig.js.map +2 -2
  39. package/dist/cjs/configs/useInternalStateConfig.js.map +2 -2
  40. package/dist/cjs/configs/usePaginationConfig.js.map +2 -2
  41. package/dist/cjs/configs/useRowFlattenization.js.map +2 -2
  42. package/dist/cjs/configs/useTableColsWithAddons.js.map +2 -2
  43. package/dist/cjs/configs/useTableResizeCb.js +2 -2
  44. package/dist/cjs/configs/useTableResizeCb.js.map +2 -2
  45. package/dist/cjs/exported-related/EditableCell.js.map +2 -2
  46. package/dist/cjs/exported-related/FilterBar/FilterBarDropdownMenu.js +5 -4
  47. package/dist/cjs/exported-related/FilterBar/FilterBarDropdownMenu.js.map +2 -2
  48. package/dist/cjs/exported-related/FilterPopover/index.js +13 -3
  49. package/dist/cjs/exported-related/FilterPopover/index.js.map +2 -2
  50. package/dist/cjs/exported-related/FilterPopover/types.js.map +1 -1
  51. package/dist/cjs/exported-related/FilterPopover/useGetFilterHandlers.js.map +2 -2
  52. package/dist/cjs/exported-related/FilterPopover/useGetFilterVisibility.js.map +2 -2
  53. package/dist/cjs/exported-related/Filters/applyOutOfTheBoxFilters.js.map +2 -2
  54. package/dist/cjs/exported-related/Filters/currencyRangeFilterFn.js +10 -3
  55. package/dist/cjs/exported-related/Filters/currencyRangeFilterFn.js.map +2 -2
  56. package/dist/cjs/exported-related/Filters/multiSelectFilterFn.js +1 -1
  57. package/dist/cjs/exported-related/Filters/multiSelectFilterFn.js.map +2 -2
  58. package/dist/cjs/exported-related/Filters/numberRangeFilterFn.js.map +2 -2
  59. package/dist/cjs/exported-related/Filters/singleSelectFilterFn.js +1 -1
  60. package/dist/cjs/exported-related/Filters/singleSelectFilterFn.js.map +2 -2
  61. package/dist/cjs/exported-related/Filters/types.js.map +1 -1
  62. package/dist/cjs/exported-related/RowRenderer/DefaultRowContentRenderer.js +3 -14
  63. package/dist/cjs/exported-related/RowRenderer/DefaultRowContentRenderer.js.map +2 -2
  64. package/dist/cjs/exported-related/RowRenderer/index.js.map +2 -2
  65. package/dist/cjs/exported-related/RowRenderer/useRowRendererHandlers.js.map +1 -1
  66. package/dist/cjs/exported-related/RowRenderer/useRowRendererProperties.js.map +2 -2
  67. package/dist/cjs/exported-related/RowRenderer/useRowStyle.js.map +1 -1
  68. package/dist/cjs/exported-related/Toolbar/Toolbar.js +2 -2
  69. package/dist/cjs/exported-related/Toolbar/Toolbar.js.map +2 -2
  70. package/dist/cjs/exported-related/groupBy.js.map +2 -2
  71. package/dist/cjs/helpers/addCellData.js.map +2 -2
  72. package/dist/cjs/helpers/cellPadding.js.map +1 -1
  73. package/dist/cjs/helpers/columnsToGrid.js +1 -1
  74. package/dist/cjs/helpers/columnsToGrid.js.map +2 -2
  75. package/dist/cjs/helpers/getIdFromUniqueRowAccessor.js +2 -2
  76. package/dist/cjs/helpers/getIdFromUniqueRowAccessor.js.map +2 -2
  77. package/dist/cjs/helpers/index.js +0 -1
  78. package/dist/cjs/helpers/index.js.map +2 -2
  79. package/dist/cjs/index.js +9 -1
  80. package/dist/cjs/index.js.map +2 -2
  81. package/dist/cjs/parts/Cells/Cell.js +1 -1
  82. package/dist/cjs/parts/Cells/Cell.js.map +2 -2
  83. package/dist/cjs/parts/Cells/index.js.map +2 -2
  84. package/dist/cjs/parts/Cells/useCellStyle.js.map +1 -1
  85. package/dist/cjs/parts/DnDHandle.js +2 -1
  86. package/dist/cjs/parts/DnDHandle.js.map +2 -2
  87. package/dist/cjs/parts/DropIndicator.js +11 -11
  88. package/dist/cjs/parts/DropIndicator.js.map +2 -2
  89. package/dist/cjs/parts/EmptyContent.js +8 -8
  90. package/dist/cjs/parts/EmptyContent.js.map +2 -2
  91. package/dist/cjs/parts/FilterBar/DeprecatedDropdown.js +81 -0
  92. package/dist/cjs/parts/FilterBar/DeprecatedDropdown.js.map +7 -0
  93. package/dist/cjs/parts/FilterBar/FiltersBar.js +9 -31
  94. package/dist/cjs/parts/FilterBar/FiltersBar.js.map +2 -2
  95. package/dist/cjs/parts/FilterBar/components/DateRangePill.js +1 -10
  96. package/dist/cjs/parts/FilterBar/components/DateRangePill.js.map +2 -2
  97. package/dist/cjs/parts/FilterBar/components/DateSwitcherPill.js +1 -10
  98. package/dist/cjs/parts/FilterBar/components/DateSwitcherPill.js.map +2 -2
  99. package/dist/cjs/parts/FilterBar/components/MultiSelectPill.js +3 -2
  100. package/dist/cjs/parts/FilterBar/components/MultiSelectPill.js.map +2 -2
  101. package/dist/cjs/parts/FilterBar/components/NumberRangePill.js.map +2 -2
  102. package/dist/cjs/parts/FilterBar/components/SelectPill.js.map +2 -2
  103. package/dist/cjs/parts/FilterBar/components/SingleDatePill.js.map +2 -2
  104. package/dist/cjs/parts/FilterBar/styled.js +0 -5
  105. package/dist/cjs/parts/FilterBar/styled.js.map +2 -2
  106. package/dist/cjs/parts/Filters/index.js +1 -0
  107. package/dist/cjs/parts/Filters/index.js.map +2 -2
  108. package/dist/cjs/parts/Headers/HeaderCell.js +16 -14
  109. package/dist/cjs/parts/Headers/HeaderCell.js.map +2 -2
  110. package/dist/cjs/parts/Headers/HeaderCellGroup.js.map +2 -2
  111. package/dist/cjs/parts/Headers/HeaderCellTitle.js +11 -2
  112. package/dist/cjs/parts/Headers/HeaderCellTitle.js.map +2 -2
  113. package/dist/cjs/parts/Headers/HeaderResizer.js +20 -71
  114. package/dist/cjs/parts/Headers/HeaderResizer.js.map +2 -2
  115. package/dist/cjs/parts/Headers/index.js +1 -2
  116. package/dist/cjs/parts/Headers/index.js.map +2 -2
  117. package/dist/cjs/parts/Headers/useHeaderCellConfig.js +2 -2
  118. package/dist/cjs/parts/Headers/useHeaderCellConfig.js.map +2 -2
  119. package/dist/cjs/parts/Headers/useHeaderCellHandlers.js +9 -3
  120. package/dist/cjs/parts/Headers/useHeaderCellHandlers.js.map +2 -2
  121. package/dist/cjs/parts/Headers/useHeaderResizer.js +139 -0
  122. package/dist/cjs/parts/Headers/useHeaderResizer.js.map +7 -0
  123. package/dist/cjs/parts/HoC/DnDTreeContext.js.map +1 -1
  124. package/dist/cjs/parts/HoC/SortableItemContext.js.map +1 -1
  125. package/dist/cjs/parts/HoC/withConditionalDnDColumnContext.js +5 -1
  126. package/dist/cjs/parts/HoC/withConditionalDnDColumnContext.js.map +2 -2
  127. package/dist/cjs/parts/HoC/withConditionalDnDRowContext.js +5 -1
  128. package/dist/cjs/parts/HoC/withConditionalDnDRowContext.js.map +2 -2
  129. package/dist/cjs/parts/HoC/withConditionalDnDSortableContext.js +2 -1
  130. package/dist/cjs/parts/HoC/withConditionalDnDSortableContext.js.map +2 -2
  131. package/dist/cjs/parts/HoC/withDnDSortableColumnContext.js +4 -3
  132. package/dist/cjs/parts/HoC/withDnDSortableColumnContext.js.map +2 -2
  133. package/dist/cjs/parts/HoC/withDnDSortableRowContext.js +1 -1
  134. package/dist/cjs/parts/HoC/withDnDSortableRowContext.js.map +2 -2
  135. package/dist/cjs/parts/Row.js.map +2 -2
  136. package/dist/cjs/parts/RowVariants/RowVariantHeader.js +4 -4
  137. package/dist/cjs/parts/RowVariants/RowVariantHeader.js.map +2 -2
  138. package/dist/cjs/parts/RowVariants/RowVariantPrimary.js +14 -21
  139. package/dist/cjs/parts/RowVariants/RowVariantPrimary.js.map +2 -2
  140. package/dist/cjs/parts/RowVariants/RowVariantSecondary.js +15 -22
  141. package/dist/cjs/parts/RowVariants/RowVariantSecondary.js.map +2 -2
  142. package/dist/cjs/parts/RowVariants/RowVariantSkeleton.js.map +2 -2
  143. package/dist/cjs/parts/RowVariants/index.js.map +2 -2
  144. package/dist/cjs/parts/RowVariants/types.js.map +1 -1
  145. package/dist/cjs/parts/Rows.js +4 -4
  146. package/dist/cjs/parts/Rows.js.map +2 -2
  147. package/dist/cjs/parts/SortByCaret.js +1 -1
  148. package/dist/cjs/parts/SortByCaret.js.map +2 -2
  149. package/dist/cjs/parts/SortableHeaderCell.js +17 -7
  150. package/dist/cjs/parts/SortableHeaderCell.js.map +2 -2
  151. package/dist/cjs/parts/VirtualRowsList.js +16 -7
  152. package/dist/cjs/parts/VirtualRowsList.js.map +2 -2
  153. package/dist/cjs/{DataTableSchema.js → react-desc-prop-types.js} +89 -44
  154. package/dist/cjs/react-desc-prop-types.js.map +7 -0
  155. package/dist/cjs/styled.js +54 -22
  156. package/dist/cjs/styled.js.map +2 -2
  157. package/dist/cjs/types/FunctionalHoC.js.map +1 -1
  158. package/dist/esm/DataTable.js +3 -5
  159. package/dist/esm/DataTable.js.map +2 -2
  160. package/dist/esm/DataTableContext.js +2 -41
  161. package/dist/esm/DataTableContext.js.map +2 -2
  162. package/dist/esm/addons/Columns/ColumnAction/ColumnAction.js +3 -1
  163. package/dist/esm/addons/Columns/ColumnAction/ColumnAction.js.map +2 -2
  164. package/dist/esm/addons/Columns/ColumnDragHandle/ColumnDragHandle.js +3 -1
  165. package/dist/esm/addons/Columns/ColumnDragHandle/ColumnDragHandle.js.map +2 -2
  166. package/dist/esm/addons/Columns/ColumnExpand/ColumnExpand.js +3 -2
  167. package/dist/esm/addons/Columns/ColumnExpand/ColumnExpand.js.map +2 -2
  168. package/dist/esm/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js +5 -3
  169. package/dist/esm/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js.map +3 -3
  170. package/dist/esm/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js +4 -2
  171. package/dist/esm/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js.map +2 -2
  172. package/dist/esm/addons/Editables/ComboboxEditableCell/ComboboxEditableCell.js +9 -5
  173. package/dist/esm/addons/Editables/ComboboxEditableCell/ComboboxEditableCell.js.map +2 -2
  174. package/dist/esm/addons/Editables/DateEditableCell/DateEditableCell.js +6 -9
  175. package/dist/esm/addons/Editables/DateEditableCell/DateEditableCell.js.map +2 -2
  176. package/dist/esm/addons/Editables/TextEditableCell/TextEditableCell.js +2 -3
  177. package/dist/esm/addons/Editables/TextEditableCell/TextEditableCell.js.map +2 -2
  178. package/dist/esm/addons/Filters/Components/CurrencyRangeFilter/index.js +2 -1
  179. package/dist/esm/addons/Filters/Components/CurrencyRangeFilter/index.js.map +2 -2
  180. package/dist/esm/addons/Filters/Components/DateRangeFilter/index.js.map +2 -2
  181. package/dist/esm/addons/Filters/Components/DateSwitcherFilter/index.js.map +2 -2
  182. package/dist/esm/addons/Filters/Components/NumberRangeFilter/index.js +2 -1
  183. package/dist/esm/addons/Filters/Components/NumberRangeFilter/index.js.map +2 -2
  184. package/dist/esm/addons/Filters/Components/SelectFilter/BaseSelectFilter.js.map +2 -2
  185. package/dist/esm/addons/Filters/Components/SelectFilter/MultiCreatableFilter.js.map +2 -2
  186. package/dist/esm/addons/Filters/Components/SelectFilter/MultiSelectFilter.js.map +2 -2
  187. package/dist/esm/addons/Filters/Components/SelectFilter/SingleCreatableFilter.js.map +2 -2
  188. package/dist/esm/addons/Filters/Components/SelectFilter/SingleSelectFilter.js.map +2 -2
  189. package/dist/esm/addons/Filters/Components/SingleDateFilter/index.js.map +2 -2
  190. package/dist/esm/addons/Pagination/Pagination.js +2 -3
  191. package/dist/esm/addons/Pagination/Pagination.js.map +2 -2
  192. package/dist/esm/configs/constants.js +11 -5
  193. package/dist/esm/configs/constants.js.map +3 -3
  194. package/dist/esm/configs/useDatatableConfig.js +20 -20
  195. package/dist/esm/configs/useDatatableConfig.js.map +2 -2
  196. package/dist/esm/configs/useInternalStateConfig.js.map +2 -2
  197. package/dist/esm/configs/usePaginationConfig.js.map +2 -2
  198. package/dist/esm/configs/useRowFlattenization.js.map +2 -2
  199. package/dist/esm/configs/useTableColsWithAddons.js.map +2 -2
  200. package/dist/esm/configs/useTableResizeCb.js +2 -2
  201. package/dist/esm/configs/useTableResizeCb.js.map +2 -2
  202. package/dist/esm/exported-related/EditableCell.js.map +2 -2
  203. package/dist/esm/exported-related/FilterBar/FilterBarDropdownMenu.js +3 -2
  204. package/dist/esm/exported-related/FilterBar/FilterBarDropdownMenu.js.map +2 -2
  205. package/dist/esm/exported-related/FilterPopover/index.js +13 -3
  206. package/dist/esm/exported-related/FilterPopover/index.js.map +2 -2
  207. package/dist/esm/exported-related/FilterPopover/useGetFilterHandlers.js.map +2 -2
  208. package/dist/esm/exported-related/FilterPopover/useGetFilterVisibility.js.map +2 -2
  209. package/dist/esm/exported-related/Filters/applyOutOfTheBoxFilters.js.map +2 -2
  210. package/dist/esm/exported-related/Filters/currencyRangeFilterFn.js +10 -3
  211. package/dist/esm/exported-related/Filters/currencyRangeFilterFn.js.map +2 -2
  212. package/dist/esm/exported-related/Filters/multiSelectFilterFn.js +1 -1
  213. package/dist/esm/exported-related/Filters/multiSelectFilterFn.js.map +2 -2
  214. package/dist/esm/exported-related/Filters/numberRangeFilterFn.js.map +2 -2
  215. package/dist/esm/exported-related/Filters/singleSelectFilterFn.js +1 -1
  216. package/dist/esm/exported-related/Filters/singleSelectFilterFn.js.map +2 -2
  217. package/dist/esm/exported-related/RowRenderer/DefaultRowContentRenderer.js +3 -14
  218. package/dist/esm/exported-related/RowRenderer/DefaultRowContentRenderer.js.map +2 -2
  219. package/dist/esm/exported-related/RowRenderer/index.js.map +2 -2
  220. package/dist/esm/exported-related/RowRenderer/useRowRendererHandlers.js.map +1 -1
  221. package/dist/esm/exported-related/RowRenderer/useRowRendererProperties.js.map +2 -2
  222. package/dist/esm/exported-related/RowRenderer/useRowStyle.js.map +1 -1
  223. package/dist/esm/exported-related/Toolbar/Toolbar.js +1 -1
  224. package/dist/esm/exported-related/Toolbar/Toolbar.js.map +2 -2
  225. package/dist/esm/exported-related/groupBy.js.map +2 -2
  226. package/dist/esm/helpers/addCellData.js.map +2 -2
  227. package/dist/esm/helpers/cellPadding.js.map +1 -1
  228. package/dist/esm/helpers/columnsToGrid.js +1 -1
  229. package/dist/esm/helpers/columnsToGrid.js.map +2 -2
  230. package/dist/esm/helpers/getIdFromUniqueRowAccessor.js +2 -2
  231. package/dist/esm/helpers/getIdFromUniqueRowAccessor.js.map +2 -2
  232. package/dist/esm/helpers/index.js +0 -1
  233. package/dist/esm/helpers/index.js.map +2 -2
  234. package/dist/esm/index.js +5 -1
  235. package/dist/esm/index.js.map +2 -2
  236. package/dist/esm/parts/Cells/Cell.js +1 -1
  237. package/dist/esm/parts/Cells/Cell.js.map +2 -2
  238. package/dist/esm/parts/Cells/index.js.map +2 -2
  239. package/dist/esm/parts/Cells/useCellStyle.js.map +1 -1
  240. package/dist/esm/parts/DnDHandle.js +2 -1
  241. package/dist/esm/parts/DnDHandle.js.map +2 -2
  242. package/dist/esm/parts/DropIndicator.js +2 -2
  243. package/dist/esm/parts/DropIndicator.js.map +2 -2
  244. package/dist/esm/parts/EmptyContent.js +8 -8
  245. package/dist/esm/parts/EmptyContent.js.map +2 -2
  246. package/dist/esm/parts/FilterBar/DeprecatedDropdown.js +51 -0
  247. package/dist/esm/parts/FilterBar/DeprecatedDropdown.js.map +7 -0
  248. package/dist/esm/parts/FilterBar/FiltersBar.js +10 -32
  249. package/dist/esm/parts/FilterBar/FiltersBar.js.map +2 -2
  250. package/dist/esm/parts/FilterBar/components/DateRangePill.js +1 -10
  251. package/dist/esm/parts/FilterBar/components/DateRangePill.js.map +2 -2
  252. package/dist/esm/parts/FilterBar/components/DateSwitcherPill.js +1 -10
  253. package/dist/esm/parts/FilterBar/components/DateSwitcherPill.js.map +2 -2
  254. package/dist/esm/parts/FilterBar/components/MultiSelectPill.js +3 -2
  255. package/dist/esm/parts/FilterBar/components/MultiSelectPill.js.map +2 -2
  256. package/dist/esm/parts/FilterBar/components/NumberRangePill.js.map +2 -2
  257. package/dist/esm/parts/FilterBar/components/SelectPill.js.map +2 -2
  258. package/dist/esm/parts/FilterBar/components/SingleDatePill.js.map +2 -2
  259. package/dist/esm/parts/FilterBar/styled.js +0 -5
  260. package/dist/esm/parts/FilterBar/styled.js.map +2 -2
  261. package/dist/esm/parts/Filters/index.js +1 -0
  262. package/dist/esm/parts/Filters/index.js.map +2 -2
  263. package/dist/esm/parts/Headers/HeaderCell.js +16 -14
  264. package/dist/esm/parts/Headers/HeaderCell.js.map +2 -2
  265. package/dist/esm/parts/Headers/HeaderCellGroup.js.map +2 -2
  266. package/dist/esm/parts/Headers/HeaderCellTitle.js +11 -2
  267. package/dist/esm/parts/Headers/HeaderCellTitle.js.map +2 -2
  268. package/dist/esm/parts/Headers/HeaderResizer.js +21 -72
  269. package/dist/esm/parts/Headers/HeaderResizer.js.map +2 -2
  270. package/dist/esm/parts/Headers/index.js +1 -2
  271. package/dist/esm/parts/Headers/index.js.map +2 -2
  272. package/dist/esm/parts/Headers/useHeaderCellConfig.js +2 -2
  273. package/dist/esm/parts/Headers/useHeaderCellConfig.js.map +2 -2
  274. package/dist/esm/parts/Headers/useHeaderCellHandlers.js +9 -3
  275. package/dist/esm/parts/Headers/useHeaderCellHandlers.js.map +2 -2
  276. package/dist/esm/parts/Headers/useHeaderResizer.js +109 -0
  277. package/dist/esm/parts/Headers/useHeaderResizer.js.map +7 -0
  278. package/dist/esm/parts/HoC/DnDTreeContext.js.map +1 -1
  279. package/dist/esm/parts/HoC/SortableItemContext.js.map +1 -1
  280. package/dist/esm/parts/HoC/withConditionalDnDColumnContext.js +5 -1
  281. package/dist/esm/parts/HoC/withConditionalDnDColumnContext.js.map +2 -2
  282. package/dist/esm/parts/HoC/withConditionalDnDRowContext.js +5 -1
  283. package/dist/esm/parts/HoC/withConditionalDnDRowContext.js.map +2 -2
  284. package/dist/esm/parts/HoC/withConditionalDnDSortableContext.js +2 -1
  285. package/dist/esm/parts/HoC/withConditionalDnDSortableContext.js.map +2 -2
  286. package/dist/esm/parts/HoC/withDnDSortableColumnContext.js +4 -3
  287. package/dist/esm/parts/HoC/withDnDSortableColumnContext.js.map +2 -2
  288. package/dist/esm/parts/HoC/withDnDSortableRowContext.js +1 -1
  289. package/dist/esm/parts/HoC/withDnDSortableRowContext.js.map +2 -2
  290. package/dist/esm/parts/Row.js.map +2 -2
  291. package/dist/esm/parts/RowVariants/RowVariantHeader.js +4 -4
  292. package/dist/esm/parts/RowVariants/RowVariantHeader.js.map +2 -2
  293. package/dist/esm/parts/RowVariants/RowVariantPrimary.js +14 -21
  294. package/dist/esm/parts/RowVariants/RowVariantPrimary.js.map +2 -2
  295. package/dist/esm/parts/RowVariants/RowVariantSecondary.js +15 -22
  296. package/dist/esm/parts/RowVariants/RowVariantSecondary.js.map +2 -2
  297. package/dist/esm/parts/RowVariants/RowVariantSkeleton.js.map +2 -2
  298. package/dist/esm/parts/RowVariants/index.js.map +2 -2
  299. package/dist/esm/parts/Rows.js +4 -4
  300. package/dist/esm/parts/Rows.js.map +2 -2
  301. package/dist/esm/parts/SortByCaret.js +1 -1
  302. package/dist/esm/parts/SortByCaret.js.map +2 -2
  303. package/dist/esm/parts/SortableHeaderCell.js +17 -7
  304. package/dist/esm/parts/SortableHeaderCell.js.map +2 -2
  305. package/dist/esm/parts/VirtualRowsList.js +16 -7
  306. package/dist/esm/parts/VirtualRowsList.js.map +2 -2
  307. package/dist/esm/{DataTableSchema.js → react-desc-prop-types.js} +86 -41
  308. package/dist/esm/react-desc-prop-types.js.map +7 -0
  309. package/dist/esm/styled.js +54 -22
  310. package/dist/esm/styled.js.map +2 -2
  311. package/dist/types/DataTable.d.ts +3 -86
  312. package/dist/types/DataTableContext.d.ts +2 -3
  313. package/dist/types/addons/Columns/ColumnAction/ColumnAction.d.ts +2 -2
  314. package/dist/types/addons/Columns/ColumnDragHandle/ColumnDragHandle.d.ts +2 -2
  315. package/dist/types/addons/Columns/ColumnExpand/ColumnExpand.d.ts +2 -2
  316. package/dist/types/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.d.ts +2 -2
  317. package/dist/types/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.d.ts +2 -2
  318. package/dist/types/addons/Editables/ComboboxEditableCell/ComboboxEditableCell.d.ts +6 -1
  319. package/dist/types/addons/Editables/DateEditableCell/DateEditableCell.d.ts +7 -1
  320. package/dist/types/addons/Editables/TextEditableCell/TextEditableCell.d.ts +6 -1
  321. package/dist/types/addons/Filters/Components/CurrencyRangeFilter/index.d.ts +2 -2
  322. package/dist/types/addons/Filters/Components/DateRangeFilter/index.d.ts +2 -2
  323. package/dist/types/addons/Filters/Components/DateSwitcherFilter/index.d.ts +2 -2
  324. package/dist/types/addons/Filters/Components/NumberRangeFilter/index.d.ts +2 -2
  325. package/dist/types/addons/Filters/Components/SelectFilter/BaseSelectFilter.d.ts +2 -2
  326. package/dist/types/addons/Filters/Components/SelectFilter/MultiCreatableFilter.d.ts +2 -2
  327. package/dist/types/addons/Filters/Components/SelectFilter/MultiSelectFilter.d.ts +2 -2
  328. package/dist/types/addons/Filters/Components/SelectFilter/SingleCreatableFilter.d.ts +2 -2
  329. package/dist/types/addons/Filters/Components/SelectFilter/SingleSelectFilter.d.ts +2 -2
  330. package/dist/types/addons/Filters/Components/SingleDateFilter/index.d.ts +2 -2
  331. package/dist/types/configs/constants.d.ts +10 -4
  332. package/dist/types/configs/useDatatableConfig.d.ts +2 -2
  333. package/dist/types/configs/useInternalStateConfig.d.ts +3 -3
  334. package/dist/types/configs/usePaginationConfig.d.ts +2 -2
  335. package/dist/types/configs/useRowFlattenization.d.ts +2 -2
  336. package/dist/types/configs/useTableColsWithAddons.d.ts +2 -2
  337. package/dist/types/configs/useTableResizeCb.d.ts +2 -2
  338. package/dist/types/exported-related/EditableCell.d.ts +7 -1
  339. package/dist/types/exported-related/FilterBar/FilterBarDropdownMenu.d.ts +2 -1
  340. package/dist/types/exported-related/FilterPopover/types.d.ts +5 -5
  341. package/dist/types/exported-related/FilterPopover/useGetFilterHandlers.d.ts +1 -1
  342. package/dist/types/exported-related/FilterPopover/useGetFilterVisibility.d.ts +2 -2
  343. package/dist/types/exported-related/Filters/applyOutOfTheBoxFilters.d.ts +2 -2
  344. package/dist/types/exported-related/Filters/numberRangeFilterFn.d.ts +2 -2
  345. package/dist/types/exported-related/Filters/types.d.ts +2 -2
  346. package/dist/types/exported-related/RowRenderer/index.d.ts +4 -4
  347. package/dist/types/exported-related/RowRenderer/useRowRendererHandlers.d.ts +3 -3
  348. package/dist/types/exported-related/RowRenderer/useRowRendererProperties.d.ts +4 -5
  349. package/dist/types/exported-related/RowRenderer/useRowStyle.d.ts +3 -3
  350. package/dist/types/exported-related/Toolbar/Toolbar.d.ts +2 -2
  351. package/dist/types/exported-related/groupBy.d.ts +2 -1
  352. package/dist/types/helpers/addCellData.d.ts +2 -2
  353. package/dist/types/helpers/cellPadding.d.ts +3 -3
  354. package/dist/types/helpers/columnsToGrid.d.ts +2 -3
  355. package/dist/types/helpers/getIdFromUniqueRowAccessor.d.ts +2 -2
  356. package/dist/types/helpers/index.d.ts +0 -1
  357. package/dist/types/index.d.ts +2 -1
  358. package/dist/types/parts/Cells/Cell.d.ts +4 -4
  359. package/dist/types/parts/Cells/index.d.ts +2 -2
  360. package/dist/types/parts/Cells/useCellStyle.d.ts +2 -2
  361. package/dist/types/parts/DnDHandle.d.ts +2 -2
  362. package/dist/types/parts/DropIndicator.d.ts +2 -2
  363. package/dist/types/parts/EmptyContent.d.ts +1 -3
  364. package/dist/types/parts/FilterBar/DeprecatedDropdown.d.ts +13 -0
  365. package/dist/types/parts/FilterBar/components/DateRangePill.d.ts +4 -3
  366. package/dist/types/parts/FilterBar/components/DateSwitcherPill.d.ts +4 -3
  367. package/dist/types/parts/FilterBar/components/MultiSelectPill.d.ts +3 -2
  368. package/dist/types/parts/FilterBar/components/NumberRangePill.d.ts +4 -3
  369. package/dist/types/parts/FilterBar/components/SelectPill.d.ts +3 -2
  370. package/dist/types/parts/FilterBar/components/SingleDatePill.d.ts +3 -2
  371. package/dist/types/parts/FilterBar/styled.d.ts +0 -1
  372. package/dist/types/parts/Filters/index.d.ts +2 -2
  373. package/dist/types/parts/Headers/HeaderCell.d.ts +3 -3
  374. package/dist/types/parts/Headers/HeaderCellGroup.d.ts +3 -3
  375. package/dist/types/parts/Headers/HeaderCellTitle.d.ts +5 -5
  376. package/dist/types/parts/Headers/HeaderResizer.d.ts +4 -2
  377. package/dist/types/parts/Headers/index.d.ts +2 -2
  378. package/dist/types/parts/Headers/useHeaderCellConfig.d.ts +3 -3
  379. package/dist/types/parts/Headers/useHeaderCellHandlers.d.ts +3 -2
  380. package/dist/types/parts/Headers/useHeaderResizer.d.ts +10 -0
  381. package/dist/types/parts/HoC/DnDTreeContext.d.ts +3 -3
  382. package/dist/types/parts/HoC/SortableItemContext.d.ts +2 -2
  383. package/dist/types/parts/HoC/withConditionalDnDSortableContext.d.ts +8 -3
  384. package/dist/types/parts/HoC/withDnDSortableColumnContext.d.ts +5 -2
  385. package/dist/types/parts/HoC/withDnDSortableRowContext.d.ts +5 -2
  386. package/dist/types/parts/Row.d.ts +14 -3
  387. package/dist/types/parts/RowVariants/RowVariantHeader.d.ts +2 -2
  388. package/dist/types/parts/RowVariants/RowVariantPrimary.d.ts +4 -2
  389. package/dist/types/parts/RowVariants/RowVariantSecondary.d.ts +4 -2
  390. package/dist/types/parts/RowVariants/RowVariantSkeleton.d.ts +2 -2
  391. package/dist/types/parts/RowVariants/index.d.ts +2 -11
  392. package/dist/types/parts/RowVariants/types.d.ts +6 -5
  393. package/dist/types/parts/Rows.d.ts +2 -2
  394. package/dist/types/parts/SortableHeaderCell.d.ts +2 -3
  395. package/dist/types/react-desc-prop-types.d.ts +310 -0
  396. package/dist/types/styled.d.ts +13 -16
  397. package/dist/types/types/FunctionalHoC.d.ts +1 -1
  398. package/package.json +22 -22
  399. package/dist/cjs/DataTableSchema.js.map +0 -7
  400. package/dist/cjs/helpers/refs-helpers.js +0 -51
  401. package/dist/cjs/helpers/refs-helpers.js.map +0 -7
  402. package/dist/cjs/parts/FilterBar/types.js +0 -28
  403. package/dist/cjs/parts/FilterBar/types.js.map +0 -7
  404. package/dist/cjs/types/props.js +0 -42
  405. package/dist/cjs/types/props.js.map +0 -7
  406. package/dist/esm/DataTableSchema.js.map +0 -7
  407. package/dist/esm/helpers/refs-helpers.js +0 -21
  408. package/dist/esm/helpers/refs-helpers.js.map +0 -7
  409. package/dist/esm/parts/FilterBar/types.js +0 -2
  410. package/dist/esm/parts/FilterBar/types.js.map +0 -7
  411. package/dist/esm/types/props.js +0 -12
  412. package/dist/esm/types/props.js.map +0 -7
  413. package/dist/types/DataTableSchema.d.ts +0 -2
  414. package/dist/types/helpers/refs-helpers.d.ts +0 -1
  415. package/dist/types/parts/FilterBar/types.d.ts +0 -19
  416. package/dist/types/types/props.d.ts +0 -276
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/configs/useDatatableConfig.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["/* eslint-disable max-statements */\nimport { useEffect, useMemo, useRef, useState } from 'react';\nimport { useVirtual } from 'react-virtual';\nimport { columnsToGrid } from '../helpers/columnsToGrid.js';\nimport type { TypescriptColumn, TypescriptContext, TypescriptProps } from '../types/props.js';\nimport { useRowFlattenization } from './useRowFlattenization.js';\nimport { usePaginationConfig } from './usePaginationConfig.js';\nimport { useTableColsWithAddons } from './useTableColsWithAddons.js';\nimport { ColsLayoutStyle } from './constants.js';\nimport { useInternalStateConfig } from './useInternalStateConfig.js';\nimport { useTableResizeCb } from './useTableResizeCb.js';\n\nconst estimateSize = () => 36;\n\nexport const useDatatableConfig = (props: TypescriptProps): TypescriptContext => {\n const virtualListRef = useRef<HTMLDivElement>(null);\n const columnHeaderRef = useRef<HTMLDivElement>(null);\n const [isShiftPressed, setIsShiftPressed] = useState(false);\n const lastSelected = useRef<number>(-1);\n\n // ===========================================================================\n // Column config\n // ===========================================================================\n const tableColsWithAddons = useTableColsWithAddons(props);\n const visibleColumns = useMemo(\n () =>\n tableColsWithAddons\n .filter((col: TypescriptColumn) => !props.hiddenColumns?.includes(col.accessor))\n .map((col: TypescriptColumn) => {\n if (col.columns) {\n col.columns = col.columns.filter(\n (subCol: TypescriptColumn) => !props.hiddenColumns?.includes(subCol.accessor),\n );\n }\n return col;\n }),\n [props.hiddenColumns, tableColsWithAddons],\n );\n\n // ===========================================================================\n // Virtualization\n // ===========================================================================\n\n const [dataLength, setDataLength] = useState(1);\n\n // estimateSize should not be really required given what was stated on\n // https://github.com/tannerlinsley/react-virtual/issues/23\n const virtualListHelpers = useVirtual({\n size: dataLength,\n parentRef: virtualListRef,\n overscan: 15,\n paddingStart: columnHeaderRef.current?.getBoundingClientRect()?.height ?? 24,\n estimateSize,\n });\n\n // ===========================================================================\n // Action ref setup\n // ===========================================================================\n useEffect(() => {\n if (props.actionRef) {\n props.actionRef.current.scrollToIndex = virtualListHelpers.scrollToIndex;\n props.actionRef.current.scrollToOffset = virtualListHelpers.scrollToOffset;\n }\n }, [props.actionRef, virtualListHelpers.scrollToIndex, virtualListHelpers.scrollToOffset]);\n\n // ===========================================================================\n // Data flattenization and pagination\n // ===========================================================================\n\n const [flattenedData, allDataFlattened] = useRowFlattenization(props);\n\n const [paginatedData, paginationHelpers] = usePaginationConfig(props, flattenedData);\n\n // Redo virtualization until we match the lengths\n if (dataLength !== (paginatedData || flattenedData).length) setDataLength((paginatedData || flattenedData).length);\n\n // ===========================================================================\n // Layout config\n // ===========================================================================\n\n const [gridLayout, setGridLayout] = useState(columnsToGrid(visibleColumns, props.colsLayoutStyle));\n\n // We need to listen and update the state based on this props\n useEffect(() => {\n setGridLayout(columnsToGrid(visibleColumns, props.colsLayoutStyle));\n }, [visibleColumns, props.colsLayoutStyle]);\n\n const totalColumnsWidth = useMemo(\n () =>\n props.colsLayoutStyle === ColsLayoutStyle.Fixed\n ? gridLayout.reduce((acc: number, cur: string) => acc + Number.parseInt(cur, 10), 0)\n : '100%',\n [props.colsLayoutStyle, gridLayout],\n );\n\n const layoutHelpers = useMemo(\n () => ({\n gridLayout,\n setGridLayout,\n totalColumnsWidth,\n }),\n [gridLayout, totalColumnsWidth],\n );\n\n // ===========================================================================\n // Internal state config\n // ===========================================================================\n\n const internalState = useInternalStateConfig();\n useTableResizeCb({ virtualListRef, internalProps: props });\n\n const ctx = useMemo(\n () => ({\n tableProps: props,\n layoutHelpers,\n paginationHelpers,\n visibleColumns,\n virtualListHelpers,\n flattenedData: paginatedData || flattenedData,\n allDataFlattened,\n virtualListRef,\n columnHeaderRef,\n ...internalState,\n isShiftPressed,\n setIsShiftPressed,\n lastSelected,\n }),\n [\n props,\n layoutHelpers,\n paginationHelpers,\n visibleColumns,\n virtualListHelpers,\n paginatedData,\n flattenedData,\n allDataFlattened,\n virtualListRef,\n columnHeaderRef,\n internalState,\n isShiftPressed,\n setIsShiftPressed,\n lastSelected,\n ],\n );\n\n return ctx;\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,mBAAqD;AACrD,2BAA2B;AAC3B,2BAA8B;AAE9B,kCAAqC;AACrC,iCAAoC;AACpC,oCAAuC;AACvC,uBAAgC;AAChC,oCAAuC;AACvC,8BAAiC;AAEjC,MAAM,eAAe,MAAM;AAEpB,MAAM,qBAAqB,CAAC,UAA8C;AAC/E,QAAM,qBAAiB,qBAAuB,IAAI;AAClD,QAAM,sBAAkB,qBAAuB,IAAI;AACnD,QAAM,CAAC,gBAAgB,iBAAiB,QAAI,uBAAS,KAAK;AAC1D,QAAM,mBAAe,qBAAe,EAAE;AAKtC,QAAM,0BAAsB,sDAAuB,KAAK;AACxD,QAAM,qBAAiB;AAAA,IACrB,MACE,oBACG,OAAO,CAAC,QAA0B,CAAC,MAAM,eAAe,SAAS,IAAI,QAAQ,CAAC,EAC9E,IAAI,CAAC,QAA0B;AAC9B,UAAI,IAAI,SAAS;AACf,YAAI,UAAU,IAAI,QAAQ;AAAA,UACxB,CAAC,WAA6B,CAAC,MAAM,eAAe,SAAS,OAAO,QAAQ;AAAA,QAC9E;AAAA,MACF;AACA,aAAO;AAAA,IACT,CAAC;AAAA,IACL,CAAC,MAAM,eAAe,mBAAmB;AAAA,EAC3C;AAMA,QAAM,CAAC,YAAY,aAAa,QAAI,uBAAS,CAAC;AAI9C,QAAM,yBAAqB,iCAAW;AAAA,IACpC,MAAM;AAAA,IACN,WAAW;AAAA,IACX,UAAU;AAAA,IACV,cAAc,gBAAgB,SAAS,sBAAsB,GAAG,UAAU;AAAA,IAC1E;AAAA,EACF,CAAC;AAKD,8BAAU,MAAM;AACd,QAAI,MAAM,WAAW;AACnB,YAAM,UAAU,QAAQ,gBAAgB,mBAAmB;AAC3D,YAAM,UAAU,QAAQ,iBAAiB,mBAAmB;AAAA,IAC9D;AAAA,EACF,GAAG,CAAC,MAAM,WAAW,mBAAmB,eAAe,mBAAmB,cAAc,CAAC;AAMzF,QAAM,CAAC,eAAe,gBAAgB,QAAI,kDAAqB,KAAK;AAEpE,QAAM,CAAC,eAAe,iBAAiB,QAAI,gDAAoB,OAAO,aAAa;AAGnF,MAAI,gBAAgB,iBAAiB,eAAe;AAAQ,mBAAe,iBAAiB,eAAe,MAAM;AAMjH,QAAM,CAAC,YAAY,aAAa,QAAI,2BAAS,oCAAc,gBAAgB,MAAM,eAAe,CAAC;AAGjG,8BAAU,MAAM;AACd,sBAAc,oCAAc,gBAAgB,MAAM,eAAe,CAAC;AAAA,EACpE,GAAG,CAAC,gBAAgB,MAAM,eAAe,CAAC;AAE1C,QAAM,wBAAoB;AAAA,IACxB,MACE,MAAM,oBAAoB,iCAAgB,QACtC,WAAW,OAAO,CAAC,KAAa,QAAgB,MAAM,OAAO,SAAS,KAAK,EAAE,GAAG,CAAC,IACjF;AAAA,IACN,CAAC,MAAM,iBAAiB,UAAU;AAAA,EACpC;AAEA,QAAM,oBAAgB;AAAA,IACpB,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,CAAC,YAAY,iBAAiB;AAAA,EAChC;AAMA,QAAM,oBAAgB,sDAAuB;AAC7C,gDAAiB,EAAE,gBAAgB,eAAe,MAAM,CAAC;AAEzD,QAAM,UAAM;AAAA,IACV,OAAO;AAAA,MACL,YAAY;AAAA,MACZ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,eAAe,iBAAiB;AAAA,MAChC;AAAA,MACA;AAAA,MACA;AAAA,MACA,GAAG;AAAA,MACH;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACT;",
4
+ "sourcesContent": ["/* eslint-disable max-statements */\nimport { useEffect, useMemo, useRef, useState } from 'react';\nimport { useVirtual } from 'react-virtual';\nimport { useMemoMergePropsWithDefault } from '@elliemae/ds-props-helpers';\nimport { columnsToGrid } from '../helpers/columnsToGrid.js';\nimport type { DSDataTableT } from '../react-desc-prop-types.js';\nimport { useRowFlattenization } from './useRowFlattenization.js';\nimport { usePaginationConfig } from './usePaginationConfig.js';\nimport { useTableColsWithAddons } from './useTableColsWithAddons.js';\nimport { ColsLayoutStyle } from './constants.js';\nimport { useInternalStateConfig } from './useInternalStateConfig.js';\nimport { useTableResizeCb } from './useTableResizeCb.js';\nimport { defaultProps } from '../react-desc-prop-types.js';\n\nconst estimateSize = () => 36;\n\nexport const useDatatableConfig = (props: DSDataTableT.Props): DSDataTableT.Context => {\n const propsWithDefault = useMemoMergePropsWithDefault<DSDataTableT.InternalProps>(props, defaultProps);\n\n const { actionRef, colsLayoutStyle, hiddenColumns } = propsWithDefault;\n\n const virtualListRef = useRef<HTMLDivElement>(null);\n const columnHeaderRef = useRef<HTMLDivElement>(null);\n const [isShiftPressed, setIsShiftPressed] = useState(false);\n const lastSelected = useRef<number>(-1);\n\n // ===========================================================================\n // Column config\n // ===========================================================================\n const tableColsWithAddons = useTableColsWithAddons(propsWithDefault);\n const visibleColumns = useMemo(\n () =>\n tableColsWithAddons\n .filter((col) => col.accessor === undefined || !hiddenColumns?.includes(col.accessor))\n .map((col) => {\n if (col.columns) {\n col.columns = col.columns.filter(\n (subCol: DSDataTableT.Column) =>\n subCol.accessor === undefined || !hiddenColumns?.includes(subCol.accessor),\n );\n }\n return col;\n }),\n [hiddenColumns, tableColsWithAddons],\n );\n\n // ===========================================================================\n // Virtualization\n // ===========================================================================\n\n const [dataLength, setDataLength] = useState(1);\n\n // estimateSize should not be really required given what was stated on\n // https://github.com/tannerlinsley/react-virtual/issues/23\n const virtualListHelpers = useVirtual({\n size: dataLength,\n parentRef: virtualListRef,\n overscan: 15,\n paddingStart: columnHeaderRef.current?.getBoundingClientRect()?.height ?? 24,\n estimateSize,\n });\n\n // ===========================================================================\n // Action ref setup\n // ===========================================================================\n useEffect(() => {\n if (actionRef) {\n actionRef.current.scrollToIndex = virtualListHelpers.scrollToIndex;\n actionRef.current.scrollToOffset = virtualListHelpers.scrollToOffset;\n }\n }, [actionRef, virtualListHelpers.scrollToIndex, virtualListHelpers.scrollToOffset]);\n\n // ===========================================================================\n // Data flattenization and pagination\n // ===========================================================================\n\n const [flattenedData, allDataFlattened] = useRowFlattenization(propsWithDefault);\n\n const [paginatedData, paginationHelpers] = usePaginationConfig(propsWithDefault, flattenedData);\n\n // Redo virtualization until we match the lengths\n if (dataLength !== (paginatedData || flattenedData).length) setDataLength((paginatedData || flattenedData).length);\n\n // ===========================================================================\n // Layout config\n // ===========================================================================\n\n const gridLayout = useMemo(() => columnsToGrid(visibleColumns, colsLayoutStyle), [colsLayoutStyle, visibleColumns]);\n\n // We need to listen and update the state based on this props\n const totalColumnsWidth = useMemo(\n () =>\n colsLayoutStyle === ColsLayoutStyle.Fixed\n ? gridLayout.reduce((acc: number, cur: string) => acc + Number.parseInt(cur, 10), 0)\n : '100%',\n [colsLayoutStyle, gridLayout],\n );\n\n const layoutHelpers = useMemo(\n () => ({\n gridLayout,\n totalColumnsWidth,\n }),\n [gridLayout, totalColumnsWidth],\n );\n\n // ===========================================================================\n // Internal state config\n // ===========================================================================\n\n const internalState = useInternalStateConfig();\n useTableResizeCb({ virtualListRef, propsWithDefault });\n\n const ctx = useMemo(\n () => ({\n tableProps: propsWithDefault,\n layoutHelpers,\n paginationHelpers,\n visibleColumns,\n virtualListHelpers,\n flattenedData: paginatedData || flattenedData,\n allDataFlattened,\n virtualListRef,\n columnHeaderRef,\n ...internalState,\n isShiftPressed,\n setIsShiftPressed,\n lastSelected,\n }),\n [\n propsWithDefault,\n layoutHelpers,\n paginationHelpers,\n visibleColumns,\n virtualListHelpers,\n paginatedData,\n flattenedData,\n allDataFlattened,\n virtualListRef,\n columnHeaderRef,\n internalState,\n isShiftPressed,\n setIsShiftPressed,\n lastSelected,\n ],\n );\n\n return ctx;\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,mBAAqD;AACrD,2BAA2B;AAC3B,8BAA6C;AAC7C,2BAA8B;AAE9B,kCAAqC;AACrC,iCAAoC;AACpC,oCAAuC;AACvC,uBAAgC;AAChC,oCAAuC;AACvC,8BAAiC;AACjC,mCAA6B;AAE7B,MAAM,eAAe,MAAM;AAEpB,MAAM,qBAAqB,CAAC,UAAoD;AACrF,QAAM,uBAAmB,sDAAyD,OAAO,yCAAY;AAErG,QAAM,EAAE,WAAW,iBAAiB,cAAc,IAAI;AAEtD,QAAM,qBAAiB,qBAAuB,IAAI;AAClD,QAAM,sBAAkB,qBAAuB,IAAI;AACnD,QAAM,CAAC,gBAAgB,iBAAiB,QAAI,uBAAS,KAAK;AAC1D,QAAM,mBAAe,qBAAe,EAAE;AAKtC,QAAM,0BAAsB,sDAAuB,gBAAgB;AACnE,QAAM,qBAAiB;AAAA,IACrB,MACE,oBACG,OAAO,CAAC,QAAQ,IAAI,aAAa,UAAa,CAAC,eAAe,SAAS,IAAI,QAAQ,CAAC,EACpF,IAAI,CAAC,QAAQ;AACZ,UAAI,IAAI,SAAS;AACf,YAAI,UAAU,IAAI,QAAQ;AAAA,UACxB,CAAC,WACC,OAAO,aAAa,UAAa,CAAC,eAAe,SAAS,OAAO,QAAQ;AAAA,QAC7E;AAAA,MACF;AACA,aAAO;AAAA,IACT,CAAC;AAAA,IACL,CAAC,eAAe,mBAAmB;AAAA,EACrC;AAMA,QAAM,CAAC,YAAY,aAAa,QAAI,uBAAS,CAAC;AAI9C,QAAM,yBAAqB,iCAAW;AAAA,IACpC,MAAM;AAAA,IACN,WAAW;AAAA,IACX,UAAU;AAAA,IACV,cAAc,gBAAgB,SAAS,sBAAsB,GAAG,UAAU;AAAA,IAC1E;AAAA,EACF,CAAC;AAKD,8BAAU,MAAM;AACd,QAAI,WAAW;AACb,gBAAU,QAAQ,gBAAgB,mBAAmB;AACrD,gBAAU,QAAQ,iBAAiB,mBAAmB;AAAA,IACxD;AAAA,EACF,GAAG,CAAC,WAAW,mBAAmB,eAAe,mBAAmB,cAAc,CAAC;AAMnF,QAAM,CAAC,eAAe,gBAAgB,QAAI,kDAAqB,gBAAgB;AAE/E,QAAM,CAAC,eAAe,iBAAiB,QAAI,gDAAoB,kBAAkB,aAAa;AAG9F,MAAI,gBAAgB,iBAAiB,eAAe;AAAQ,mBAAe,iBAAiB,eAAe,MAAM;AAMjH,QAAM,iBAAa,sBAAQ,UAAM,oCAAc,gBAAgB,eAAe,GAAG,CAAC,iBAAiB,cAAc,CAAC;AAGlH,QAAM,wBAAoB;AAAA,IACxB,MACE,oBAAoB,iCAAgB,QAChC,WAAW,OAAO,CAAC,KAAa,QAAgB,MAAM,OAAO,SAAS,KAAK,EAAE,GAAG,CAAC,IACjF;AAAA,IACN,CAAC,iBAAiB,UAAU;AAAA,EAC9B;AAEA,QAAM,oBAAgB;AAAA,IACpB,OAAO;AAAA,MACL;AAAA,MACA;AAAA,IACF;AAAA,IACA,CAAC,YAAY,iBAAiB;AAAA,EAChC;AAMA,QAAM,oBAAgB,sDAAuB;AAC7C,gDAAiB,EAAE,gBAAgB,iBAAiB,CAAC;AAErD,QAAM,UAAM;AAAA,IACV,OAAO;AAAA,MACL,YAAY;AAAA,MACZ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,eAAe,iBAAiB;AAAA,MAChC;AAAA,MACA;AAAA,MACA;AAAA,MACA,GAAG;AAAA,MACH;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AACT;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/configs/useInternalStateConfig.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["import { useCallback, useMemo, useState } from 'react';\nimport type { ReduxHeader } from '../types/props.js';\n\nexport const useInternalStateConfig = () => {\n const [drilldownRowId, setDrilldownRowId] = useState<string | null>(null);\n const [focusedRowId, setFocusedRowId] = useState<string | null>(null);\n\n // TODO: @uluduena partition this state better\n const [reduxHeaders, setReduxHeaders] = useState<Record<string, ReduxHeader>>({});\n\n const patchHeader = useCallback((headerId: string, newHeader: Partial<ReduxHeader>) => {\n setReduxHeaders((prevReduxHeaders) => {\n const nextReduxHeaders = { ...prevReduxHeaders };\n nextReduxHeaders[headerId] = { ...(nextReduxHeaders?.[headerId] ?? {}), ...newHeader };\n return nextReduxHeaders;\n });\n }, []);\n\n const patchHeaderFilterButtonAndMenu = useCallback(\n (headerId: string, value: boolean) => {\n const newState = { hideFilterMenu: value, hideFilterButton: value };\n patchHeader(headerId, newState);\n },\n [patchHeader],\n );\n\n return useMemo(\n () => ({\n drilldownRowId,\n setDrilldownRowId,\n focusedRowId,\n setFocusedRowId,\n reduxHeaders,\n patchHeader,\n patchHeaderFilterButtonAndMenu,\n }),\n [\n drilldownRowId,\n setDrilldownRowId,\n focusedRowId,\n setFocusedRowId,\n reduxHeaders,\n patchHeader,\n patchHeaderFilterButtonAndMenu,\n ],\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAA+C;AAGxC,MAAM,yBAAyB,MAAM;AAC1C,QAAM,CAAC,gBAAgB,iBAAiB,QAAI,uBAAwB,IAAI;AACxE,QAAM,CAAC,cAAc,eAAe,QAAI,uBAAwB,IAAI;AAGpE,QAAM,CAAC,cAAc,eAAe,QAAI,uBAAsC,CAAC,CAAC;AAEhF,QAAM,kBAAc,0BAAY,CAAC,UAAkB,cAAoC;AACrF,oBAAgB,CAAC,qBAAqB;AACpC,YAAM,mBAAmB,EAAE,GAAG,iBAAiB;AAC/C,uBAAiB,QAAQ,IAAI,EAAE,GAAI,mBAAmB,QAAQ,KAAK,CAAC,GAAI,GAAG,UAAU;AACrF,aAAO;AAAA,IACT,CAAC;AAAA,EACH,GAAG,CAAC,CAAC;AAEL,QAAM,qCAAiC;AAAA,IACrC,CAAC,UAAkB,UAAmB;AACpC,YAAM,WAAW,EAAE,gBAAgB,OAAO,kBAAkB,MAAM;AAClE,kBAAY,UAAU,QAAQ;AAAA,IAChC;AAAA,IACA,CAAC,WAAW;AAAA,EACd;AAEA,aAAO;AAAA,IACL,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;",
4
+ "sourcesContent": ["import { useCallback, useMemo, useState } from 'react';\nimport type { DSDataTableT } from '../react-desc-prop-types.js';\n\nexport const useInternalStateConfig = () => {\n const [drilldownRowId, setDrilldownRowId] = useState<string | null>(null);\n const [focusedRowId, setFocusedRowId] = useState<string | null>(null);\n\n // TODO: @uluduena partition this state better\n const [reduxHeaders, setReduxHeaders] = useState<Record<string, DSDataTableT.ReduxHeader>>({});\n\n const patchHeader = useCallback((headerId: string, newHeader: Partial<DSDataTableT.ReduxHeader>) => {\n setReduxHeaders((prevReduxHeaders) => {\n const nextReduxHeaders = { ...prevReduxHeaders };\n nextReduxHeaders[headerId] = { ...(nextReduxHeaders?.[headerId] ?? {}), ...newHeader };\n return nextReduxHeaders;\n });\n }, []);\n\n const patchHeaderFilterButtonAndMenu = useCallback(\n (headerId: string, value: boolean) => {\n const newState = { hideFilterMenu: value, hideFilterButton: value };\n patchHeader(headerId, newState);\n },\n [patchHeader],\n );\n\n return useMemo(\n () => ({\n drilldownRowId,\n setDrilldownRowId,\n focusedRowId,\n setFocusedRowId,\n reduxHeaders,\n patchHeader,\n patchHeaderFilterButtonAndMenu,\n }),\n [\n drilldownRowId,\n setDrilldownRowId,\n focusedRowId,\n setFocusedRowId,\n reduxHeaders,\n patchHeader,\n patchHeaderFilterButtonAndMenu,\n ],\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAA+C;AAGxC,MAAM,yBAAyB,MAAM;AAC1C,QAAM,CAAC,gBAAgB,iBAAiB,QAAI,uBAAwB,IAAI;AACxE,QAAM,CAAC,cAAc,eAAe,QAAI,uBAAwB,IAAI;AAGpE,QAAM,CAAC,cAAc,eAAe,QAAI,uBAAmD,CAAC,CAAC;AAE7F,QAAM,kBAAc,0BAAY,CAAC,UAAkB,cAAiD;AAClG,oBAAgB,CAAC,qBAAqB;AACpC,YAAM,mBAAmB,EAAE,GAAG,iBAAiB;AAC/C,uBAAiB,QAAQ,IAAI,EAAE,GAAI,mBAAmB,QAAQ,KAAK,CAAC,GAAI,GAAG,UAAU;AACrF,aAAO;AAAA,IACT,CAAC;AAAA,EACH,GAAG,CAAC,CAAC;AAEL,QAAM,qCAAiC;AAAA,IACrC,CAAC,UAAkB,UAAmB;AACpC,YAAM,WAAW,EAAE,gBAAgB,OAAO,kBAAkB,MAAM;AAClE,kBAAY,UAAU,QAAQ;AAAA,IAChC;AAAA,IACA,CAAC,WAAW;AAAA,EACd;AAEA,aAAO;AAAA,IACL,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/configs/usePaginationConfig.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["import { useMemo } from 'react';\nimport type { TypescriptPagination, TypescriptProps, TypescriptRow } from '../types/props.js';\n\nconst noPagination: Record<string, never> = {};\n\nconst emptyFunc = () => null;\n\nexport const usePaginationConfig = (\n props: TypescriptProps,\n flattenedData: TypescriptRow[],\n): [TypescriptRow[] | null, TypescriptPagination] => {\n const { pagination, Pagination } = props;\n\n const hasPagination = Boolean(pagination || Pagination);\n\n // Set default values\n const {\n pageIndex = 1,\n canPreviousPage = true,\n canNextPage = true,\n pageSize = 10,\n perPageOptions = [10],\n onPageSizeChange = emptyFunc,\n onPreviousPage = emptyFunc,\n onNextPage = emptyFunc,\n onPageChange = emptyFunc,\n pageCount = Math.ceil(flattenedData.length / pageSize),\n isLoadingPageCount = false,\n dataIsPage = false,\n perPageStep = 5,\n minPerPage = 0,\n maxPerPage = 100,\n showPerPageSelector = true,\n pageDetails = [],\n pageDetailsTitle = '',\n } = pagination || noPagination; // pagination can be false\n\n // Get the needed page\n const page = useMemo(() => {\n if (!hasPagination || !pagination) return null;\n if (dataIsPage) return flattenedData;\n return flattenedData.slice((pageIndex - 1) * pageSize, pageIndex * pageSize);\n }, [hasPagination, pagination, dataIsPage, flattenedData, pageIndex, pageSize]);\n\n const paginationHelpers = useMemo(\n () => ({\n hasPagination,\n pageIndex,\n canPreviousPage,\n canNextPage,\n pageSize,\n perPageOptions,\n onPageSizeChange,\n onPreviousPage,\n onNextPage,\n onPageChange,\n pageCount,\n isLoadingPageCount: isLoadingPageCount,\n perPageStep,\n minPerPage,\n maxPerPage,\n showPerPageSelector,\n pageDetails,\n pageDetailsTitle,\n }),\n [\n hasPagination,\n pageIndex,\n canPreviousPage,\n canNextPage,\n pageSize,\n perPageOptions,\n onPageSizeChange,\n onPreviousPage,\n onNextPage,\n onPageChange,\n pageCount,\n isLoadingPageCount,\n perPageStep,\n minPerPage,\n maxPerPage,\n showPerPageSelector,\n pageDetails,\n pageDetailsTitle,\n ],\n );\n return [page, paginationHelpers];\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAwB;AAGxB,MAAM,eAAsC,CAAC;AAE7C,MAAM,YAAY,MAAM;AAEjB,MAAM,sBAAsB,CACjC,OACA,kBACmD;AACnD,QAAM,EAAE,YAAY,WAAW,IAAI;AAEnC,QAAM,gBAAgB,QAAQ,cAAc,UAAU;AAGtD,QAAM;AAAA,IACJ,YAAY;AAAA,IACZ,kBAAkB;AAAA,IAClB,cAAc;AAAA,IACd,WAAW;AAAA,IACX,iBAAiB,CAAC,EAAE;AAAA,IACpB,mBAAmB;AAAA,IACnB,iBAAiB;AAAA,IACjB,aAAa;AAAA,IACb,eAAe;AAAA,IACf,YAAY,KAAK,KAAK,cAAc,SAAS,QAAQ;AAAA,IACrD,qBAAqB;AAAA,IACrB,aAAa;AAAA,IACb,cAAc;AAAA,IACd,aAAa;AAAA,IACb,aAAa;AAAA,IACb,sBAAsB;AAAA,IACtB,cAAc,CAAC;AAAA,IACf,mBAAmB;AAAA,EACrB,IAAI,cAAc;AAGlB,QAAM,WAAO,sBAAQ,MAAM;AACzB,QAAI,CAAC,iBAAiB,CAAC;AAAY,aAAO;AAC1C,QAAI;AAAY,aAAO;AACvB,WAAO,cAAc,OAAO,YAAY,KAAK,UAAU,YAAY,QAAQ;AAAA,EAC7E,GAAG,CAAC,eAAe,YAAY,YAAY,eAAe,WAAW,QAAQ,CAAC;AAE9E,QAAM,wBAAoB;AAAA,IACxB,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACA,SAAO,CAAC,MAAM,iBAAiB;AACjC;",
4
+ "sourcesContent": ["import { useMemo } from 'react';\nimport type { DSDataTableT } from '../react-desc-prop-types.js';\n\nconst noPagination: Record<string, never> = {};\n\nconst emptyFunc = () => null;\n\nexport const usePaginationConfig = (\n props: DSDataTableT.InternalProps,\n flattenedData: DSDataTableT.InternalRow[],\n): [DSDataTableT.InternalRow[] | null, DSDataTableT.Pagination] => {\n const { pagination, Pagination } = props;\n\n const hasPagination = Boolean(pagination || Pagination);\n\n // Set default values\n const {\n pageIndex = 1,\n canPreviousPage = true,\n canNextPage = true,\n pageSize = 10,\n perPageOptions = [10],\n onPageSizeChange = emptyFunc,\n onPreviousPage = emptyFunc,\n onNextPage = emptyFunc,\n onPageChange = emptyFunc,\n pageCount = Math.ceil(flattenedData.length / pageSize),\n isLoadingPageCount = false,\n dataIsPage = false,\n perPageStep = 5,\n minPerPage = 0,\n maxPerPage = 100,\n showPerPageSelector = true,\n pageDetails = [],\n pageDetailsTitle = '',\n } = pagination || noPagination; // pagination can be false\n\n // Get the needed page\n const page = useMemo(() => {\n if (!hasPagination || !pagination) return null;\n if (dataIsPage) return flattenedData;\n return flattenedData.slice((pageIndex - 1) * pageSize, pageIndex * pageSize);\n }, [hasPagination, pagination, dataIsPage, flattenedData, pageIndex, pageSize]);\n\n const paginationHelpers = useMemo(\n () => ({\n hasPagination,\n pageIndex,\n canPreviousPage,\n canNextPage,\n pageSize,\n perPageOptions,\n onPageSizeChange,\n onPreviousPage,\n onNextPage,\n onPageChange,\n pageCount,\n isLoadingPageCount: isLoadingPageCount,\n perPageStep,\n minPerPage,\n maxPerPage,\n showPerPageSelector,\n pageDetails,\n pageDetailsTitle,\n }),\n [\n hasPagination,\n pageIndex,\n canPreviousPage,\n canNextPage,\n pageSize,\n perPageOptions,\n onPageSizeChange,\n onPreviousPage,\n onNextPage,\n onPageChange,\n pageCount,\n isLoadingPageCount,\n perPageStep,\n minPerPage,\n maxPerPage,\n showPerPageSelector,\n pageDetails,\n pageDetailsTitle,\n ],\n );\n return [page, paginationHelpers];\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAwB;AAGxB,MAAM,eAAsC,CAAC;AAE7C,MAAM,YAAY,MAAM;AAEjB,MAAM,sBAAsB,CACjC,OACA,kBACiE;AACjE,QAAM,EAAE,YAAY,WAAW,IAAI;AAEnC,QAAM,gBAAgB,QAAQ,cAAc,UAAU;AAGtD,QAAM;AAAA,IACJ,YAAY;AAAA,IACZ,kBAAkB;AAAA,IAClB,cAAc;AAAA,IACd,WAAW;AAAA,IACX,iBAAiB,CAAC,EAAE;AAAA,IACpB,mBAAmB;AAAA,IACnB,iBAAiB;AAAA,IACjB,aAAa;AAAA,IACb,eAAe;AAAA,IACf,YAAY,KAAK,KAAK,cAAc,SAAS,QAAQ;AAAA,IACrD,qBAAqB;AAAA,IACrB,aAAa;AAAA,IACb,cAAc;AAAA,IACd,aAAa;AAAA,IACb,aAAa;AAAA,IACb,sBAAsB;AAAA,IACtB,cAAc,CAAC;AAAA,IACf,mBAAmB;AAAA,EACrB,IAAI,cAAc;AAGlB,QAAM,WAAO,sBAAQ,MAAM;AACzB,QAAI,CAAC,iBAAiB,CAAC;AAAY,aAAO;AAC1C,QAAI;AAAY,aAAO;AACvB,WAAO,cAAc,OAAO,YAAY,KAAK,UAAU,YAAY,QAAQ;AAAA,EAC7E,GAAG,CAAC,eAAe,YAAY,YAAY,eAAe,WAAW,QAAQ,CAAC;AAE9E,QAAM,wBAAoB;AAAA,IACxB,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACA,SAAO,CAAC,MAAM,iBAAiB;AACjC;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/configs/useRowFlattenization.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["/* eslint-disable max-params */\nimport { cloneDeep } from 'lodash';\nimport { useMemo } from 'react';\nimport { getIdFromUniqueRowAccessor } from '../helpers/getIdFromUniqueRowAccessor.js';\nimport type { InternalTypescriptRow, TypescriptProps, TypescriptRow, UniqueRowAccessorType } from '../types/props.js';\n\nconst emptyObject = {};\n\nconst trueReturner = new Proxy(\n {},\n {\n get: () => true,\n },\n);\n\nconst flatten = (\n data: TypescriptRow[],\n expandedRows: Record<string, boolean>,\n uniqueRowAccessor: UniqueRowAccessorType,\n maxDepth = 0,\n): InternalTypescriptRow[] => {\n const result: InternalTypescriptRow[] = [];\n const doit = (\n row: TypescriptRow,\n index = 0,\n parent: InternalTypescriptRow | null = null,\n parentId: string | null = null,\n parentIndex: number | null = null,\n depth = 0,\n ) => {\n const id = (parentId !== null ? `${parentId}.` : '') + index.toString();\n\n const uid = getIdFromUniqueRowAccessor(uniqueRowAccessor, {\n id,\n original: row ?? {},\n });\n\n const isExpanded = expandedRows[uid];\n\n const rowToPush: InternalTypescriptRow = {\n id,\n uid,\n index,\n realIndex: result.length,\n parent,\n parentId,\n parentIndex,\n depth,\n isExpanded,\n subRows: row?.subRows ?? [],\n childrenCount: row?.subRows?.length ?? 0,\n original: row ?? {},\n cells: [],\n };\n\n result.push(rowToPush);\n\n // If we have subrows and we are expanded\n if (row?.subRows && expandedRows[uid] && depth <= maxDepth) {\n row.subRows.forEach((subRow: TypescriptRow, i: number) =>\n doit(subRow, i, rowToPush, uid, rowToPush.realIndex, depth + 1),\n );\n }\n };\n\n data.forEach((row, i) => doit(row, i));\n return result;\n};\n\nexport const useRowFlattenization = (props: TypescriptProps): [InternalTypescriptRow[], InternalTypescriptRow[]] => {\n const { data } = props;\n\n const clonnedData = useMemo(() => cloneDeep(data), [data]);\n\n const expandedRows = props.isExpandable ? props.expandedRows ?? emptyObject : emptyObject;\n\n const flattenedData = useMemo(\n () => flatten(clonnedData, expandedRows, props.uniqueRowAccessor),\n [clonnedData, expandedRows, props.uniqueRowAccessor],\n );\n\n const allDataFlattened = useMemo(\n () => flatten(clonnedData, trueReturner, props.uniqueRowAccessor, Infinity),\n [clonnedData, props.uniqueRowAccessor],\n );\n\n return [flattenedData, allDataFlattened];\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,oBAA0B;AAC1B,mBAAwB;AACxB,wCAA2C;AAG3C,MAAM,cAAc,CAAC;AAErB,MAAM,eAAe,IAAI;AAAA,EACvB,CAAC;AAAA,EACD;AAAA,IACE,KAAK,MAAM;AAAA,EACb;AACF;AAEA,MAAM,UAAU,CACd,MACA,cACA,mBACA,WAAW,MACiB;AAC5B,QAAM,SAAkC,CAAC;AACzC,QAAM,OAAO,CACX,KACA,QAAQ,GACR,SAAuC,MACvC,WAA0B,MAC1B,cAA6B,MAC7B,QAAQ,MACL;AACH,UAAM,MAAM,aAAa,OAAO,GAAG,cAAc,MAAM,MAAM,SAAS;AAEtE,UAAM,UAAM,8DAA2B,mBAAmB;AAAA,MACxD;AAAA,MACA,UAAU,OAAO,CAAC;AAAA,IACpB,CAAC;AAED,UAAM,aAAa,aAAa,GAAG;AAEnC,UAAM,YAAmC;AAAA,MACvC;AAAA,MACA;AAAA,MACA;AAAA,MACA,WAAW,OAAO;AAAA,MAClB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,SAAS,KAAK,WAAW,CAAC;AAAA,MAC1B,eAAe,KAAK,SAAS,UAAU;AAAA,MACvC,UAAU,OAAO,CAAC;AAAA,MAClB,OAAO,CAAC;AAAA,IACV;AAEA,WAAO,KAAK,SAAS;AAGrB,QAAI,KAAK,WAAW,aAAa,GAAG,KAAK,SAAS,UAAU;AAC1D,UAAI,QAAQ;AAAA,QAAQ,CAAC,QAAuB,MAC1C,KAAK,QAAQ,GAAG,WAAW,KAAK,UAAU,WAAW,QAAQ,CAAC;AAAA,MAChE;AAAA,IACF;AAAA,EACF;AAEA,OAAK,QAAQ,CAAC,KAAK,MAAM,KAAK,KAAK,CAAC,CAAC;AACrC,SAAO;AACT;AAEO,MAAM,uBAAuB,CAAC,UAA+E;AAClH,QAAM,EAAE,KAAK,IAAI;AAEjB,QAAM,kBAAc,sBAAQ,UAAM,yBAAU,IAAI,GAAG,CAAC,IAAI,CAAC;AAEzD,QAAM,eAAe,MAAM,eAAe,MAAM,gBAAgB,cAAc;AAE9E,QAAM,oBAAgB;AAAA,IACpB,MAAM,QAAQ,aAAa,cAAc,MAAM,iBAAiB;AAAA,IAChE,CAAC,aAAa,cAAc,MAAM,iBAAiB;AAAA,EACrD;AAEA,QAAM,uBAAmB;AAAA,IACvB,MAAM,QAAQ,aAAa,cAAc,MAAM,mBAAmB,QAAQ;AAAA,IAC1E,CAAC,aAAa,MAAM,iBAAiB;AAAA,EACvC;AAEA,SAAO,CAAC,eAAe,gBAAgB;AACzC;",
4
+ "sourcesContent": ["/* eslint-disable max-params */\nimport { cloneDeep } from 'lodash';\nimport { useMemo } from 'react';\nimport { getIdFromUniqueRowAccessor } from '../helpers/getIdFromUniqueRowAccessor.js';\nimport type { DSDataTableT } from '../react-desc-prop-types.js';\n\nconst emptyObject = {};\n\nconst trueReturner = new Proxy(\n {},\n {\n get: () => true,\n },\n);\n\nconst flatten = (\n data: DSDataTableT.Row[],\n expandedRows: Record<string, boolean>,\n uniqueRowAccessor: DSDataTableT.UniqueRowAccessorType,\n maxDepth = 0,\n): DSDataTableT.InternalRow[] => {\n const result: DSDataTableT.InternalRow[] = [];\n const doit = (\n row: DSDataTableT.Row,\n index = 0,\n parent: DSDataTableT.InternalRow | null = null,\n parentId: string | null = null,\n parentIndex: number | null = null,\n depth = 0,\n ) => {\n const id = (parentId !== null ? `${parentId}.` : '') + index.toString();\n\n const uid = getIdFromUniqueRowAccessor(uniqueRowAccessor, {\n id,\n original: row ?? {},\n });\n\n const isExpanded = expandedRows[uid];\n\n const rowToPush: DSDataTableT.InternalRow = {\n id,\n uid,\n index,\n realIndex: result.length,\n parent,\n parentId,\n parentIndex,\n depth,\n isExpanded,\n subRows: row?.subRows ?? [],\n childrenCount: row?.subRows?.length ?? 0,\n original: row ?? {},\n cells: [],\n };\n\n result.push(rowToPush);\n\n // If we have subrows and we are expanded\n if (row?.subRows && expandedRows[uid] && depth <= maxDepth) {\n row.subRows.forEach((subRow: DSDataTableT.Row, i: number) =>\n doit(subRow, i, rowToPush, uid, rowToPush.realIndex, depth + 1),\n );\n }\n };\n\n data.forEach((row, i) => doit(row, i));\n return result;\n};\n\nexport const useRowFlattenization = (\n props: DSDataTableT.InternalProps,\n): [DSDataTableT.InternalRow[], DSDataTableT.InternalRow[]] => {\n const { data } = props;\n\n const clonnedData = useMemo(() => cloneDeep(data), [data]);\n\n const expandedRows = props.isExpandable ? props.expandedRows ?? emptyObject : emptyObject;\n\n const flattenedData = useMemo(\n () => flatten(clonnedData, expandedRows, props.uniqueRowAccessor),\n [clonnedData, expandedRows, props.uniqueRowAccessor],\n );\n\n const allDataFlattened = useMemo(\n () => flatten(clonnedData, trueReturner, props.uniqueRowAccessor, Infinity),\n [clonnedData, props.uniqueRowAccessor],\n );\n\n return [flattenedData, allDataFlattened];\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,oBAA0B;AAC1B,mBAAwB;AACxB,wCAA2C;AAG3C,MAAM,cAAc,CAAC;AAErB,MAAM,eAAe,IAAI;AAAA,EACvB,CAAC;AAAA,EACD;AAAA,IACE,KAAK,MAAM;AAAA,EACb;AACF;AAEA,MAAM,UAAU,CACd,MACA,cACA,mBACA,WAAW,MACoB;AAC/B,QAAM,SAAqC,CAAC;AAC5C,QAAM,OAAO,CACX,KACA,QAAQ,GACR,SAA0C,MAC1C,WAA0B,MAC1B,cAA6B,MAC7B,QAAQ,MACL;AACH,UAAM,MAAM,aAAa,OAAO,GAAG,cAAc,MAAM,MAAM,SAAS;AAEtE,UAAM,UAAM,8DAA2B,mBAAmB;AAAA,MACxD;AAAA,MACA,UAAU,OAAO,CAAC;AAAA,IACpB,CAAC;AAED,UAAM,aAAa,aAAa,GAAG;AAEnC,UAAM,YAAsC;AAAA,MAC1C;AAAA,MACA;AAAA,MACA;AAAA,MACA,WAAW,OAAO;AAAA,MAClB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,SAAS,KAAK,WAAW,CAAC;AAAA,MAC1B,eAAe,KAAK,SAAS,UAAU;AAAA,MACvC,UAAU,OAAO,CAAC;AAAA,MAClB,OAAO,CAAC;AAAA,IACV;AAEA,WAAO,KAAK,SAAS;AAGrB,QAAI,KAAK,WAAW,aAAa,GAAG,KAAK,SAAS,UAAU;AAC1D,UAAI,QAAQ;AAAA,QAAQ,CAAC,QAA0B,MAC7C,KAAK,QAAQ,GAAG,WAAW,KAAK,UAAU,WAAW,QAAQ,CAAC;AAAA,MAChE;AAAA,IACF;AAAA,EACF;AAEA,OAAK,QAAQ,CAAC,KAAK,MAAM,KAAK,KAAK,CAAC,CAAC;AACrC,SAAO;AACT;AAEO,MAAM,uBAAuB,CAClC,UAC6D;AAC7D,QAAM,EAAE,KAAK,IAAI;AAEjB,QAAM,kBAAc,sBAAQ,UAAM,yBAAU,IAAI,GAAG,CAAC,IAAI,CAAC;AAEzD,QAAM,eAAe,MAAM,eAAe,MAAM,gBAAgB,cAAc;AAE9E,QAAM,oBAAgB;AAAA,IACpB,MAAM,QAAQ,aAAa,cAAc,MAAM,iBAAiB;AAAA,IAChE,CAAC,aAAa,cAAc,MAAM,iBAAiB;AAAA,EACrD;AAEA,QAAM,uBAAmB;AAAA,IACvB,MAAM,QAAQ,aAAa,cAAc,MAAM,mBAAmB,QAAQ;AAAA,IAC1E,CAAC,aAAa,MAAM,iBAAiB;AAAA,EACvC;AAEA,SAAO,CAAC,eAAe,gBAAgB;AACzC;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/configs/useTableColsWithAddons.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["/* eslint-disable max-params */\nimport { createRef, useMemo } from 'react';\nimport type { InternalTypescriptColumn, TypescriptColumn, TypescriptProps } from '../types/props.js';\nimport {\n dragHandleColumn,\n expandRowColumn,\n actionColumn,\n singleSelectColumn,\n multiSelectColumn,\n} from '../addons/Columns/index.js';\n\ntype UseTableColsWithAddonsType = (config: TypescriptProps) => InternalTypescriptColumn[];\n\nconst augmentColumns = (columns: TypescriptColumn[]): InternalTypescriptColumn[] => {\n const augmentColumn = (\n column: TypescriptColumn,\n index: number,\n parentId: string | null = null,\n depth = 0,\n ): InternalTypescriptColumn => {\n let id = `column${index}`;\n if (typeof column.Header === 'string') id = column.Header;\n if (typeof column.accessor === 'string') id = column.accessor;\n const { columns: childColumns, ...restOfColumn } = column;\n const newCol: InternalTypescriptColumn = {\n id,\n parentId,\n depth,\n ...restOfColumn,\n ref: createRef<HTMLTableColElement>() as React.MutableRefObject<HTMLTableColElement>,\n };\n if (childColumns) newCol.columns = childColumns.map((col, i) => augmentColumn(col, i, id, depth + 1));\n return newCol;\n };\n return columns.map((col, index) => augmentColumn(col, index));\n};\n\nconst isColumnInArrayOfColumns = (columns: TypescriptColumn[], col: TypescriptColumn) =>\n columns.some((column) => column.id === col.id);\n\nconst useTableColsWithAddons: UseTableColsWithAddonsType = ({\n columns,\n renderRowActions,\n isExpandable,\n selectSingle,\n selection,\n dragAndDropRows,\n noSelectionColumn,\n}) =>\n useMemo(() => {\n const columnsWithAddons = [...augmentColumns(columns)];\n\n // Columns to be prepended\n const colsToPrepend: TypescriptColumn[] = [];\n // Columns to be appended\n const colsToAppend: TypescriptColumn[] = [];\n\n if (isExpandable) colsToPrepend.push(expandRowColumn);\n if (selection && !noSelectionColumn) {\n if (selectSingle) colsToPrepend.push(singleSelectColumn);\n else colsToPrepend.push(multiSelectColumn);\n }\n if (dragAndDropRows) colsToPrepend.push(dragHandleColumn);\n if (renderRowActions) colsToAppend.push(actionColumn(renderRowActions));\n\n // Prepend or append all the columns that were not extended by the user\n colsToPrepend.forEach((col) => {\n if (!isColumnInArrayOfColumns(columnsWithAddons, col)) columnsWithAddons.unshift(col);\n });\n colsToAppend.forEach((col) => {\n if (!isColumnInArrayOfColumns(columnsWithAddons, col)) columnsWithAddons.push(col);\n });\n\n return columnsWithAddons;\n }, [columns, isExpandable, selection, noSelectionColumn, selectSingle, dragAndDropRows, renderRowActions]);\n\nexport { useTableColsWithAddons };\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,mBAAmC;AAEnC,qBAMO;AAIP,MAAM,iBAAiB,CAAC,YAA4D;AAClF,QAAM,gBAAgB,CACpB,QACA,OACA,WAA0B,MAC1B,QAAQ,MACqB;AAC7B,QAAI,KAAK,SAAS;AAClB,QAAI,OAAO,OAAO,WAAW;AAAU,WAAK,OAAO;AACnD,QAAI,OAAO,OAAO,aAAa;AAAU,WAAK,OAAO;AACrD,UAAM,EAAE,SAAS,cAAc,GAAG,aAAa,IAAI;AACnD,UAAM,SAAmC;AAAA,MACvC;AAAA,MACA;AAAA,MACA;AAAA,MACA,GAAG;AAAA,MACH,SAAK,wBAA+B;AAAA,IACtC;AACA,QAAI;AAAc,aAAO,UAAU,aAAa,IAAI,CAAC,KAAK,MAAM,cAAc,KAAK,GAAG,IAAI,QAAQ,CAAC,CAAC;AACpG,WAAO;AAAA,EACT;AACA,SAAO,QAAQ,IAAI,CAAC,KAAK,UAAU,cAAc,KAAK,KAAK,CAAC;AAC9D;AAEA,MAAM,2BAA2B,CAAC,SAA6B,QAC7D,QAAQ,KAAK,CAAC,WAAW,OAAO,OAAO,IAAI,EAAE;AAE/C,MAAM,yBAAqD,CAAC;AAAA,EAC1D;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,UACE,sBAAQ,MAAM;AACZ,QAAM,oBAAoB,CAAC,GAAG,eAAe,OAAO,CAAC;AAGrD,QAAM,gBAAoC,CAAC;AAE3C,QAAM,eAAmC,CAAC;AAE1C,MAAI;AAAc,kBAAc,KAAK,8BAAe;AACpD,MAAI,aAAa,CAAC,mBAAmB;AACnC,QAAI;AAAc,oBAAc,KAAK,iCAAkB;AAAA;AAClD,oBAAc,KAAK,gCAAiB;AAAA,EAC3C;AACA,MAAI;AAAiB,kBAAc,KAAK,+BAAgB;AACxD,MAAI;AAAkB,iBAAa,SAAK,6BAAa,gBAAgB,CAAC;AAGtE,gBAAc,QAAQ,CAAC,QAAQ;AAC7B,QAAI,CAAC,yBAAyB,mBAAmB,GAAG;AAAG,wBAAkB,QAAQ,GAAG;AAAA,EACtF,CAAC;AACD,eAAa,QAAQ,CAAC,QAAQ;AAC5B,QAAI,CAAC,yBAAyB,mBAAmB,GAAG;AAAG,wBAAkB,KAAK,GAAG;AAAA,EACnF,CAAC;AAED,SAAO;AACT,GAAG,CAAC,SAAS,cAAc,WAAW,mBAAmB,cAAc,iBAAiB,gBAAgB,CAAC;",
4
+ "sourcesContent": ["/* eslint-disable max-params */\nimport { createRef, useMemo } from 'react';\nimport type { DSDataTableT } from '../react-desc-prop-types.js';\nimport {\n dragHandleColumn,\n expandRowColumn,\n actionColumn,\n singleSelectColumn,\n multiSelectColumn,\n} from '../addons/Columns/index.js';\n\ntype UseTableColsWithAddonsType = (config: DSDataTableT.InternalProps) => DSDataTableT.InternalColumn[];\n\nconst augmentColumns = (columns: DSDataTableT.Column[]): DSDataTableT.InternalColumn[] => {\n const augmentColumn = (\n column: DSDataTableT.Column,\n index: number,\n parentId: string | null = null,\n depth = 0,\n ): DSDataTableT.InternalColumn => {\n let id = `column${index}`;\n if (typeof column.Header === 'string') id = column.Header;\n if (typeof column.accessor === 'string') id = column.accessor;\n const { columns: childColumns, ...restOfColumn } = column;\n const newCol: DSDataTableT.InternalColumn = {\n id,\n parentId,\n depth,\n ...restOfColumn,\n ref: createRef<HTMLTableColElement>() as React.MutableRefObject<HTMLTableColElement>,\n };\n if (childColumns) newCol.columns = childColumns.map((col, i) => augmentColumn(col, i, id, depth + 1));\n return newCol;\n };\n return columns.map((col, index) => augmentColumn(col, index));\n};\n\nconst isColumnInArrayOfColumns = (columns: DSDataTableT.Column[], col: DSDataTableT.Column) =>\n columns.some((column) => column.id === col.id);\n\nconst useTableColsWithAddons: UseTableColsWithAddonsType = ({\n columns,\n renderRowActions,\n isExpandable,\n selectSingle,\n selection,\n dragAndDropRows,\n noSelectionColumn,\n}) =>\n useMemo(() => {\n const columnsWithAddons = [...augmentColumns(columns)];\n\n // Columns to be prepended\n const colsToPrepend: DSDataTableT.InternalColumn[] = [];\n // Columns to be appended\n const colsToAppend: DSDataTableT.InternalColumn[] = [];\n\n if (isExpandable) colsToPrepend.push(expandRowColumn);\n if (selection && !noSelectionColumn) {\n if (selectSingle) colsToPrepend.push(singleSelectColumn as unknown as DSDataTableT.InternalColumn);\n else colsToPrepend.push(multiSelectColumn as unknown as DSDataTableT.InternalColumn);\n }\n if (dragAndDropRows) colsToPrepend.push(dragHandleColumn as unknown as DSDataTableT.InternalColumn);\n if (renderRowActions) colsToAppend.push(actionColumn(renderRowActions));\n\n // Prepend or append all the columns that were not extended by the user\n colsToPrepend.forEach((col) => {\n if (!isColumnInArrayOfColumns(columnsWithAddons, col)) columnsWithAddons.unshift(col);\n });\n colsToAppend.forEach((col) => {\n if (!isColumnInArrayOfColumns(columnsWithAddons, col)) columnsWithAddons.push(col);\n });\n\n return columnsWithAddons;\n }, [columns, isExpandable, selection, noSelectionColumn, selectSingle, dragAndDropRows, renderRowActions]);\n\nexport { useTableColsWithAddons };\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,mBAAmC;AAEnC,qBAMO;AAIP,MAAM,iBAAiB,CAAC,YAAkE;AACxF,QAAM,gBAAgB,CACpB,QACA,OACA,WAA0B,MAC1B,QAAQ,MACwB;AAChC,QAAI,KAAK,SAAS;AAClB,QAAI,OAAO,OAAO,WAAW;AAAU,WAAK,OAAO;AACnD,QAAI,OAAO,OAAO,aAAa;AAAU,WAAK,OAAO;AACrD,UAAM,EAAE,SAAS,cAAc,GAAG,aAAa,IAAI;AACnD,UAAM,SAAsC;AAAA,MAC1C;AAAA,MACA;AAAA,MACA;AAAA,MACA,GAAG;AAAA,MACH,SAAK,wBAA+B;AAAA,IACtC;AACA,QAAI;AAAc,aAAO,UAAU,aAAa,IAAI,CAAC,KAAK,MAAM,cAAc,KAAK,GAAG,IAAI,QAAQ,CAAC,CAAC;AACpG,WAAO;AAAA,EACT;AACA,SAAO,QAAQ,IAAI,CAAC,KAAK,UAAU,cAAc,KAAK,KAAK,CAAC;AAC9D;AAEA,MAAM,2BAA2B,CAAC,SAAgC,QAChE,QAAQ,KAAK,CAAC,WAAW,OAAO,OAAO,IAAI,EAAE;AAE/C,MAAM,yBAAqD,CAAC;AAAA,EAC1D;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,UACE,sBAAQ,MAAM;AACZ,QAAM,oBAAoB,CAAC,GAAG,eAAe,OAAO,CAAC;AAGrD,QAAM,gBAA+C,CAAC;AAEtD,QAAM,eAA8C,CAAC;AAErD,MAAI;AAAc,kBAAc,KAAK,8BAAe;AACpD,MAAI,aAAa,CAAC,mBAAmB;AACnC,QAAI;AAAc,oBAAc,KAAK,iCAA4D;AAAA;AAC5F,oBAAc,KAAK,gCAA2D;AAAA,EACrF;AACA,MAAI;AAAiB,kBAAc,KAAK,+BAA0D;AAClG,MAAI;AAAkB,iBAAa,SAAK,6BAAa,gBAAgB,CAAC;AAGtE,gBAAc,QAAQ,CAAC,QAAQ;AAC7B,QAAI,CAAC,yBAAyB,mBAAmB,GAAG;AAAG,wBAAkB,QAAQ,GAAG;AAAA,EACtF,CAAC;AACD,eAAa,QAAQ,CAAC,QAAQ;AAC5B,QAAI,CAAC,yBAAyB,mBAAmB,GAAG;AAAG,wBAAkB,KAAK,GAAG;AAAA,EACnF,CAAC;AAED,SAAO;AACT,GAAG,CAAC,SAAS,cAAc,WAAW,mBAAmB,cAAc,iBAAiB,gBAAgB,CAAC;",
6
6
  "names": []
7
7
  }
@@ -35,8 +35,8 @@ var React = __toESM(require("react"));
35
35
  var import_react = __toESM(require("react"));
36
36
  var import_ds_utilities = require("@elliemae/ds-utilities");
37
37
  const useTableResizeCb = (config) => {
38
- const { virtualListRef, internalProps } = config;
39
- const { onTableResize } = internalProps;
38
+ const { virtualListRef, propsWithDefault } = config;
39
+ const { onTableResize } = propsWithDefault;
40
40
  const handleResize = import_react.default.useCallback(
41
41
  (entry) => {
42
42
  if (onTableResize)
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/configs/useTableResizeCb.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["import React from 'react';\nimport { useNativeResizeObserver } from '@elliemae/ds-utilities';\nimport type { InternalTypescriptProps } from '../types/props.js';\n\n// type for the second parameter of useNativeResizeObserver\ntype NativeResizeObserverCB = Parameters<typeof useNativeResizeObserver>[1];\n\n// type declaration for the custom hook\nexport type UseTableResizeCb = (config: {\n virtualListRef: React.RefObject<HTMLElement>;\n internalProps: InternalTypescriptProps;\n}) => void;\n\nexport const useTableResizeCb: UseTableResizeCb = (config) => {\n const { virtualListRef, internalProps } = config;\n const { onTableResize } = internalProps;\n\n const handleResize: NativeResizeObserverCB = React.useCallback(\n (entry) => {\n if (onTableResize) onTableResize(entry);\n },\n [onTableResize],\n );\n\n useNativeResizeObserver(virtualListRef.current, handleResize);\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAkB;AAClB,0BAAwC;AAYjC,MAAM,mBAAqC,CAAC,WAAW;AAC5D,QAAM,EAAE,gBAAgB,cAAc,IAAI;AAC1C,QAAM,EAAE,cAAc,IAAI;AAE1B,QAAM,eAAuC,aAAAA,QAAM;AAAA,IACjD,CAAC,UAAU;AACT,UAAI;AAAe,sBAAc,KAAK;AAAA,IACxC;AAAA,IACA,CAAC,aAAa;AAAA,EAChB;AAEA,mDAAwB,eAAe,SAAS,YAAY;AAC9D;",
4
+ "sourcesContent": ["import React from 'react';\nimport { useNativeResizeObserver } from '@elliemae/ds-utilities';\nimport type { DSDataTableT } from '../react-desc-prop-types.js';\n\n// type for the second parameter of useNativeResizeObserver\ntype NativeResizeObserverCB = Parameters<typeof useNativeResizeObserver>[1];\n\n// type declaration for the custom hook\nexport type UseTableResizeCb = (config: {\n virtualListRef: React.RefObject<HTMLElement>;\n propsWithDefault: DSDataTableT.InternalProps;\n}) => void;\n\nexport const useTableResizeCb: UseTableResizeCb = (config) => {\n const { virtualListRef, propsWithDefault } = config;\n const { onTableResize } = propsWithDefault;\n\n const handleResize: NativeResizeObserverCB = React.useCallback(\n (entry) => {\n if (onTableResize) onTableResize(entry);\n },\n [onTableResize],\n );\n\n useNativeResizeObserver(virtualListRef.current, handleResize);\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAkB;AAClB,0BAAwC;AAYjC,MAAM,mBAAqC,CAAC,WAAW;AAC5D,QAAM,EAAE,gBAAgB,iBAAiB,IAAI;AAC7C,QAAM,EAAE,cAAc,IAAI;AAE1B,QAAM,eAAuC,aAAAA,QAAM;AAAA,IACjD,CAAC,UAAU;AACT,UAAI;AAAe,sBAAc,KAAK;AAAA,IACxC;AAAA,IACA,CAAC,aAAa;AAAA,EAChB;AAEA,mDAAwB,eAAe,SAAS,YAAY;AAC9D;",
6
6
  "names": ["React"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/exported-related/EditableCell.tsx", "../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["import React, { useState, useCallback, useContext, useLayoutEffect } from 'react';\nimport { StyledPencilIcon, StyledEditableContainer } from '../styled.js';\nimport { DataTableContext } from '../DataTableContext.js';\n\nexport const EditableCell: React.ComponentType<any> = (props) => {\n const { StandardRender, EditableRenderer, cell, isRowSelected } = props;\n const { virtualListHelpers } = useContext(DataTableContext);\n\n const [isEditing, setIsEditing] = useState(false);\n const [lastIsEditing, setLastIsEditing] = useState(false);\n // When an editable cell is switched on-off, we recalculate the height of the rows\n useLayoutEffect(() => {\n if (isEditing !== lastIsEditing) {\n virtualListHelpers.measure();\n setLastIsEditing(isEditing);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isEditing]);\n\n const handleCellClick = useCallback(\n (e: React.KeyboardEvent) => {\n if (!isEditing) {\n e.stopPropagation();\n setIsEditing(true);\n }\n },\n [isEditing],\n );\n\n const handleOnKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n if (isEditing) {\n e.stopPropagation();\n if (['Enter', 'Escape'].includes(e.code)) {\n setIsEditing(false);\n }\n } else if (['Enter', 'Space'].includes(e.code)) {\n handleCellClick(e);\n }\n },\n [isEditing, handleCellClick, setIsEditing],\n );\n\n const handleOnBlur = useCallback(\n (event: EventTarget) => {\n if (isEditing && !event.currentTarget?.contains(event.relatedTarget)) {\n // Not triggered when swapping focus between children\n setIsEditing(false);\n }\n },\n [isEditing],\n );\n const cols = !isEditing ? ['auto', 'min-content'] : ['auto'];\n return (\n <StyledEditableContainer\n cols={cols}\n tabIndex={isRowSelected && !isEditing ? 0 : -1}\n ref={cell.ref}\n onClick={handleCellClick}\n onKeyDown={handleOnKeyDown}\n onBlur={handleOnBlur}\n shouldDisplayEditIcon={cell.column.alwaysDisplayEditIcon}\n role=\"cell\"\n aria-labelledby={isEditing ? undefined : cell.id}\n >\n {!isEditing ? StandardRender : EditableRenderer}\n {!isEditing && <StyledPencilIcon />}\n <span id={cell.id} style={{ display: 'none' }} aria-hidden=\"true\">\n {cell.value}, editable cell. To edit the content&apos;s of this cell, press the Enter key\n </span>\n </StyledEditableContainer>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADkEF;AAlErB,mBAA0E;AAC1E,oBAA0D;AAC1D,8BAAiC;AAE1B,MAAM,eAAyC,CAAC,UAAU;AAC/D,QAAM,EAAE,gBAAgB,kBAAkB,MAAM,cAAc,IAAI;AAClE,QAAM,EAAE,mBAAmB,QAAI,yBAAW,wCAAgB;AAE1D,QAAM,CAAC,WAAW,YAAY,QAAI,uBAAS,KAAK;AAChD,QAAM,CAAC,eAAe,gBAAgB,QAAI,uBAAS,KAAK;AAExD,oCAAgB,MAAM;AACpB,QAAI,cAAc,eAAe;AAC/B,yBAAmB,QAAQ;AAC3B,uBAAiB,SAAS;AAAA,IAC5B;AAAA,EAEF,GAAG,CAAC,SAAS,CAAC;AAEd,QAAM,sBAAkB;AAAA,IACtB,CAAC,MAA2B;AAC1B,UAAI,CAAC,WAAW;AACd,UAAE,gBAAgB;AAClB,qBAAa,IAAI;AAAA,MACnB;AAAA,IACF;AAAA,IACA,CAAC,SAAS;AAAA,EACZ;AAEA,QAAM,sBAAkB;AAAA,IACtB,CAAC,MAA2B;AAC1B,UAAI,WAAW;AACb,UAAE,gBAAgB;AAClB,YAAI,CAAC,SAAS,QAAQ,EAAE,SAAS,EAAE,IAAI,GAAG;AACxC,uBAAa,KAAK;AAAA,QACpB;AAAA,MACF,WAAW,CAAC,SAAS,OAAO,EAAE,SAAS,EAAE,IAAI,GAAG;AAC9C,wBAAgB,CAAC;AAAA,MACnB;AAAA,IACF;AAAA,IACA,CAAC,WAAW,iBAAiB,YAAY;AAAA,EAC3C;AAEA,QAAM,mBAAe;AAAA,IACnB,CAAC,UAAuB;AACtB,UAAI,aAAa,CAAC,MAAM,eAAe,SAAS,MAAM,aAAa,GAAG;AAEpE,qBAAa,KAAK;AAAA,MACpB;AAAA,IACF;AAAA,IACA,CAAC,SAAS;AAAA,EACZ;AACA,QAAM,OAAO,CAAC,YAAY,CAAC,QAAQ,aAAa,IAAI,CAAC,MAAM;AAC3D,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,UAAU,iBAAiB,CAAC,YAAY,IAAI;AAAA,MAC5C,KAAK,KAAK;AAAA,MACV,SAAS;AAAA,MACT,WAAW;AAAA,MACX,QAAQ;AAAA,MACR,uBAAuB,KAAK,OAAO;AAAA,MACnC,MAAK;AAAA,MACL,mBAAiB,YAAY,SAAY,KAAK;AAAA,MAE7C;AAAA,SAAC,YAAY,iBAAiB;AAAA,QAC9B,CAAC,aAAa,4CAAC,kCAAiB;AAAA,QACjC,6CAAC,UAAK,IAAI,KAAK,IAAI,OAAO,EAAE,SAAS,OAAO,GAAG,eAAY,QACxD;AAAA,eAAK;AAAA,UAAM;AAAA,WACd;AAAA;AAAA;AAAA,EACF;AAEJ;",
4
+ "sourcesContent": ["import React, { useState, useCallback, useContext, useLayoutEffect } from 'react';\nimport { StyledPencilIcon, StyledEditableContainer } from '../styled.js';\nimport { DataTableContext } from '../DataTableContext.js';\nimport type { DSDataTableT } from '../react-desc-prop-types.js';\n\nexport const EditableCell: React.ComponentType<{\n StandardRender: JSX.Element;\n EditableRenderer: JSX.Element;\n cell: DSDataTableT.Cell<HTMLDivElement>;\n isRowSelected?: boolean;\n}> = (props) => {\n const { StandardRender, EditableRenderer, cell, isRowSelected } = props;\n const { virtualListHelpers } = useContext(DataTableContext);\n\n const [isEditing, setIsEditing] = useState(false);\n const [lastIsEditing, setLastIsEditing] = useState(false);\n // When an editable cell is switched on-off, we recalculate the height of the rows\n useLayoutEffect(() => {\n if (isEditing !== lastIsEditing) {\n virtualListHelpers.measure();\n setLastIsEditing(isEditing);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isEditing]);\n\n const handleCellClick = useCallback(\n (e: React.MouseEvent | React.KeyboardEvent) => {\n if (!isEditing) {\n e.stopPropagation();\n setIsEditing(true);\n }\n },\n [isEditing],\n );\n\n const handleOnKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n if (isEditing) {\n e.stopPropagation();\n if (['Enter', 'Escape'].includes(e.code)) {\n setIsEditing(false);\n }\n } else if (['Enter', 'Space'].includes(e.code)) {\n handleCellClick(e);\n }\n },\n [isEditing, handleCellClick, setIsEditing],\n );\n\n const handleOnBlur = useCallback(\n (event: React.FocusEvent) => {\n if (isEditing && !event.currentTarget?.contains(event.relatedTarget)) {\n // Not triggered when swapping focus between children\n setIsEditing(false);\n }\n },\n [isEditing],\n );\n const cols = !isEditing ? ['auto', 'min-content'] : ['auto'];\n return (\n <StyledEditableContainer\n cols={cols}\n tabIndex={isRowSelected && !isEditing ? 0 : -1}\n ref={cell.ref}\n onClick={handleCellClick}\n onKeyDown={handleOnKeyDown}\n onBlur={handleOnBlur}\n shouldDisplayEditIcon={cell.column.alwaysDisplayEditIcon}\n role=\"cell\"\n aria-labelledby={isEditing ? undefined : cell.id}\n >\n {!isEditing ? StandardRender : EditableRenderer}\n {!isEditing && <StyledPencilIcon />}\n <span id={cell.id} style={{ display: 'none' }} aria-hidden=\"true\">\n {cell.value as string}, editable cell. To edit the content&apos;s of this cell, press the Enter key\n </span>\n </StyledEditableContainer>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADwEF;AAxErB,mBAA0E;AAC1E,oBAA0D;AAC1D,8BAAiC;AAG1B,MAAM,eAKR,CAAC,UAAU;AACd,QAAM,EAAE,gBAAgB,kBAAkB,MAAM,cAAc,IAAI;AAClE,QAAM,EAAE,mBAAmB,QAAI,yBAAW,wCAAgB;AAE1D,QAAM,CAAC,WAAW,YAAY,QAAI,uBAAS,KAAK;AAChD,QAAM,CAAC,eAAe,gBAAgB,QAAI,uBAAS,KAAK;AAExD,oCAAgB,MAAM;AACpB,QAAI,cAAc,eAAe;AAC/B,yBAAmB,QAAQ;AAC3B,uBAAiB,SAAS;AAAA,IAC5B;AAAA,EAEF,GAAG,CAAC,SAAS,CAAC;AAEd,QAAM,sBAAkB;AAAA,IACtB,CAAC,MAA8C;AAC7C,UAAI,CAAC,WAAW;AACd,UAAE,gBAAgB;AAClB,qBAAa,IAAI;AAAA,MACnB;AAAA,IACF;AAAA,IACA,CAAC,SAAS;AAAA,EACZ;AAEA,QAAM,sBAAkB;AAAA,IACtB,CAAC,MAA2B;AAC1B,UAAI,WAAW;AACb,UAAE,gBAAgB;AAClB,YAAI,CAAC,SAAS,QAAQ,EAAE,SAAS,EAAE,IAAI,GAAG;AACxC,uBAAa,KAAK;AAAA,QACpB;AAAA,MACF,WAAW,CAAC,SAAS,OAAO,EAAE,SAAS,EAAE,IAAI,GAAG;AAC9C,wBAAgB,CAAC;AAAA,MACnB;AAAA,IACF;AAAA,IACA,CAAC,WAAW,iBAAiB,YAAY;AAAA,EAC3C;AAEA,QAAM,mBAAe;AAAA,IACnB,CAAC,UAA4B;AAC3B,UAAI,aAAa,CAAC,MAAM,eAAe,SAAS,MAAM,aAAa,GAAG;AAEpE,qBAAa,KAAK;AAAA,MACpB;AAAA,IACF;AAAA,IACA,CAAC,SAAS;AAAA,EACZ;AACA,QAAM,OAAO,CAAC,YAAY,CAAC,QAAQ,aAAa,IAAI,CAAC,MAAM;AAC3D,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,UAAU,iBAAiB,CAAC,YAAY,IAAI;AAAA,MAC5C,KAAK,KAAK;AAAA,MACV,SAAS;AAAA,MACT,WAAW;AAAA,MACX,QAAQ;AAAA,MACR,uBAAuB,KAAK,OAAO;AAAA,MACnC,MAAK;AAAA,MACL,mBAAiB,YAAY,SAAY,KAAK;AAAA,MAE7C;AAAA,SAAC,YAAY,iBAAiB;AAAA,QAC9B,CAAC,aAAa,4CAAC,kCAAiB;AAAA,QACjC,6CAAC,UAAK,IAAI,KAAK,IAAI,OAAO,EAAE,SAAS,OAAO,GAAG,eAAY,QACxD;AAAA,eAAK;AAAA,UAAgB;AAAA,WACxB;AAAA;AAAA;AAAA,EACF;AAEJ;",
6
6
  "names": []
7
7
  }
@@ -35,7 +35,7 @@ var React = __toESM(require("react"));
35
35
  var import_jsx_runtime = require("react/jsx-runtime");
36
36
  var import_react = require("react");
37
37
  var import_ds_dropdownmenu = require("@elliemae/ds-dropdownmenu");
38
- var import_ds_button = require("@elliemae/ds-button");
38
+ var import_ds_button_v2 = require("@elliemae/ds-button-v2");
39
39
  var import_ds_icons = require("@elliemae/ds-icons");
40
40
  var import_DataTableContext = require("../../DataTableContext.js");
41
41
  var import_configs = require("../../configs/index.js");
@@ -55,11 +55,12 @@ const FilterBarDropdownMenu = (props) => {
55
55
  {
56
56
  dsId: "__internal__option__clear__filters",
57
57
  label: "Clear Filters",
58
+ value: "clear",
58
59
  type: "action",
59
60
  onClick: removeFilters,
60
61
  onKeyDown: (e) => {
61
62
  if (["Enter", "Space"].includes(e.code))
62
- removeFilters();
63
+ removeFilters(e);
63
64
  }
64
65
  },
65
66
  ...extraOptions
@@ -80,9 +81,9 @@ const FilterBarDropdownMenu = (props) => {
80
81
  innerRef?.current?.focus?.();
81
82
  },
82
83
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
83
- import_ds_button.DSButtonV2,
84
+ import_ds_button_v2.DSButtonV2,
84
85
  {
85
- buttonType: import_ds_button.BUTTON_TYPES.ICON,
86
+ buttonType: import_ds_button_v2.BUTTON_TYPES.ICON,
86
87
  onClick: () => setIsOpened((prevOpened) => !prevOpened),
87
88
  innerRef,
88
89
  "aria-label": "Filter bar addon",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/exported-related/FilterBar/FilterBarDropdownMenu.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["import React, { useState, useContext, useCallback, useMemo } from 'react';\nimport { DSDropdownMenuV2 } from '@elliemae/ds-dropdownmenu';\nimport { DSButtonV2, BUTTON_TYPES } from '@elliemae/ds-button';\nimport { MoreOptionsVert } from '@elliemae/ds-icons';\nimport { DataTableContext } from '../../DataTableContext.js';\nimport { DATA_TESTID } from '../../configs/index.js';\n\ninterface FilterBarDropdownMenuProps {\n options?: unknown[];\n innerRef?: React.RefObject<HTMLButtonElement>;\n}\n\nexport const FilterBarDropdownMenu: React.ComponentType<FilterBarDropdownMenuProps> = (props) => {\n const {\n tableProps: { onFiltersChange },\n } = useContext(DataTableContext);\n const [isOpened, setIsOpened] = useState(false);\n\n const { options: extraOptions = [], innerRef, ...restProps } = props;\n const removeFilters = useCallback(() => {\n onFiltersChange([]);\n setIsOpened(false);\n innerRef?.current?.focus?.();\n }, [innerRef, onFiltersChange]);\n\n const options = useMemo(\n () => [\n {\n dsId: '__internal__option__clear__filters',\n label: 'Clear Filters',\n type: 'action',\n onClick: removeFilters,\n onKeyDown: (e: React.KeyboardEvent) => {\n if (['Enter', 'Space'].includes(e.code)) removeFilters();\n },\n },\n ...extraOptions,\n ],\n [extraOptions, removeFilters],\n );\n\n return (\n <div style={{ marginLeft: 'auto' }}>\n <DSDropdownMenuV2\n isOpened={isOpened}\n startPlacementPreference=\"bottom-end\"\n options={options}\n onClickOutside={() => {\n setIsOpened(false);\n }}\n onKeyDown={(e: React.KeyboardEvent) => {\n if (e.code === 'Escape') innerRef?.current?.focus?.();\n }}\n >\n <DSButtonV2\n buttonType={BUTTON_TYPES.ICON}\n onClick={() => setIsOpened((prevOpened) => !prevOpened)}\n innerRef={innerRef}\n aria-label=\"Filter bar addon\"\n data-testid={DATA_TESTID.DATA_TABLE_FILTER_BAR_DD_MENU_BUTTON}\n {...restProps}\n >\n <MoreOptionsVert />\n </DSButtonV2>\n </DSDropdownMenuV2>\n </div>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;AD8Db;AA9DV,mBAAkE;AAClE,6BAAiC;AACjC,uBAAyC;AACzC,sBAAgC;AAChC,8BAAiC;AACjC,qBAA4B;AAOrB,MAAM,wBAAyE,CAAC,UAAU;AAC/F,QAAM;AAAA,IACJ,YAAY,EAAE,gBAAgB;AAAA,EAChC,QAAI,yBAAW,wCAAgB;AAC/B,QAAM,CAAC,UAAU,WAAW,QAAI,uBAAS,KAAK;AAE9C,QAAM,EAAE,SAAS,eAAe,CAAC,GAAG,UAAU,GAAG,UAAU,IAAI;AAC/D,QAAM,oBAAgB,0BAAY,MAAM;AACtC,oBAAgB,CAAC,CAAC;AAClB,gBAAY,KAAK;AACjB,cAAU,SAAS,QAAQ;AAAA,EAC7B,GAAG,CAAC,UAAU,eAAe,CAAC;AAE9B,QAAM,cAAU;AAAA,IACd,MAAM;AAAA,MACJ;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,MAAM;AAAA,QACN,SAAS;AAAA,QACT,WAAW,CAAC,MAA2B;AACrC,cAAI,CAAC,SAAS,OAAO,EAAE,SAAS,EAAE,IAAI;AAAG,0BAAc;AAAA,QACzD;AAAA,MACF;AAAA,MACA,GAAG;AAAA,IACL;AAAA,IACA,CAAC,cAAc,aAAa;AAAA,EAC9B;AAEA,SACE,4CAAC,SAAI,OAAO,EAAE,YAAY,OAAO,GAC/B;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,0BAAyB;AAAA,MACzB;AAAA,MACA,gBAAgB,MAAM;AACpB,oBAAY,KAAK;AAAA,MACnB;AAAA,MACA,WAAW,CAAC,MAA2B;AACrC,YAAI,EAAE,SAAS;AAAU,oBAAU,SAAS,QAAQ;AAAA,MACtD;AAAA,MAEA;AAAA,QAAC;AAAA;AAAA,UACC,YAAY,8BAAa;AAAA,UACzB,SAAS,MAAM,YAAY,CAAC,eAAe,CAAC,UAAU;AAAA,UACtD;AAAA,UACA,cAAW;AAAA,UACX,eAAa,2BAAY;AAAA,UACxB,GAAG;AAAA,UAEJ,sDAAC,mCAAgB;AAAA;AAAA,MACnB;AAAA;AAAA,EACF,GACF;AAEJ;",
4
+ "sourcesContent": ["import React, { useState, useContext, useCallback, useMemo } from 'react';\nimport { DSDropdownMenuV2, type DSDropdownMenuT } from '@elliemae/ds-dropdownmenu';\nimport { DSButtonV2, BUTTON_TYPES } from '@elliemae/ds-button-v2';\nimport { MoreOptionsVert } from '@elliemae/ds-icons';\nimport { DataTableContext } from '../../DataTableContext.js';\nimport { DATA_TESTID } from '../../configs/index.js';\n\ninterface FilterBarDropdownMenuProps {\n options?: DSDropdownMenuT.Props['options'];\n innerRef?: React.RefObject<HTMLButtonElement>;\n}\n\nexport const FilterBarDropdownMenu: React.ComponentType<FilterBarDropdownMenuProps> = (props) => {\n const {\n tableProps: { onFiltersChange },\n } = useContext(DataTableContext);\n const [isOpened, setIsOpened] = useState(false);\n\n const { options: extraOptions = [], innerRef, ...restProps } = props;\n const removeFilters: React.MouseEventHandler & React.KeyboardEventHandler = useCallback(() => {\n onFiltersChange([]);\n setIsOpened(false);\n innerRef?.current?.focus?.();\n }, [innerRef, onFiltersChange]);\n\n const options: DSDropdownMenuT.Item[] = useMemo(\n () => [\n {\n dsId: '__internal__option__clear__filters',\n label: 'Clear Filters',\n value: 'clear',\n type: 'action',\n onClick: removeFilters,\n onKeyDown: (e: React.KeyboardEvent) => {\n if (['Enter', 'Space'].includes(e.code)) removeFilters(e);\n },\n } as unknown as DSDropdownMenuT.Item,\n ...extraOptions,\n ],\n [extraOptions, removeFilters],\n );\n\n return (\n <div style={{ marginLeft: 'auto' }}>\n <DSDropdownMenuV2\n isOpened={isOpened}\n startPlacementPreference=\"bottom-end\"\n options={options}\n onClickOutside={() => {\n setIsOpened(false);\n }}\n onKeyDown={(e: React.KeyboardEvent) => {\n if (e.code === 'Escape') innerRef?.current?.focus?.();\n }}\n >\n <DSButtonV2\n buttonType={BUTTON_TYPES.ICON}\n onClick={() => setIsOpened((prevOpened) => !prevOpened)}\n innerRef={innerRef}\n aria-label=\"Filter bar addon\"\n data-testid={DATA_TESTID.DATA_TABLE_FILTER_BAR_DD_MENU_BUTTON}\n {...restProps}\n >\n <MoreOptionsVert />\n </DSButtonV2>\n </DSDropdownMenuV2>\n </div>\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;AD+Db;AA/DV,mBAAkE;AAClE,6BAAuD;AACvD,0BAAyC;AACzC,sBAAgC;AAChC,8BAAiC;AACjC,qBAA4B;AAOrB,MAAM,wBAAyE,CAAC,UAAU;AAC/F,QAAM;AAAA,IACJ,YAAY,EAAE,gBAAgB;AAAA,EAChC,QAAI,yBAAW,wCAAgB;AAC/B,QAAM,CAAC,UAAU,WAAW,QAAI,uBAAS,KAAK;AAE9C,QAAM,EAAE,SAAS,eAAe,CAAC,GAAG,UAAU,GAAG,UAAU,IAAI;AAC/D,QAAM,oBAAsE,0BAAY,MAAM;AAC5F,oBAAgB,CAAC,CAAC;AAClB,gBAAY,KAAK;AACjB,cAAU,SAAS,QAAQ;AAAA,EAC7B,GAAG,CAAC,UAAU,eAAe,CAAC;AAE9B,QAAM,cAAkC;AAAA,IACtC,MAAM;AAAA,MACJ;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,OAAO;AAAA,QACP,MAAM;AAAA,QACN,SAAS;AAAA,QACT,WAAW,CAAC,MAA2B;AACrC,cAAI,CAAC,SAAS,OAAO,EAAE,SAAS,EAAE,IAAI;AAAG,0BAAc,CAAC;AAAA,QAC1D;AAAA,MACF;AAAA,MACA,GAAG;AAAA,IACL;AAAA,IACA,CAAC,cAAc,aAAa;AAAA,EAC9B;AAEA,SACE,4CAAC,SAAI,OAAO,EAAE,YAAY,OAAO,GAC/B;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,0BAAyB;AAAA,MACzB;AAAA,MACA,gBAAgB,MAAM;AACpB,oBAAY,KAAK;AAAA,MACnB;AAAA,MACA,WAAW,CAAC,MAA2B;AACrC,YAAI,EAAE,SAAS;AAAU,oBAAU,SAAS,QAAQ;AAAA,MACtD;AAAA,MAEA;AAAA,QAAC;AAAA;AAAA,UACC,YAAY,iCAAa;AAAA,UACzB,SAAS,MAAM,YAAY,CAAC,eAAe,CAAC,UAAU;AAAA,UACtD;AAAA,UACA,cAAW;AAAA,UACX,eAAa,2BAAY;AAAA,UACxB,GAAG;AAAA,UAEJ,sDAAC,mCAAgB;AAAA;AAAA,MACnB;AAAA;AAAA,EACF,GACF;AAEJ;",
6
6
  "names": []
7
7
  }
@@ -34,7 +34,7 @@ module.exports = __toCommonJS(FilterPopover_exports);
34
34
  var React = __toESM(require("react"));
35
35
  var import_jsx_runtime = require("react/jsx-runtime");
36
36
  var import_react = require("react");
37
- var import_ds_button = require("@elliemae/ds-button");
37
+ var import_ds_button_v2 = require("@elliemae/ds-button-v2");
38
38
  var import_ds_popperjs = require("@elliemae/ds-popperjs");
39
39
  var import_ds_system = require("@elliemae/ds-system");
40
40
  var import_ds_utilities = require("@elliemae/ds-utilities");
@@ -62,7 +62,10 @@ const ButtonTrap = ({ cb }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
62
62
  );
63
63
  const FilterPopover = (props) => {
64
64
  const { column, customStyles, reduxHeader, menuContent, columnId, ariaLabel, triggerIcon, innerRef } = props;
65
- const { patchHeader } = (0, import_react.useContext)(import_DataTableContext.DataTableContext);
65
+ const {
66
+ patchHeader,
67
+ tableProps: { filters }
68
+ } = (0, import_react.useContext)(import_DataTableContext.DataTableContext);
66
69
  const { isIconVisible, isMenuOpen } = (0, import_useGetFilterVisibility.useGetFilterVisibility)(reduxHeader);
67
70
  const [buttonReference, setButtonReference] = (0, import_react.useState)(null);
68
71
  const [isButtonFocused, setIsButtonFocused] = (0, import_react.useState)(false);
@@ -71,6 +74,12 @@ const FilterPopover = (props) => {
71
74
  patchHeader(columnId, { hideFilterMenu: true, hideFilterButton: false });
72
75
  buttonReference?.focus();
73
76
  }, [columnId, patchHeader, buttonReference]);
77
+ const actionRef = (0, import_react.useRef)({
78
+ update: null
79
+ });
80
+ (0, import_react.useEffect)(() => {
81
+ void actionRef.current.update?.();
82
+ }, [filters]);
74
83
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
75
84
  "div",
76
85
  {
@@ -78,7 +87,7 @@ const FilterPopover = (props) => {
78
87
  onKeyDown: handleMenuOnKeyDown,
79
88
  children: [
80
89
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(FilterButton, { hide: !isIconVisible, "data-testid": import_constants.DATA_TESTID.DATA_TABLE_FILTER_BUTTON, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
81
- import_ds_button.DSButtonV2,
90
+ import_ds_button_v2.DSButtonV2,
82
91
  {
83
92
  buttonType: "icon",
84
93
  size: "s",
@@ -95,6 +104,7 @@ const FilterPopover = (props) => {
95
104
  buttonReference && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
96
105
  import_ds_popperjs.DSPopperJS,
97
106
  {
107
+ actionRef,
98
108
  referenceElement: buttonReference,
99
109
  showPopover: isMenuOpen,
100
110
  closeContextMenu: handleClickOutsideMenu,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/exported-related/FilterPopover/index.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["/* eslint-disable jsx-a11y/no-static-element-interactions */\nimport React, { useCallback, useContext, useState } from 'react';\nimport { DSButtonV2 } from '@elliemae/ds-button';\nimport { DSPopperJS } from '@elliemae/ds-popperjs';\nimport { styled } from '@elliemae/ds-system';\nimport { mergeRefs } from '@elliemae/ds-utilities';\nimport { DataTableContext } from '../../DataTableContext.js';\nimport { DATA_TESTID } from '../../configs/constants.js';\nimport { useGetFilterVisibility } from './useGetFilterVisibility.js';\nimport type { FilterPopoverProps } from './types.js';\nimport { useGetFilterHandlers } from './useGetFilterHandlers.js';\n\nconst FilterButton = styled.span<{ hide: boolean }>`\n display: inline-grid;\n ${(props) => (props.hide ? 'opacity: 0; display: none; width: 0;' : '')}\n`;\n\nconst PopperContent = styled.div`\n background-color: #fff;\n`;\n\nconst ButtonTrap = ({ cb }: { cb: () => void }) => (\n <span\n aria-hidden=\"true\"\n // eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex\n tabIndex={0}\n onFocus={(e: React.FocusEvent) => {\n e.stopPropagation();\n cb();\n }}\n />\n);\n\nexport const FilterPopover: React.ComponentType<FilterPopoverProps> = (props: FilterPopoverProps) => {\n const { column, customStyles, reduxHeader, menuContent, columnId, ariaLabel, triggerIcon, innerRef } = props;\n\n const { patchHeader } = useContext(DataTableContext);\n\n const { isIconVisible, isMenuOpen } = useGetFilterVisibility(reduxHeader);\n\n const [buttonReference, setButtonReference] = useState<HTMLButtonElement | null>(null);\n\n const [isButtonFocused, setIsButtonFocused] = useState(false);\n\n const { handleTriggerClick, handleClickOutsideMenu, handleMenuOnKeyDown, handleTriggerOnFocus, handleTriggerOnBlur } =\n useGetFilterHandlers(props, isMenuOpen, buttonReference, setIsButtonFocused);\n\n const buttonTrapCallback = useCallback(() => {\n patchHeader(columnId, { hideFilterMenu: true, hideFilterButton: false });\n buttonReference?.focus();\n }, [columnId, patchHeader, buttonReference]);\n\n return (\n <div\n // This is here to prevent propagation, and not trigger the sort functionality\n onClick={(e) => e.stopPropagation()}\n onKeyDown={handleMenuOnKeyDown}\n >\n <FilterButton hide={!isIconVisible} data-testid={DATA_TESTID.DATA_TABLE_FILTER_BUTTON}>\n <DSButtonV2\n buttonType=\"icon\"\n size=\"s\"\n onClick={handleTriggerClick}\n onFocus={handleTriggerOnFocus}\n onBlur={handleTriggerOnBlur}\n innerRef={mergeRefs(isIconVisible && setButtonReference, innerRef)}\n tabIndex={reduxHeader?.withTabStops ? 0 : -1}\n aria-label={ariaLabel}\n aria-hidden={!isButtonFocused}\n >\n {triggerIcon}\n </DSButtonV2>\n </FilterButton>\n {buttonReference && (\n <DSPopperJS\n referenceElement={buttonReference}\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", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADsBrB;AArBF,mBAAyD;AACzD,uBAA2B;AAC3B,yBAA2B;AAC3B,uBAAuB;AACvB,0BAA0B;AAC1B,8BAAiC;AACjC,uBAA4B;AAC5B,oCAAuC;AAEvC,kCAAqC;AAErC,MAAM,eAAe,wBAAO;AAAA;AAAA,IAExB,CAAC,UAAW,MAAM,OAAO,yCAAyC;AAAA;AAGtE,MAAM,gBAAgB,wBAAO;AAAA;AAAA;AAI7B,MAAM,aAAa,CAAC,EAAE,GAAG,MACvB;AAAA,EAAC;AAAA;AAAA,IACC,eAAY;AAAA,IAEZ,UAAU;AAAA,IACV,SAAS,CAAC,MAAwB;AAChC,QAAE,gBAAgB;AAClB,SAAG;AAAA,IACL;AAAA;AACF;AAGK,MAAM,gBAAyD,CAAC,UAA8B;AACnG,QAAM,EAAE,QAAQ,cAAc,aAAa,aAAa,UAAU,WAAW,aAAa,SAAS,IAAI;AAEvG,QAAM,EAAE,YAAY,QAAI,yBAAW,wCAAgB;AAEnD,QAAM,EAAE,eAAe,WAAW,QAAI,sDAAuB,WAAW;AAExE,QAAM,CAAC,iBAAiB,kBAAkB,QAAI,uBAAmC,IAAI;AAErF,QAAM,CAAC,iBAAiB,kBAAkB,QAAI,uBAAS,KAAK;AAE5D,QAAM,EAAE,oBAAoB,wBAAwB,qBAAqB,sBAAsB,oBAAoB,QACjH,kDAAqB,OAAO,YAAY,iBAAiB,kBAAkB;AAE7E,QAAM,yBAAqB,0BAAY,MAAM;AAC3C,gBAAY,UAAU,EAAE,gBAAgB,MAAM,kBAAkB,MAAM,CAAC;AACvE,qBAAiB,MAAM;AAAA,EACzB,GAAG,CAAC,UAAU,aAAa,eAAe,CAAC;AAE3C,SACE;AAAA,IAAC;AAAA;AAAA,MAEC,SAAS,CAAC,MAAM,EAAE,gBAAgB;AAAA,MAClC,WAAW;AAAA,MAEX;AAAA,oDAAC,gBAAa,MAAM,CAAC,eAAe,eAAa,6BAAY,0BAC3D;AAAA,UAAC;AAAA;AAAA,YACC,YAAW;AAAA,YACX,MAAK;AAAA,YACL,SAAS;AAAA,YACT,SAAS;AAAA,YACT,QAAQ;AAAA,YACR,cAAU,+BAAU,iBAAiB,oBAAoB,QAAQ;AAAA,YACjE,UAAU,aAAa,eAAe,IAAI;AAAA,YAC1C,cAAY;AAAA,YACZ,eAAa,CAAC;AAAA,YAEb;AAAA;AAAA,QACH,GACF;AAAA,QACC,mBACC;AAAA,UAAC;AAAA;AAAA,YACC,kBAAkB;AAAA,YAClB,aAAa;AAAA,YACb,kBAAkB;AAAA,YAClB,eAAa,6BAAY;AAAA,YACzB,0BAAyB;AAAA,YACzB,cAAc,CAAC,GAAG,CAAC;AAAA,YACnB,cAAY;AAAA,YACZ,kBAAgB;AAAA,YAChB,mBAAmB;AAAA,cACjB,GAAG;AAAA,cACH,UAAU,OAAO,KAAK,SAAS,eAAe;AAAA,YAChD;AAAA,YACA,0BAA0B,CAAC,YAAY;AAAA,YAEvC,uDAAC,iBACC;AAAA,0DAAC,cAAW,IAAI,oBAAoB;AAAA,cACnC;AAAA,cACD,4CAAC,cAAW,IAAI,oBAAoB;AAAA,eACtC;AAAA;AAAA,QACF;AAAA;AAAA;AAAA,EAEJ;AAEJ;",
4
+ "sourcesContent": ["/* eslint-disable jsx-a11y/no-static-element-interactions */\nimport React, { useCallback, useContext, useEffect, useRef, useState } from 'react';\nimport { DSButtonV2 } from '@elliemae/ds-button-v2';\nimport { DSPopperJS } from '@elliemae/ds-popperjs';\nimport type { DSPopperJST } from '@elliemae/ds-popperjs';\nimport { styled } from '@elliemae/ds-system';\nimport { mergeRefs } from '@elliemae/ds-utilities';\nimport { DataTableContext } from '../../DataTableContext.js';\nimport { DATA_TESTID } from '../../configs/constants.js';\nimport { useGetFilterVisibility } from './useGetFilterVisibility.js';\nimport type { FilterPopoverProps } from './types.js';\nimport { useGetFilterHandlers } from './useGetFilterHandlers.js';\n\nconst FilterButton = styled.span<{ hide: boolean }>`\n display: inline-grid;\n ${(props) => (props.hide ? 'opacity: 0; display: none; width: 0;' : '')}\n`;\n\nconst PopperContent = styled.div`\n background-color: #fff;\n`;\n\nconst ButtonTrap = ({ cb }: { cb: () => void }) => (\n <span\n aria-hidden=\"true\"\n // eslint-disable-next-line jsx-a11y/no-noninteractive-tabindex\n tabIndex={0}\n onFocus={(e: React.FocusEvent) => {\n e.stopPropagation();\n cb();\n }}\n />\n);\n\nexport const FilterPopover: React.ComponentType<FilterPopoverProps> = (props: FilterPopoverProps) => {\n const { column, customStyles, reduxHeader, menuContent, columnId, ariaLabel, triggerIcon, innerRef } = props;\n\n const {\n patchHeader,\n tableProps: { filters },\n } = useContext(DataTableContext);\n\n const { isIconVisible, isMenuOpen } = useGetFilterVisibility(reduxHeader);\n\n const [buttonReference, setButtonReference] = useState<HTMLButtonElement | null>(null);\n\n const [isButtonFocused, setIsButtonFocused] = useState(false);\n\n const { handleTriggerClick, handleClickOutsideMenu, handleMenuOnKeyDown, handleTriggerOnFocus, handleTriggerOnBlur } =\n useGetFilterHandlers(props, isMenuOpen, buttonReference, setIsButtonFocused);\n\n const buttonTrapCallback = useCallback(() => {\n patchHeader(columnId, { hideFilterMenu: true, hideFilterButton: false });\n buttonReference?.focus();\n }, [columnId, patchHeader, buttonReference]);\n\n const actionRef: Required<DSPopperJST.Props>['actionRef'] = useRef({\n update: null,\n });\n\n useEffect(() => {\n // When the filters change, we need to update the popper position,\n // because the filter bar might push the datatable up or down, causing the popper to be misaligned\n void actionRef.current.update?.();\n }, [filters]);\n\n return (\n <div\n // This is here to prevent propagation, and not trigger the sort functionality\n onClick={(e) => e.stopPropagation()}\n onKeyDown={handleMenuOnKeyDown}\n >\n <FilterButton hide={!isIconVisible} data-testid={DATA_TESTID.DATA_TABLE_FILTER_BUTTON}>\n <DSButtonV2\n buttonType=\"icon\"\n size=\"s\"\n onClick={handleTriggerClick}\n onFocus={handleTriggerOnFocus}\n onBlur={handleTriggerOnBlur}\n innerRef={mergeRefs(isIconVisible && setButtonReference, innerRef)}\n tabIndex={reduxHeader?.withTabStops ? 0 : -1}\n aria-label={ariaLabel}\n aria-hidden={!isButtonFocused}\n >\n {triggerIcon}\n </DSButtonV2>\n </FilterButton>\n {buttonReference && (\n <DSPopperJS\n actionRef={actionRef}\n referenceElement={buttonReference}\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", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADuBrB;AAtBF,mBAA4E;AAC5E,0BAA2B;AAC3B,yBAA2B;AAE3B,uBAAuB;AACvB,0BAA0B;AAC1B,8BAAiC;AACjC,uBAA4B;AAC5B,oCAAuC;AAEvC,kCAAqC;AAErC,MAAM,eAAe,wBAAO;AAAA;AAAA,IAExB,CAAC,UAAW,MAAM,OAAO,yCAAyC;AAAA;AAGtE,MAAM,gBAAgB,wBAAO;AAAA;AAAA;AAI7B,MAAM,aAAa,CAAC,EAAE,GAAG,MACvB;AAAA,EAAC;AAAA;AAAA,IACC,eAAY;AAAA,IAEZ,UAAU;AAAA,IACV,SAAS,CAAC,MAAwB;AAChC,QAAE,gBAAgB;AAClB,SAAG;AAAA,IACL;AAAA;AACF;AAGK,MAAM,gBAAyD,CAAC,UAA8B;AACnG,QAAM,EAAE,QAAQ,cAAc,aAAa,aAAa,UAAU,WAAW,aAAa,SAAS,IAAI;AAEvG,QAAM;AAAA,IACJ;AAAA,IACA,YAAY,EAAE,QAAQ;AAAA,EACxB,QAAI,yBAAW,wCAAgB;AAE/B,QAAM,EAAE,eAAe,WAAW,QAAI,sDAAuB,WAAW;AAExE,QAAM,CAAC,iBAAiB,kBAAkB,QAAI,uBAAmC,IAAI;AAErF,QAAM,CAAC,iBAAiB,kBAAkB,QAAI,uBAAS,KAAK;AAE5D,QAAM,EAAE,oBAAoB,wBAAwB,qBAAqB,sBAAsB,oBAAoB,QACjH,kDAAqB,OAAO,YAAY,iBAAiB,kBAAkB;AAE7E,QAAM,yBAAqB,0BAAY,MAAM;AAC3C,gBAAY,UAAU,EAAE,gBAAgB,MAAM,kBAAkB,MAAM,CAAC;AACvE,qBAAiB,MAAM;AAAA,EACzB,GAAG,CAAC,UAAU,aAAa,eAAe,CAAC;AAE3C,QAAM,gBAAsD,qBAAO;AAAA,IACjE,QAAQ;AAAA,EACV,CAAC;AAED,8BAAU,MAAM;AAGd,SAAK,UAAU,QAAQ,SAAS;AAAA,EAClC,GAAG,CAAC,OAAO,CAAC;AAEZ,SACE;AAAA,IAAC;AAAA;AAAA,MAEC,SAAS,CAAC,MAAM,EAAE,gBAAgB;AAAA,MAClC,WAAW;AAAA,MAEX;AAAA,oDAAC,gBAAa,MAAM,CAAC,eAAe,eAAa,6BAAY,0BAC3D;AAAA,UAAC;AAAA;AAAA,YACC,YAAW;AAAA,YACX,MAAK;AAAA,YACL,SAAS;AAAA,YACT,SAAS;AAAA,YACT,QAAQ;AAAA,YACR,cAAU,+BAAU,iBAAiB,oBAAoB,QAAQ;AAAA,YACjE,UAAU,aAAa,eAAe,IAAI;AAAA,YAC1C,cAAY;AAAA,YACZ,eAAa,CAAC;AAAA,YAEb;AAAA;AAAA,QACH,GACF;AAAA,QACC,mBACC;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACA,kBAAkB;AAAA,YAClB,aAAa;AAAA,YACb,kBAAkB;AAAA,YAClB,eAAa,6BAAY;AAAA,YACzB,0BAAyB;AAAA,YACzB,cAAc,CAAC,GAAG,CAAC;AAAA,YACnB,cAAY;AAAA,YACZ,kBAAgB;AAAA,YAChB,mBAAmB;AAAA,cACjB,GAAG;AAAA,cACH,UAAU,OAAO,KAAK,SAAS,eAAe;AAAA,YAChD;AAAA,YACA,0BAA0B,CAAC,YAAY;AAAA,YAEvC,uDAAC,iBACC;AAAA,0DAAC,cAAW,IAAI,oBAAoB;AAAA,cACnC;AAAA,cACD,4CAAC,cAAW,IAAI,oBAAoB;AAAA,eACtC;AAAA;AAAA,QACF;AAAA;AAAA;AAAA,EAEJ;AAEJ;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/exported-related/FilterPopover/types.ts", "../../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["import type { InternalTypescriptColumn, ReduxHeader } from '../../types/props.js';\n\nexport interface FilterPopoverProps {\n column: InternalTypescriptColumn;\n columnId: string;\n triggerIcon: JSX.Element;\n menuContent: JSX.Element;\n onTriggerClick?: (id: string, e: React.MouseEvent) => void;\n onClickOutsideMenu?: (id: string) => void;\n reduxHeader: ReduxHeader;\n innerRef: React.MutableRefObject<HTMLButtonElement | null>;\n ariaLabel: string;\n customStyles?: React.CSSProperties;\n}\n", "import * as React from 'react';\nexport { React };\n"],
4
+ "sourcesContent": ["import type React from 'react';\nimport type { DSDataTableT } from '../../react-desc-prop-types.js';\n\nexport interface FilterPopoverProps {\n column: DSDataTableT.InternalColumn;\n columnId: string;\n triggerIcon: JSX.Element;\n menuContent: JSX.Element;\n onTriggerClick?: (id: string, e: React.MouseEvent | React.KeyboardEvent) => void;\n onClickOutsideMenu?: (id: string) => void;\n reduxHeader: DSDataTableT.ReduxHeader;\n innerRef: React.MutableRefObject<HTMLButtonElement | null>;\n ariaLabel: string;\n customStyles?: React.CSSProperties;\n}\n", "import * as React from 'react';\nexport { React };\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;ACAA,YAAuB;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/exported-related/FilterPopover/useGetFilterHandlers.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["/* eslint-disable max-params */\nimport type React from 'react';\nimport { useCallback, useContext, useEffect } from 'react';\nimport { DataTableContext } from '../../DataTableContext.js';\nimport type { FilterPopoverProps } from './types.js';\n\nconst emptyFunc = () => null;\n\nexport const useGetFilterHandlers = (\n props: FilterPopoverProps,\n isMenuOpen: boolean,\n buttonReference: HTMLButtonElement | null,\n setIsButtonFocused: React.Dispatch<React.SetStateAction<boolean>>,\n) => {\n const { columnId, onTriggerClick = emptyFunc, onClickOutsideMenu = emptyFunc } = props;\n\n const { patchHeaderFilterButtonAndMenu, patchHeader } = useContext(DataTableContext);\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: React.MouseEvent) => {\n onTriggerClick(columnId, e);\n patchHeader(columnId, { hideFilterMenu: isMenuOpen, hideFilterButton: false });\n e.stopPropagation();\n },\n [columnId, isMenuOpen, onTriggerClick, patchHeader],\n );\n\n const handleTriggerOnFocus = useCallback(() => setIsButtonFocused(true), [setIsButtonFocused]);\n const handleTriggerOnBlur = useCallback(() => setIsButtonFocused(false), [setIsButtonFocused]);\n\n const handleClickOutsideMenu = useCallback(() => {\n onClickOutsideMenu(columnId);\n if (isMenuOpen) patchHeaderFilterButtonAndMenu(columnId, true);\n }, [columnId, isMenuOpen, onClickOutsideMenu, patchHeaderFilterButtonAndMenu]);\n\n const handleMenuOnKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n e.stopPropagation();\n if (e.code === 'Escape') {\n patchHeader(columnId, { hideFilterMenu: true, hideFilterButton: false });\n buttonReference?.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 [buttonReference, columnId, patchHeader],\n );\n\n return { handleTriggerClick, handleClickOutsideMenu, handleMenuOnKeyDown, handleTriggerOnFocus, handleTriggerOnBlur };\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADEvB,mBAAmD;AACnD,8BAAiC;AAGjC,MAAM,YAAY,MAAM;AAEjB,MAAM,uBAAuB,CAClC,OACA,YACA,iBACA,uBACG;AACH,QAAM,EAAE,UAAU,iBAAiB,WAAW,qBAAqB,UAAU,IAAI;AAEjF,QAAM,EAAE,gCAAgC,YAAY,QAAI,yBAAW,wCAAgB;AAEnF,8BAAU,MAAM;AACd,UAAM,YAAY,MAAM;AACtB,qCAA+B,UAAU,IAAI;AAAA,IAC/C;AACA,WAAO,iBAAiB,QAAQ,SAAS;AAEzC,WAAO,MAAM;AACX,aAAO,oBAAoB,QAAQ,SAAS;AAAA,IAC9C;AAAA,EACF,GAAG,CAAC,UAAU,8BAA8B,CAAC;AAE7C,QAAM,yBAAqB;AAAA,IACzB,CAAC,MAAwB;AACvB,qBAAe,UAAU,CAAC;AAC1B,kBAAY,UAAU,EAAE,gBAAgB,YAAY,kBAAkB,MAAM,CAAC;AAC7E,QAAE,gBAAgB;AAAA,IACpB;AAAA,IACA,CAAC,UAAU,YAAY,gBAAgB,WAAW;AAAA,EACpD;AAEA,QAAM,2BAAuB,0BAAY,MAAM,mBAAmB,IAAI,GAAG,CAAC,kBAAkB,CAAC;AAC7F,QAAM,0BAAsB,0BAAY,MAAM,mBAAmB,KAAK,GAAG,CAAC,kBAAkB,CAAC;AAE7F,QAAM,6BAAyB,0BAAY,MAAM;AAC/C,uBAAmB,QAAQ;AAC3B,QAAI;AAAY,qCAA+B,UAAU,IAAI;AAAA,EAC/D,GAAG,CAAC,UAAU,YAAY,oBAAoB,8BAA8B,CAAC;AAE7E,QAAM,0BAAsB;AAAA,IAC1B,CAAC,MAA2B;AAC1B,QAAE,gBAAgB;AAClB,UAAI,EAAE,SAAS,UAAU;AACvB,oBAAY,UAAU,EAAE,gBAAgB,MAAM,kBAAkB,MAAM,CAAC;AACvE,yBAAiB,MAAM;AAAA,MACzB;AAGA,UAAI,CAAC,WAAW,WAAW,EAAE,SAAS,EAAE,IAAI,GAAG;AAC7C,UAAE,eAAe;AAAA,MACnB;AAAA,IACF;AAAA,IACA,CAAC,iBAAiB,UAAU,WAAW;AAAA,EACzC;AAEA,SAAO,EAAE,oBAAoB,wBAAwB,qBAAqB,sBAAsB,oBAAoB;AACtH;",
4
+ "sourcesContent": ["/* eslint-disable max-params */\nimport type React from 'react';\nimport { useCallback, useContext, useEffect } from 'react';\nimport { DataTableContext } from '../../DataTableContext.js';\nimport type { FilterPopoverProps } from './types.js';\n\nconst emptyFunc = () => null;\n\nexport const useGetFilterHandlers = (\n props: FilterPopoverProps,\n isMenuOpen: boolean,\n buttonReference: HTMLButtonElement | null,\n setIsButtonFocused: React.Dispatch<React.SetStateAction<boolean>>,\n) => {\n const { columnId, onTriggerClick = emptyFunc, onClickOutsideMenu = emptyFunc } = props;\n\n const { patchHeaderFilterButtonAndMenu, patchHeader } = useContext(DataTableContext);\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: React.MouseEvent | React.KeyboardEvent) => {\n onTriggerClick(columnId, e);\n patchHeader(columnId, { hideFilterMenu: isMenuOpen, hideFilterButton: false });\n e.stopPropagation();\n },\n [columnId, isMenuOpen, onTriggerClick, patchHeader],\n );\n\n const handleTriggerOnFocus = useCallback(() => setIsButtonFocused(true), [setIsButtonFocused]);\n const handleTriggerOnBlur = useCallback(() => setIsButtonFocused(false), [setIsButtonFocused]);\n\n const handleClickOutsideMenu = useCallback(() => {\n onClickOutsideMenu(columnId);\n if (isMenuOpen) patchHeaderFilterButtonAndMenu(columnId, true);\n }, [columnId, isMenuOpen, onClickOutsideMenu, patchHeaderFilterButtonAndMenu]);\n\n const handleMenuOnKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n e.stopPropagation();\n if (e.code === 'Escape') {\n patchHeader(columnId, { hideFilterMenu: true, hideFilterButton: false });\n buttonReference?.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 [buttonReference, columnId, patchHeader],\n );\n\n return { handleTriggerClick, handleClickOutsideMenu, handleMenuOnKeyDown, handleTriggerOnFocus, handleTriggerOnBlur };\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADEvB,mBAAmD;AACnD,8BAAiC;AAGjC,MAAM,YAAY,MAAM;AAEjB,MAAM,uBAAuB,CAClC,OACA,YACA,iBACA,uBACG;AACH,QAAM,EAAE,UAAU,iBAAiB,WAAW,qBAAqB,UAAU,IAAI;AAEjF,QAAM,EAAE,gCAAgC,YAAY,QAAI,yBAAW,wCAAgB;AAEnF,8BAAU,MAAM;AACd,UAAM,YAAY,MAAM;AACtB,qCAA+B,UAAU,IAAI;AAAA,IAC/C;AACA,WAAO,iBAAiB,QAAQ,SAAS;AAEzC,WAAO,MAAM;AACX,aAAO,oBAAoB,QAAQ,SAAS;AAAA,IAC9C;AAAA,EACF,GAAG,CAAC,UAAU,8BAA8B,CAAC;AAE7C,QAAM,yBAAqB;AAAA,IACzB,CAAC,MAA8C;AAC7C,qBAAe,UAAU,CAAC;AAC1B,kBAAY,UAAU,EAAE,gBAAgB,YAAY,kBAAkB,MAAM,CAAC;AAC7E,QAAE,gBAAgB;AAAA,IACpB;AAAA,IACA,CAAC,UAAU,YAAY,gBAAgB,WAAW;AAAA,EACpD;AAEA,QAAM,2BAAuB,0BAAY,MAAM,mBAAmB,IAAI,GAAG,CAAC,kBAAkB,CAAC;AAC7F,QAAM,0BAAsB,0BAAY,MAAM,mBAAmB,KAAK,GAAG,CAAC,kBAAkB,CAAC;AAE7F,QAAM,6BAAyB,0BAAY,MAAM;AAC/C,uBAAmB,QAAQ;AAC3B,QAAI;AAAY,qCAA+B,UAAU,IAAI;AAAA,EAC/D,GAAG,CAAC,UAAU,YAAY,oBAAoB,8BAA8B,CAAC;AAE7E,QAAM,0BAAsB;AAAA,IAC1B,CAAC,MAA2B;AAC1B,QAAE,gBAAgB;AAClB,UAAI,EAAE,SAAS,UAAU;AACvB,oBAAY,UAAU,EAAE,gBAAgB,MAAM,kBAAkB,MAAM,CAAC;AACvE,yBAAiB,MAAM;AAAA,MACzB;AAGA,UAAI,CAAC,WAAW,WAAW,EAAE,SAAS,EAAE,IAAI,GAAG;AAC7C,UAAE,eAAe;AAAA,MACnB;AAAA,IACF;AAAA,IACA,CAAC,iBAAiB,UAAU,WAAW;AAAA,EACzC;AAEA,SAAO,EAAE,oBAAoB,wBAAwB,qBAAqB,sBAAsB,oBAAoB;AACtH;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/exported-related/FilterPopover/useGetFilterVisibility.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["import { useMemo } from 'react';\nimport type { ReduxHeader } from '../../types/props.js';\n\nexport const useGetFilterVisibility = (reduxHeader: ReduxHeader) => {\n const { hideFilterButton, hideFilterMenu } = useMemo(\n () =>\n reduxHeader || {\n hideFilterButton: true,\n hideFilterMenu: true,\n },\n [reduxHeader],\n );\n\n return useMemo(\n () => ({\n isIconVisible: !hideFilterButton || !hideFilterMenu,\n isMenuOpen: !hideFilterMenu,\n }),\n [hideFilterButton, hideFilterMenu],\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAwB;AAGjB,MAAM,yBAAyB,CAAC,gBAA6B;AAClE,QAAM,EAAE,kBAAkB,eAAe,QAAI;AAAA,IAC3C,MACE,eAAe;AAAA,MACb,kBAAkB;AAAA,MAClB,gBAAgB;AAAA,IAClB;AAAA,IACF,CAAC,WAAW;AAAA,EACd;AAEA,aAAO;AAAA,IACL,OAAO;AAAA,MACL,eAAe,CAAC,oBAAoB,CAAC;AAAA,MACrC,YAAY,CAAC;AAAA,IACf;AAAA,IACA,CAAC,kBAAkB,cAAc;AAAA,EACnC;AACF;",
4
+ "sourcesContent": ["import { useMemo } from 'react';\nimport type { DSDataTableT } from '../../react-desc-prop-types.js';\n\nexport const useGetFilterVisibility = (reduxHeader: DSDataTableT.ReduxHeader) => {\n const { hideFilterButton, hideFilterMenu } = useMemo(\n () =>\n reduxHeader || {\n hideFilterButton: true,\n hideFilterMenu: true,\n },\n [reduxHeader],\n );\n\n return useMemo(\n () => ({\n isIconVisible: !hideFilterButton || !hideFilterMenu,\n isMenuOpen: !hideFilterMenu,\n }),\n [hideFilterButton, hideFilterMenu],\n );\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAwB;AAGjB,MAAM,yBAAyB,CAAC,gBAA0C;AAC/E,QAAM,EAAE,kBAAkB,eAAe,QAAI;AAAA,IAC3C,MACE,eAAe;AAAA,MACb,kBAAkB;AAAA,MAClB,gBAAgB;AAAA,IAClB;AAAA,IACF,CAAC,WAAW;AAAA,EACd;AAEA,aAAO;AAAA,IACL,OAAO;AAAA,MACL,eAAe,CAAC,oBAAoB,CAAC;AAAA,MACrC,YAAY,CAAC;AAAA,IACf;AAAA,IACA,CAAC,kBAAkB,cAAc;AAAA,EACnC;AACF;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/exported-related/Filters/applyOutOfTheBoxFilters.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["import { singleSelectFilterFn } from './singleSelectFilterFn.js';\nimport { multiSelectFilterFn } from './multiSelectFilterFn.js';\nimport { singleDateFilterFn } from './singleDateFilterFn.js';\nimport { dateRangeFilterFn } from './dateRangeFilterFn.js';\nimport { dateSwitcherFilterFn } from './dateSwitcherFilterFn.js';\nimport { numberRangeFilterFn } from './numberRangeFilterFn.js';\nimport { currencyRangeFilterFn } from './currencyRangeFilterFn.js';\nimport type { FilterFn } from './types.js';\nimport { FILTER_TYPES } from '../FilterTypes.js';\nimport type { TypescriptAppliedFilter, TypescriptRow } from '../../types/props.js';\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", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,kCAAqC;AACrC,iCAAoC;AACpC,gCAAmC;AACnC,+BAAkC;AAClC,kCAAqC;AACrC,iCAAoC;AACpC,mCAAsC;AAEtC,yBAA6B;AAI7B,MAAM,eAA8C;AAAA,EAClD,CAAC,gCAAa,MAAM,GAAG;AAAA,EACvB,CAAC,gCAAa,YAAY,GAAG;AAAA,EAC7B,CAAC,gCAAa,WAAW,GAAG;AAAA,EAC5B,CAAC,gCAAa,UAAU,GAAG;AAAA,EAC3B,CAAC,gCAAa,aAAa,GAAG;AAAA,EAC9B,CAAC,gCAAa,YAAY,GAAG;AAAA,EAC7B,CAAC,gCAAa,cAAc,GAAG;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,IAAI,EAAE,cAAc,OAAO,IAAI,OAAO,KAAK;AAAA,IAChF;AAAA,EACF,CAAC;AAED,SAAO;AACT;",
4
+ "sourcesContent": ["import { singleSelectFilterFn } from './singleSelectFilterFn.js';\nimport { multiSelectFilterFn } from './multiSelectFilterFn.js';\nimport { singleDateFilterFn } from './singleDateFilterFn.js';\nimport { dateRangeFilterFn } from './dateRangeFilterFn.js';\nimport { dateSwitcherFilterFn } from './dateSwitcherFilterFn.js';\nimport { numberRangeFilterFn } from './numberRangeFilterFn.js';\nimport { currencyRangeFilterFn } from './currencyRangeFilterFn.js';\nimport type { FilterFn } from './types.js';\nimport { FILTER_TYPES } from '../FilterTypes.js';\nimport type { DSDataTableT } from '../../react-desc-prop-types.js';\n\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 = (\n data: DSDataTableT.Row[],\n filters: DSDataTableT.Filter[],\n): DSDataTableT.Row[] => {\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", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,kCAAqC;AACrC,iCAAoC;AACpC,gCAAmC;AACnC,+BAAkC;AAClC,kCAAqC;AACrC,iCAAoC;AACpC,mCAAsC;AAEtC,yBAA6B;AAG7B,MAAM,eAA8C;AAAA,EAClD,CAAC,gCAAa,MAAM,GAAG;AAAA,EACvB,CAAC,gCAAa,YAAY,GAAG;AAAA,EAC7B,CAAC,gCAAa,WAAW,GAAG;AAAA,EAC5B,CAAC,gCAAa,UAAU,GAAG;AAAA,EAC3B,CAAC,gCAAa,aAAa,GAAG;AAAA,EAC9B,CAAC,gCAAa,YAAY,GAAG;AAAA,EAC7B,CAAC,gCAAa,cAAc,GAAG;AACjC;AAEO,MAAM,0BAA0B,CACrC,MACA,YACuB;AACvB,MAAI,eAAe;AAEnB,UAAQ,QAAQ,CAAC,WAAW;AAC1B,QAAI,OAAO,QAAQ,cAAc;AAC/B,qBAAe,aAAa,OAAO,IAAI,EAAE,cAAc,OAAO,IAAI,OAAO,KAAK;AAAA,IAChF;AAAA,EACF,CAAC;AAED,SAAO;AACT;",
6
6
  "names": []
7
7
  }
@@ -47,8 +47,15 @@ const isEmpty = (number) => Number.isNaN(number) || number === null || number ==
47
47
  const currencyRangeFilterFn = (unfilteredData, filterKey, filterValue) => {
48
48
  const fromNumber = getNumber(filterValue.from);
49
49
  const toNumber = getNumber(filterValue.to);
50
- return unfilteredData.filter(
51
- (datum) => isEmpty(fromNumber) || isEmpty(toNumber) || getNumber(datum[filterKey]) >= fromNumber && getNumber(datum[filterKey]) <= toNumber
52
- );
50
+ if (isEmpty(fromNumber))
51
+ return unfilteredData;
52
+ if (isEmpty(toNumber))
53
+ return unfilteredData;
54
+ return unfilteredData.filter((datum) => {
55
+ const datumAsNumber = getNumber(datum[filterKey]);
56
+ if (isEmpty(datumAsNumber))
57
+ return false;
58
+ return datumAsNumber >= fromNumber && datumAsNumber <= toNumber;
59
+ });
53
60
  };
54
61
  //# sourceMappingURL=currencyRangeFilterFn.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/exported-related/Filters/currencyRangeFilterFn.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["import type { FilterFn } from './types.js';\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", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADEvB,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,SAAS,CAAC,KAAK,cAAc,UAAU,MAAM,SAAS,CAAC,KAAK;AAAA,EACjF;AACF;",
4
+ "sourcesContent": ["import type { FilterFn } from './types.js';\n\nconst getNumber = (str: string | null | number) => {\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 | null): number is null =>\n 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 if (isEmpty(fromNumber)) return unfilteredData;\n if (isEmpty(toNumber)) return unfilteredData;\n\n return unfilteredData.filter((datum) => {\n const datumAsNumber = getNumber(datum[filterKey] as string | null | number);\n if (isEmpty(datumAsNumber)) return false;\n return datumAsNumber >= fromNumber && datumAsNumber <= toNumber;\n });\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADEvB,MAAM,YAAY,CAAC,QAAgC;AACjD,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,WACf,OAAO,MAAM,MAAM,KAAK,WAAW,QAAQ,WAAW;AAEjD,MAAM,wBAAgE,CAC3E,gBACA,WACA,gBACG;AACH,QAAM,aAAa,UAAU,YAAY,IAAI;AAC7C,QAAM,WAAW,UAAU,YAAY,EAAE;AAEzC,MAAI,QAAQ,UAAU;AAAG,WAAO;AAChC,MAAI,QAAQ,QAAQ;AAAG,WAAO;AAE9B,SAAO,eAAe,OAAO,CAAC,UAAU;AACtC,UAAM,gBAAgB,UAAU,MAAM,SAAS,CAA2B;AAC1E,QAAI,QAAQ,aAAa;AAAG,aAAO;AACnC,WAAO,iBAAiB,cAAc,iBAAiB;AAAA,EACzD,CAAC;AACH;",
6
6
  "names": []
7
7
  }
@@ -34,7 +34,7 @@ module.exports = __toCommonJS(multiSelectFilterFn_exports);
34
34
  var React = __toESM(require("react"));
35
35
  const multiSelectFilterFn = (unfilteredData, filterKey, filterValue) => {
36
36
  if (filterValue.length > 0) {
37
- return unfilteredData.filter((datum) => filterValue.some((item) => item.label === datum[filterKey].toString()));
37
+ return unfilteredData.filter((datum) => filterValue.some((item) => item.label === String(datum[filterKey])));
38
38
  }
39
39
  return unfilteredData;
40
40
  };
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/exported-related/Filters/multiSelectFilterFn.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["import type { FilterFn } from './types.js';\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", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADEhB,MAAM,sBAAqD,CAAC,gBAAgB,WAAW,gBAAgB;AAC5G,MAAI,YAAY,SAAS,GAAG;AAC1B,WAAO,eAAe,OAAO,CAAC,UAAU,YAAY,KAAK,CAAC,SAAS,KAAK,UAAU,MAAM,SAAS,EAAE,SAAS,CAAC,CAAC;AAAA,EAChH;AACA,SAAO;AACT;",
4
+ "sourcesContent": ["import type { FilterFn } from './types.js';\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 === String(datum[filterKey])));\n }\n return unfilteredData;\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADEhB,MAAM,sBAAqD,CAAC,gBAAgB,WAAW,gBAAgB;AAC5G,MAAI,YAAY,SAAS,GAAG;AAC1B,WAAO,eAAe,OAAO,CAAC,UAAU,YAAY,KAAK,CAAC,SAAS,KAAK,UAAU,OAAO,MAAM,SAAS,CAAC,CAAC,CAAC;AAAA,EAC7G;AACA,SAAO;AACT;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/exported-related/Filters/numberRangeFilterFn.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["import type { FilterFn } from './types.js';\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", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADEvB,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,SAAS,KAAK,YAAY,QAAQ,MAAM,SAAS,KAAK,YAAY;AAC7E;",
4
+ "sourcesContent": ["import type { FilterFn } from './types.js';\n\nconst isEmpty = (number: number | null | undefined): number is null | undefined =>\n 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] as number) >= filterValue.from && (datum[filterKey] as number) <= filterValue.to),\n );\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADEvB,MAAM,UAAU,CAAC,WACf,WAAW,QAAQ,WAAW;AAEzB,MAAM,sBAAgE,CAAC,gBAAgB,WAAW,gBACvG,eAAe;AAAA,EACb,CAAC,UACC,QAAQ,aAAa,IAAI,KACzB,QAAQ,aAAa,EAAE,KACrB,MAAM,SAAS,KAAgB,YAAY,QAAS,MAAM,SAAS,KAAgB,YAAY;AACrG;",
6
6
  "names": []
7
7
  }
@@ -34,7 +34,7 @@ module.exports = __toCommonJS(singleSelectFilterFn_exports);
34
34
  var React = __toESM(require("react"));
35
35
  const singleSelectFilterFn = (unfilteredData, filterKey, filterValue) => {
36
36
  if (filterValue) {
37
- return unfilteredData.filter((datum) => datum[filterKey].toString() === filterValue.label);
37
+ return unfilteredData.filter((datum) => String(datum[filterKey]) === filterValue.label);
38
38
  }
39
39
  return unfilteredData;
40
40
  };
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/exported-related/Filters/singleSelectFilterFn.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["import type { FilterFn } from './types.js';\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", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADEhB,MAAM,uBAAoD,CAAC,gBAAgB,WAAW,gBAAgB;AAC3G,MAAI,aAAa;AACf,WAAO,eAAe,OAAO,CAAC,UAAU,MAAM,SAAS,EAAE,SAAS,MAAM,YAAY,KAAK;AAAA,EAC3F;AACA,SAAO;AACT;",
4
+ "sourcesContent": ["import type { FilterFn } from './types.js';\n\nexport const singleSelectFilterFn: FilterFn<{ label: string }> = (unfilteredData, filterKey, filterValue) => {\n if (filterValue) {\n return unfilteredData.filter((datum) => String(datum[filterKey]) === filterValue.label);\n }\n return unfilteredData;\n};\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADEhB,MAAM,uBAAoD,CAAC,gBAAgB,WAAW,gBAAgB;AAC3G,MAAI,aAAa;AACf,WAAO,eAAe,OAAO,CAAC,UAAU,OAAO,MAAM,SAAS,CAAC,MAAM,YAAY,KAAK;AAAA,EACxF;AACA,SAAO;AACT;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/exported-related/Filters/types.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["import type { TypescriptRow } from '../../types/props.js';\n\nexport type FilterFn<T = unknown> = (\n unfilteredData: TypescriptRow[],\n filterKey: string,\n filterValue: T,\n) => TypescriptRow[];\n", "import * as React from 'react';\nexport { React };\n"],
4
+ "sourcesContent": ["import type { DSDataTableT } from '../../react-desc-prop-types.js';\n\nexport type FilterFn<T = unknown> = (\n unfilteredData: DSDataTableT.Row[],\n filterKey: string,\n filterValue: T,\n) => DSDataTableT.Row[];\n", "import * as React from 'react';\nexport { React };\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;ACAA,YAAuB;",
6
6
  "names": []
7
7
  }