@elliemae/ds-data-table 3.4.2 → 3.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (443) hide show
  1. package/dist/cjs/DataTable.js +23 -14
  2. package/dist/cjs/DataTable.js.map +1 -1
  3. package/dist/cjs/DataTableContext.js +4 -1
  4. package/dist/cjs/DataTableContext.js.map +1 -1
  5. package/dist/cjs/DataTableSchema.js +69 -34
  6. package/dist/cjs/DataTableSchema.js.map +1 -1
  7. package/dist/cjs/addons/Columns/ColumnAction/ColumnAction.js +4 -1
  8. package/dist/cjs/addons/Columns/ColumnAction/ColumnAction.js.map +1 -1
  9. package/dist/cjs/addons/Columns/ColumnDragHandle/ColumnDragHandle.js +18 -15
  10. package/dist/cjs/addons/Columns/ColumnDragHandle/ColumnDragHandle.js.map +1 -1
  11. package/dist/cjs/addons/Columns/ColumnExpand/ColumnExpand.js +106 -79
  12. package/dist/cjs/addons/Columns/ColumnExpand/ColumnExpand.js.map +1 -1
  13. package/dist/cjs/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js +49 -30
  14. package/dist/cjs/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js.map +2 -2
  15. package/dist/cjs/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js +31 -19
  16. package/dist/cjs/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js.map +2 -2
  17. package/dist/cjs/addons/Columns/index.js +4 -1
  18. package/dist/cjs/addons/Columns/index.js.map +1 -1
  19. package/dist/cjs/addons/Editables/ComboboxEditableCell/ComboboxEditableCell.js +8 -4
  20. package/dist/cjs/addons/Editables/ComboboxEditableCell/ComboboxEditableCell.js.map +1 -1
  21. package/dist/cjs/addons/Editables/DateEditableCell/DateEditableCell.js +17 -10
  22. package/dist/cjs/addons/Editables/DateEditableCell/DateEditableCell.js.map +1 -1
  23. package/dist/cjs/addons/Editables/TextEditableCell/TextEditableCell.js +23 -16
  24. package/dist/cjs/addons/Editables/TextEditableCell/TextEditableCell.js.map +1 -1
  25. package/dist/cjs/addons/Editables/index.js +4 -1
  26. package/dist/cjs/addons/Editables/index.js.map +1 -1
  27. package/dist/cjs/addons/Filters/Components/CurrencyRangeFilter/index.js +64 -34
  28. package/dist/cjs/addons/Filters/Components/CurrencyRangeFilter/index.js.map +2 -2
  29. package/dist/cjs/addons/Filters/Components/DateRangeFilter/index.js +52 -25
  30. package/dist/cjs/addons/Filters/Components/DateRangeFilter/index.js.map +2 -2
  31. package/dist/cjs/addons/Filters/Components/DateSwitcherFilter/index.js +77 -52
  32. package/dist/cjs/addons/Filters/Components/DateSwitcherFilter/index.js.map +2 -2
  33. package/dist/cjs/addons/Filters/Components/NumberRangeFilter/index.js +64 -34
  34. package/dist/cjs/addons/Filters/Components/NumberRangeFilter/index.js.map +2 -2
  35. package/dist/cjs/addons/Filters/Components/SelectFilter/BaseSelectFilter.js +41 -20
  36. package/dist/cjs/addons/Filters/Components/SelectFilter/BaseSelectFilter.js.map +2 -2
  37. package/dist/cjs/addons/Filters/Components/SelectFilter/MultiCreatableFilter.js +6 -3
  38. package/dist/cjs/addons/Filters/Components/SelectFilter/MultiCreatableFilter.js.map +1 -1
  39. package/dist/cjs/addons/Filters/Components/SelectFilter/MultiSelectFilter.js +6 -3
  40. package/dist/cjs/addons/Filters/Components/SelectFilter/MultiSelectFilter.js.map +1 -1
  41. package/dist/cjs/addons/Filters/Components/SelectFilter/SingleCreatableFilter.js +6 -3
  42. package/dist/cjs/addons/Filters/Components/SelectFilter/SingleCreatableFilter.js.map +1 -1
  43. package/dist/cjs/addons/Filters/Components/SelectFilter/SingleSelectFilter.js +6 -3
  44. package/dist/cjs/addons/Filters/Components/SelectFilter/SingleSelectFilter.js.map +1 -1
  45. package/dist/cjs/addons/Filters/Components/SingleDateFilter/index.js +49 -22
  46. package/dist/cjs/addons/Filters/Components/SingleDateFilter/index.js.map +2 -2
  47. package/dist/cjs/addons/Filters/Components/index.js +4 -1
  48. package/dist/cjs/addons/Filters/Components/index.js.map +1 -1
  49. package/dist/cjs/addons/Filters/index.js +4 -1
  50. package/dist/cjs/addons/Filters/index.js.map +1 -1
  51. package/dist/cjs/addons/Pagination/Pagination.js +7 -3
  52. package/dist/cjs/addons/Pagination/Pagination.js.map +1 -1
  53. package/dist/cjs/addons/Pagination/index.js +4 -1
  54. package/dist/cjs/addons/Pagination/index.js.map +1 -1
  55. package/dist/cjs/configs/constants.js +4 -1
  56. package/dist/cjs/configs/constants.js.map +2 -2
  57. package/dist/cjs/configs/fixedSizes.js +4 -1
  58. package/dist/cjs/configs/fixedSizes.js.map +1 -1
  59. package/dist/cjs/configs/index.js +4 -1
  60. package/dist/cjs/configs/index.js.map +1 -1
  61. package/dist/cjs/configs/useDatatableConfig.js +54 -37
  62. package/dist/cjs/configs/useDatatableConfig.js.map +1 -1
  63. package/dist/cjs/configs/useInternalStateConfig.js +31 -22
  64. package/dist/cjs/configs/useInternalStateConfig.js.map +2 -2
  65. package/dist/cjs/configs/usePaginationConfig.js +42 -36
  66. package/dist/cjs/configs/usePaginationConfig.js.map +1 -1
  67. package/dist/cjs/configs/useRowFlattenization.js +18 -6
  68. package/dist/cjs/configs/useRowFlattenization.js.map +1 -1
  69. package/dist/cjs/configs/useTableColsWithAddons.js +4 -1
  70. package/dist/cjs/configs/useTableColsWithAddons.js.map +1 -1
  71. package/dist/cjs/configs/zIndexInternalConfig.js +4 -1
  72. package/dist/cjs/configs/zIndexInternalConfig.js.map +1 -1
  73. package/dist/cjs/exported-related/EditableCell.js +50 -28
  74. package/dist/cjs/exported-related/EditableCell.js.map +1 -1
  75. package/dist/cjs/exported-related/FilterBar/FilterBarDropdownMenu.js +46 -30
  76. package/dist/cjs/exported-related/FilterBar/FilterBarDropdownMenu.js.map +2 -2
  77. package/dist/cjs/exported-related/FilterBar/index.js +4 -1
  78. package/dist/cjs/exported-related/FilterBar/index.js.map +1 -1
  79. package/dist/cjs/exported-related/FilterPopover.js +64 -45
  80. package/dist/cjs/exported-related/FilterPopover.js.map +3 -3
  81. package/dist/cjs/exported-related/FilterTypes.js +4 -1
  82. package/dist/cjs/exported-related/FilterTypes.js.map +1 -1
  83. package/dist/cjs/exported-related/Filters/applyOutOfTheBoxFilters.js +4 -1
  84. package/dist/cjs/exported-related/Filters/applyOutOfTheBoxFilters.js.map +1 -1
  85. package/dist/cjs/exported-related/Filters/currencyRangeFilterFn.js +10 -3
  86. package/dist/cjs/exported-related/Filters/currencyRangeFilterFn.js.map +1 -1
  87. package/dist/cjs/exported-related/Filters/dateRangeFilterFn.js +7 -2
  88. package/dist/cjs/exported-related/Filters/dateRangeFilterFn.js.map +1 -1
  89. package/dist/cjs/exported-related/Filters/dateSwitcherFilterFn.js +4 -1
  90. package/dist/cjs/exported-related/Filters/dateSwitcherFilterFn.js.map +1 -1
  91. package/dist/cjs/exported-related/Filters/index.js +4 -1
  92. package/dist/cjs/exported-related/Filters/index.js.map +1 -1
  93. package/dist/cjs/exported-related/Filters/multiSelectFilterFn.js +4 -1
  94. package/dist/cjs/exported-related/Filters/multiSelectFilterFn.js.map +1 -1
  95. package/dist/cjs/exported-related/Filters/numberRangeFilterFn.js +7 -2
  96. package/dist/cjs/exported-related/Filters/numberRangeFilterFn.js.map +1 -1
  97. package/dist/cjs/exported-related/Filters/singleDateFilterFn.js +4 -1
  98. package/dist/cjs/exported-related/Filters/singleDateFilterFn.js.map +1 -1
  99. package/dist/cjs/exported-related/Filters/singleSelectFilterFn.js +4 -1
  100. package/dist/cjs/exported-related/Filters/singleSelectFilterFn.js.map +1 -1
  101. package/dist/cjs/exported-related/Filters/types.js +4 -1
  102. package/dist/cjs/exported-related/Filters/types.js.map +1 -1
  103. package/dist/cjs/exported-related/Filters/utilities.js +4 -1
  104. package/dist/cjs/exported-related/Filters/utilities.js.map +1 -1
  105. package/dist/cjs/exported-related/RowRenderer/DefaultRowContentRenderer.js +64 -47
  106. package/dist/cjs/exported-related/RowRenderer/DefaultRowContentRenderer.js.map +1 -1
  107. package/dist/cjs/exported-related/RowRenderer/index.js +38 -28
  108. package/dist/cjs/exported-related/RowRenderer/index.js.map +1 -1
  109. package/dist/cjs/exported-related/RowRenderer/useRowRendererHandlers.js +89 -68
  110. package/dist/cjs/exported-related/RowRenderer/useRowRendererHandlers.js.map +2 -2
  111. package/dist/cjs/exported-related/RowRenderer/useRowRendererProperties.js +12 -6
  112. package/dist/cjs/exported-related/RowRenderer/useRowRendererProperties.js.map +1 -1
  113. package/dist/cjs/exported-related/RowRenderer/useRowStyle.js +4 -1
  114. package/dist/cjs/exported-related/RowRenderer/useRowStyle.js.map +2 -2
  115. package/dist/cjs/exported-related/RowVariants.js +4 -1
  116. package/dist/cjs/exported-related/RowVariants.js.map +1 -1
  117. package/dist/cjs/exported-related/Toolbar/Toolbar.js +39 -24
  118. package/dist/cjs/exported-related/Toolbar/Toolbar.js.map +1 -1
  119. package/dist/cjs/exported-related/Toolbar/index.js +4 -1
  120. package/dist/cjs/exported-related/Toolbar/index.js.map +1 -1
  121. package/dist/cjs/exported-related/groupBy.js +4 -1
  122. package/dist/cjs/exported-related/groupBy.js.map +1 -1
  123. package/dist/cjs/exported-related/index.js +4 -1
  124. package/dist/cjs/exported-related/index.js.map +1 -1
  125. package/dist/cjs/helpers/addCellData.js +4 -1
  126. package/dist/cjs/helpers/addCellData.js.map +2 -2
  127. package/dist/cjs/helpers/cellPadding.js +4 -1
  128. package/dist/cjs/helpers/cellPadding.js.map +1 -1
  129. package/dist/cjs/helpers/columnsToGrid.js +4 -1
  130. package/dist/cjs/helpers/columnsToGrid.js.map +1 -1
  131. package/dist/cjs/helpers/getIdFromUniqueRowAccessor.js +4 -1
  132. package/dist/cjs/helpers/getIdFromUniqueRowAccessor.js.map +1 -1
  133. package/dist/cjs/helpers/index.js +4 -1
  134. package/dist/cjs/helpers/index.js.map +1 -1
  135. package/dist/cjs/helpers/refs-helpers.js +4 -1
  136. package/dist/cjs/helpers/refs-helpers.js.map +1 -1
  137. package/dist/cjs/helpers/sizeToCss.js +4 -1
  138. package/dist/cjs/helpers/sizeToCss.js.map +1 -1
  139. package/dist/cjs/index.js +4 -1
  140. package/dist/cjs/index.js.map +1 -1
  141. package/dist/cjs/parts/Cells/Cell.js +50 -32
  142. package/dist/cjs/parts/Cells/Cell.js.map +1 -1
  143. package/dist/cjs/parts/Cells/index.js +46 -41
  144. package/dist/cjs/parts/Cells/index.js.map +2 -2
  145. package/dist/cjs/parts/Cells/useCellStyle.js +4 -1
  146. package/dist/cjs/parts/Cells/useCellStyle.js.map +1 -1
  147. package/dist/cjs/parts/DnDHandle.js +9 -4
  148. package/dist/cjs/parts/DnDHandle.js.map +1 -1
  149. package/dist/cjs/parts/DropIndicator.js +24 -15
  150. package/dist/cjs/parts/DropIndicator.js.map +1 -1
  151. package/dist/cjs/parts/EmptyContent.js +32 -16
  152. package/dist/cjs/parts/EmptyContent.js.map +2 -2
  153. package/dist/cjs/parts/FilterBar/FiltersBar.js +54 -46
  154. package/dist/cjs/parts/FilterBar/FiltersBar.js.map +2 -2
  155. package/dist/cjs/parts/FilterBar/components/DateRangePill.js +20 -11
  156. package/dist/cjs/parts/FilterBar/components/DateRangePill.js.map +1 -1
  157. package/dist/cjs/parts/FilterBar/components/DateSwitcherPill.js +20 -11
  158. package/dist/cjs/parts/FilterBar/components/DateSwitcherPill.js.map +1 -1
  159. package/dist/cjs/parts/FilterBar/components/MultiSelectPill.js +36 -25
  160. package/dist/cjs/parts/FilterBar/components/MultiSelectPill.js.map +1 -1
  161. package/dist/cjs/parts/FilterBar/components/NumberRangePill.js +20 -11
  162. package/dist/cjs/parts/FilterBar/components/NumberRangePill.js.map +1 -1
  163. package/dist/cjs/parts/FilterBar/components/SelectPill.js +20 -11
  164. package/dist/cjs/parts/FilterBar/components/SelectPill.js.map +1 -1
  165. package/dist/cjs/parts/FilterBar/components/SingleDatePill.js +20 -11
  166. package/dist/cjs/parts/FilterBar/components/SingleDatePill.js.map +1 -1
  167. package/dist/cjs/parts/FilterBar/components/index.js +4 -1
  168. package/dist/cjs/parts/FilterBar/components/index.js.map +1 -1
  169. package/dist/cjs/parts/FilterBar/index.js +4 -1
  170. package/dist/cjs/parts/FilterBar/index.js.map +1 -1
  171. package/dist/cjs/parts/FilterBar/styled.js +4 -1
  172. package/dist/cjs/parts/FilterBar/styled.js.map +1 -1
  173. package/dist/cjs/parts/FilterBar/types.js +4 -1
  174. package/dist/cjs/parts/FilterBar/types.js.map +1 -1
  175. package/dist/cjs/parts/Filters/index.js +25 -18
  176. package/dist/cjs/parts/Filters/index.js.map +2 -2
  177. package/dist/cjs/parts/Footer.js +8 -3
  178. package/dist/cjs/parts/Footer.js.map +1 -1
  179. package/dist/cjs/parts/Headers/EmptyChildrenGroup.js +6 -3
  180. package/dist/cjs/parts/Headers/EmptyChildrenGroup.js.map +1 -1
  181. package/dist/cjs/parts/Headers/HeaderCell.js +71 -42
  182. package/dist/cjs/parts/Headers/HeaderCell.js.map +1 -1
  183. package/dist/cjs/parts/Headers/HeaderCellGroup.js +35 -25
  184. package/dist/cjs/parts/Headers/HeaderCellGroup.js.map +2 -2
  185. package/dist/cjs/parts/Headers/HeaderCellTitle.js +23 -14
  186. package/dist/cjs/parts/Headers/HeaderCellTitle.js.map +1 -1
  187. package/dist/cjs/parts/Headers/HeaderResizer.js +35 -21
  188. package/dist/cjs/parts/Headers/HeaderResizer.js.map +2 -2
  189. package/dist/cjs/parts/Headers/RequiredDot.js +14 -10
  190. package/dist/cjs/parts/Headers/RequiredDot.js.map +1 -1
  191. package/dist/cjs/parts/Headers/index.js +31 -19
  192. package/dist/cjs/parts/Headers/index.js.map +1 -1
  193. package/dist/cjs/parts/Headers/useHeaderCellConfig.js +4 -1
  194. package/dist/cjs/parts/Headers/useHeaderCellConfig.js.map +1 -1
  195. package/dist/cjs/parts/Headers/useHeaderCellHandlers.js +58 -46
  196. package/dist/cjs/parts/Headers/useHeaderCellHandlers.js.map +1 -1
  197. package/dist/cjs/parts/HoC/SortableItemContext.js +4 -1
  198. package/dist/cjs/parts/HoC/SortableItemContext.js.map +1 -1
  199. package/dist/cjs/parts/HoC/withConditionalDnDColumnContext.js +55 -37
  200. package/dist/cjs/parts/HoC/withConditionalDnDColumnContext.js.map +2 -2
  201. package/dist/cjs/parts/HoC/withConditionalDnDRowContext.js +59 -42
  202. package/dist/cjs/parts/HoC/withConditionalDnDRowContext.js.map +2 -2
  203. package/dist/cjs/parts/HoC/withConditionalDnDSortableContext.js +13 -8
  204. package/dist/cjs/parts/HoC/withConditionalDnDSortableContext.js.map +1 -1
  205. package/dist/cjs/parts/HoC/withDnDSortableColumnContext.js +24 -13
  206. package/dist/cjs/parts/HoC/withDnDSortableColumnContext.js.map +1 -1
  207. package/dist/cjs/parts/HoC/withDnDSortableRowContext.js +24 -13
  208. package/dist/cjs/parts/HoC/withDnDSortableRowContext.js.map +1 -1
  209. package/dist/cjs/parts/Loader.js +16 -11
  210. package/dist/cjs/parts/Loader.js.map +1 -1
  211. package/dist/cjs/parts/Row.js +17 -12
  212. package/dist/cjs/parts/Row.js.map +2 -2
  213. package/dist/cjs/parts/RowVariants/RowVariantHeader.js +33 -19
  214. package/dist/cjs/parts/RowVariants/RowVariantHeader.js.map +1 -1
  215. package/dist/cjs/parts/RowVariants/RowVariantPrimary.js +6 -3
  216. package/dist/cjs/parts/RowVariants/RowVariantPrimary.js.map +1 -1
  217. package/dist/cjs/parts/RowVariants/RowVariantSecondary.js +6 -3
  218. package/dist/cjs/parts/RowVariants/RowVariantSecondary.js.map +1 -1
  219. package/dist/cjs/parts/RowVariants/RowVariantSkeleton.js +8 -4
  220. package/dist/cjs/parts/RowVariants/RowVariantSkeleton.js.map +1 -1
  221. package/dist/cjs/parts/RowVariants/index.js +8 -5
  222. package/dist/cjs/parts/RowVariants/index.js.map +1 -1
  223. package/dist/cjs/parts/RowVariants/types.js +4 -1
  224. package/dist/cjs/parts/RowVariants/types.js.map +1 -1
  225. package/dist/cjs/parts/Rows.js +35 -26
  226. package/dist/cjs/parts/Rows.js.map +2 -2
  227. package/dist/cjs/parts/SortByCaret.js +21 -10
  228. package/dist/cjs/parts/SortByCaret.js.map +1 -1
  229. package/dist/cjs/parts/SortableHeaderCell.js +4 -1
  230. package/dist/cjs/parts/SortableHeaderCell.js.map +1 -1
  231. package/dist/cjs/parts/TableContent.js +28 -16
  232. package/dist/cjs/parts/TableContent.js.map +2 -2
  233. package/dist/cjs/parts/VirtualRowsList.js +38 -19
  234. package/dist/cjs/parts/VirtualRowsList.js.map +2 -2
  235. package/dist/cjs/parts/index.js +4 -1
  236. package/dist/cjs/parts/index.js.map +1 -1
  237. package/dist/cjs/parts/internal.js +4 -1
  238. package/dist/cjs/parts/internal.js.map +1 -1
  239. package/dist/cjs/styled.js +4 -1
  240. package/dist/cjs/styled.js.map +1 -1
  241. package/dist/cjs/tests/utils/index.js +4 -1
  242. package/dist/cjs/tests/utils/index.js.map +1 -1
  243. package/dist/cjs/types/FunctionalHoC.js +4 -1
  244. package/dist/cjs/types/FunctionalHoC.js.map +1 -1
  245. package/dist/cjs/types/props.js +4 -1
  246. package/dist/cjs/types/props.js.map +2 -2
  247. package/dist/esm/DataTable.js +19 -13
  248. package/dist/esm/DataTable.js.map +1 -1
  249. package/dist/esm/DataTableContext.js.map +1 -1
  250. package/dist/esm/DataTableSchema.js +65 -33
  251. package/dist/esm/DataTableSchema.js.map +1 -1
  252. package/dist/esm/addons/Columns/ColumnAction/ColumnAction.js.map +1 -1
  253. package/dist/esm/addons/Columns/ColumnDragHandle/ColumnDragHandle.js +14 -14
  254. package/dist/esm/addons/Columns/ColumnDragHandle/ColumnDragHandle.js.map +1 -1
  255. package/dist/esm/addons/Columns/ColumnExpand/ColumnExpand.js +102 -78
  256. package/dist/esm/addons/Columns/ColumnExpand/ColumnExpand.js.map +1 -1
  257. package/dist/esm/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js +45 -29
  258. package/dist/esm/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js.map +2 -2
  259. package/dist/esm/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js +27 -18
  260. package/dist/esm/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js.map +2 -2
  261. package/dist/esm/addons/Columns/index.js.map +1 -1
  262. package/dist/esm/addons/Editables/ComboboxEditableCell/ComboboxEditableCell.js +4 -3
  263. package/dist/esm/addons/Editables/ComboboxEditableCell/ComboboxEditableCell.js.map +1 -1
  264. package/dist/esm/addons/Editables/DateEditableCell/DateEditableCell.js +13 -9
  265. package/dist/esm/addons/Editables/DateEditableCell/DateEditableCell.js.map +1 -1
  266. package/dist/esm/addons/Editables/TextEditableCell/TextEditableCell.js +19 -15
  267. package/dist/esm/addons/Editables/TextEditableCell/TextEditableCell.js.map +1 -1
  268. package/dist/esm/addons/Editables/index.js.map +1 -1
  269. package/dist/esm/addons/Filters/Components/CurrencyRangeFilter/index.js +60 -33
  270. package/dist/esm/addons/Filters/Components/CurrencyRangeFilter/index.js.map +2 -2
  271. package/dist/esm/addons/Filters/Components/DateRangeFilter/index.js +48 -24
  272. package/dist/esm/addons/Filters/Components/DateRangeFilter/index.js.map +2 -2
  273. package/dist/esm/addons/Filters/Components/DateSwitcherFilter/index.js +73 -51
  274. package/dist/esm/addons/Filters/Components/DateSwitcherFilter/index.js.map +2 -2
  275. package/dist/esm/addons/Filters/Components/NumberRangeFilter/index.js +60 -33
  276. package/dist/esm/addons/Filters/Components/NumberRangeFilter/index.js.map +2 -2
  277. package/dist/esm/addons/Filters/Components/SelectFilter/BaseSelectFilter.js +37 -19
  278. package/dist/esm/addons/Filters/Components/SelectFilter/BaseSelectFilter.js.map +2 -2
  279. package/dist/esm/addons/Filters/Components/SelectFilter/MultiCreatableFilter.js +2 -2
  280. package/dist/esm/addons/Filters/Components/SelectFilter/MultiCreatableFilter.js.map +1 -1
  281. package/dist/esm/addons/Filters/Components/SelectFilter/MultiSelectFilter.js +2 -2
  282. package/dist/esm/addons/Filters/Components/SelectFilter/MultiSelectFilter.js.map +1 -1
  283. package/dist/esm/addons/Filters/Components/SelectFilter/SingleCreatableFilter.js +2 -2
  284. package/dist/esm/addons/Filters/Components/SelectFilter/SingleCreatableFilter.js.map +1 -1
  285. package/dist/esm/addons/Filters/Components/SelectFilter/SingleSelectFilter.js +2 -2
  286. package/dist/esm/addons/Filters/Components/SelectFilter/SingleSelectFilter.js.map +1 -1
  287. package/dist/esm/addons/Filters/Components/SingleDateFilter/index.js +45 -21
  288. package/dist/esm/addons/Filters/Components/SingleDateFilter/index.js.map +2 -2
  289. package/dist/esm/addons/Filters/Components/index.js.map +1 -1
  290. package/dist/esm/addons/Filters/index.js.map +1 -1
  291. package/dist/esm/addons/Pagination/Pagination.js +3 -2
  292. package/dist/esm/addons/Pagination/Pagination.js.map +1 -1
  293. package/dist/esm/addons/Pagination/index.js.map +1 -1
  294. package/dist/esm/configs/constants.js.map +2 -2
  295. package/dist/esm/configs/fixedSizes.js.map +1 -1
  296. package/dist/esm/configs/index.js.map +1 -1
  297. package/dist/esm/configs/useDatatableConfig.js +50 -36
  298. package/dist/esm/configs/useDatatableConfig.js.map +1 -1
  299. package/dist/esm/configs/useInternalStateConfig.js +27 -21
  300. package/dist/esm/configs/useInternalStateConfig.js.map +2 -2
  301. package/dist/esm/configs/usePaginationConfig.js +38 -35
  302. package/dist/esm/configs/usePaginationConfig.js.map +1 -1
  303. package/dist/esm/configs/useRowFlattenization.js +14 -5
  304. package/dist/esm/configs/useRowFlattenization.js.map +1 -1
  305. package/dist/esm/configs/useTableColsWithAddons.js.map +1 -1
  306. package/dist/esm/configs/zIndexInternalConfig.js.map +1 -1
  307. package/dist/esm/exported-related/EditableCell.js +46 -27
  308. package/dist/esm/exported-related/EditableCell.js.map +1 -1
  309. package/dist/esm/exported-related/FilterBar/FilterBarDropdownMenu.js +42 -29
  310. package/dist/esm/exported-related/FilterBar/FilterBarDropdownMenu.js.map +2 -2
  311. package/dist/esm/exported-related/FilterBar/index.js.map +1 -1
  312. package/dist/esm/exported-related/FilterPopover.js +60 -44
  313. package/dist/esm/exported-related/FilterPopover.js.map +2 -2
  314. package/dist/esm/exported-related/FilterTypes.js.map +1 -1
  315. package/dist/esm/exported-related/Filters/applyOutOfTheBoxFilters.js.map +1 -1
  316. package/dist/esm/exported-related/Filters/currencyRangeFilterFn.js +6 -2
  317. package/dist/esm/exported-related/Filters/currencyRangeFilterFn.js.map +1 -1
  318. package/dist/esm/exported-related/Filters/dateRangeFilterFn.js +3 -1
  319. package/dist/esm/exported-related/Filters/dateRangeFilterFn.js.map +1 -1
  320. package/dist/esm/exported-related/Filters/dateSwitcherFilterFn.js.map +1 -1
  321. package/dist/esm/exported-related/Filters/index.js.map +1 -1
  322. package/dist/esm/exported-related/Filters/multiSelectFilterFn.js.map +1 -1
  323. package/dist/esm/exported-related/Filters/numberRangeFilterFn.js +3 -1
  324. package/dist/esm/exported-related/Filters/numberRangeFilterFn.js.map +1 -1
  325. package/dist/esm/exported-related/Filters/singleDateFilterFn.js.map +1 -1
  326. package/dist/esm/exported-related/Filters/singleSelectFilterFn.js.map +1 -1
  327. package/dist/esm/exported-related/Filters/types.js.map +1 -1
  328. package/dist/esm/exported-related/Filters/utilities.js.map +1 -1
  329. package/dist/esm/exported-related/RowRenderer/DefaultRowContentRenderer.js +60 -46
  330. package/dist/esm/exported-related/RowRenderer/DefaultRowContentRenderer.js.map +1 -1
  331. package/dist/esm/exported-related/RowRenderer/index.js +34 -27
  332. package/dist/esm/exported-related/RowRenderer/index.js.map +1 -1
  333. package/dist/esm/exported-related/RowRenderer/useRowRendererHandlers.js +85 -67
  334. package/dist/esm/exported-related/RowRenderer/useRowRendererHandlers.js.map +2 -2
  335. package/dist/esm/exported-related/RowRenderer/useRowRendererProperties.js +8 -5
  336. package/dist/esm/exported-related/RowRenderer/useRowRendererProperties.js.map +1 -1
  337. package/dist/esm/exported-related/RowRenderer/useRowStyle.js.map +1 -1
  338. package/dist/esm/exported-related/RowVariants.js.map +1 -1
  339. package/dist/esm/exported-related/Toolbar/Toolbar.js +35 -23
  340. package/dist/esm/exported-related/Toolbar/Toolbar.js.map +1 -1
  341. package/dist/esm/exported-related/Toolbar/index.js.map +1 -1
  342. package/dist/esm/exported-related/groupBy.js.map +1 -1
  343. package/dist/esm/exported-related/index.js.map +1 -1
  344. package/dist/esm/helpers/addCellData.js.map +2 -2
  345. package/dist/esm/helpers/cellPadding.js.map +1 -1
  346. package/dist/esm/helpers/columnsToGrid.js.map +1 -1
  347. package/dist/esm/helpers/getIdFromUniqueRowAccessor.js.map +1 -1
  348. package/dist/esm/helpers/index.js.map +1 -1
  349. package/dist/esm/helpers/refs-helpers.js.map +1 -1
  350. package/dist/esm/helpers/sizeToCss.js.map +1 -1
  351. package/dist/esm/index.js.map +1 -1
  352. package/dist/esm/parts/Cells/Cell.js +46 -31
  353. package/dist/esm/parts/Cells/Cell.js.map +1 -1
  354. package/dist/esm/parts/Cells/index.js +42 -40
  355. package/dist/esm/parts/Cells/index.js.map +2 -2
  356. package/dist/esm/parts/Cells/useCellStyle.js.map +1 -1
  357. package/dist/esm/parts/DnDHandle.js +5 -3
  358. package/dist/esm/parts/DnDHandle.js.map +1 -1
  359. package/dist/esm/parts/DropIndicator.js +20 -14
  360. package/dist/esm/parts/DropIndicator.js.map +1 -1
  361. package/dist/esm/parts/EmptyContent.js +28 -15
  362. package/dist/esm/parts/EmptyContent.js.map +2 -2
  363. package/dist/esm/parts/FilterBar/FiltersBar.js +50 -45
  364. package/dist/esm/parts/FilterBar/FiltersBar.js.map +2 -2
  365. package/dist/esm/parts/FilterBar/components/DateRangePill.js +16 -10
  366. package/dist/esm/parts/FilterBar/components/DateRangePill.js.map +1 -1
  367. package/dist/esm/parts/FilterBar/components/DateSwitcherPill.js +16 -10
  368. package/dist/esm/parts/FilterBar/components/DateSwitcherPill.js.map +1 -1
  369. package/dist/esm/parts/FilterBar/components/MultiSelectPill.js +32 -24
  370. package/dist/esm/parts/FilterBar/components/MultiSelectPill.js.map +1 -1
  371. package/dist/esm/parts/FilterBar/components/NumberRangePill.js +16 -10
  372. package/dist/esm/parts/FilterBar/components/NumberRangePill.js.map +1 -1
  373. package/dist/esm/parts/FilterBar/components/SelectPill.js +16 -10
  374. package/dist/esm/parts/FilterBar/components/SelectPill.js.map +1 -1
  375. package/dist/esm/parts/FilterBar/components/SingleDatePill.js +16 -10
  376. package/dist/esm/parts/FilterBar/components/SingleDatePill.js.map +1 -1
  377. package/dist/esm/parts/FilterBar/components/index.js.map +1 -1
  378. package/dist/esm/parts/FilterBar/index.js.map +1 -1
  379. package/dist/esm/parts/FilterBar/styled.js.map +1 -1
  380. package/dist/esm/parts/FilterBar/types.js.map +1 -1
  381. package/dist/esm/parts/Filters/index.js +21 -17
  382. package/dist/esm/parts/Filters/index.js.map +1 -1
  383. package/dist/esm/parts/Footer.js +4 -2
  384. package/dist/esm/parts/Footer.js.map +1 -1
  385. package/dist/esm/parts/Headers/EmptyChildrenGroup.js +2 -2
  386. package/dist/esm/parts/Headers/EmptyChildrenGroup.js.map +1 -1
  387. package/dist/esm/parts/Headers/HeaderCell.js +67 -41
  388. package/dist/esm/parts/Headers/HeaderCell.js.map +1 -1
  389. package/dist/esm/parts/Headers/HeaderCellGroup.js +31 -24
  390. package/dist/esm/parts/Headers/HeaderCellGroup.js.map +1 -1
  391. package/dist/esm/parts/Headers/HeaderCellTitle.js +19 -13
  392. package/dist/esm/parts/Headers/HeaderCellTitle.js.map +1 -1
  393. package/dist/esm/parts/Headers/HeaderResizer.js +31 -20
  394. package/dist/esm/parts/Headers/HeaderResizer.js.map +2 -2
  395. package/dist/esm/parts/Headers/RequiredDot.js +10 -9
  396. package/dist/esm/parts/Headers/RequiredDot.js.map +1 -1
  397. package/dist/esm/parts/Headers/index.js +27 -18
  398. package/dist/esm/parts/Headers/index.js.map +1 -1
  399. package/dist/esm/parts/Headers/useHeaderCellConfig.js.map +1 -1
  400. package/dist/esm/parts/Headers/useHeaderCellHandlers.js +54 -45
  401. package/dist/esm/parts/Headers/useHeaderCellHandlers.js.map +1 -1
  402. package/dist/esm/parts/HoC/SortableItemContext.js.map +1 -1
  403. package/dist/esm/parts/HoC/withConditionalDnDColumnContext.js +51 -36
  404. package/dist/esm/parts/HoC/withConditionalDnDColumnContext.js.map +2 -2
  405. package/dist/esm/parts/HoC/withConditionalDnDRowContext.js +55 -41
  406. package/dist/esm/parts/HoC/withConditionalDnDRowContext.js.map +2 -2
  407. package/dist/esm/parts/HoC/withConditionalDnDSortableContext.js +9 -7
  408. package/dist/esm/parts/HoC/withConditionalDnDSortableContext.js.map +1 -1
  409. package/dist/esm/parts/HoC/withDnDSortableColumnContext.js +20 -12
  410. package/dist/esm/parts/HoC/withDnDSortableColumnContext.js.map +1 -1
  411. package/dist/esm/parts/HoC/withDnDSortableRowContext.js +20 -12
  412. package/dist/esm/parts/HoC/withDnDSortableRowContext.js.map +1 -1
  413. package/dist/esm/parts/Loader.js +12 -10
  414. package/dist/esm/parts/Loader.js.map +1 -1
  415. package/dist/esm/parts/Row.js +13 -11
  416. package/dist/esm/parts/Row.js.map +1 -1
  417. package/dist/esm/parts/RowVariants/RowVariantHeader.js +29 -18
  418. package/dist/esm/parts/RowVariants/RowVariantHeader.js.map +1 -1
  419. package/dist/esm/parts/RowVariants/RowVariantPrimary.js +2 -2
  420. package/dist/esm/parts/RowVariants/RowVariantPrimary.js.map +1 -1
  421. package/dist/esm/parts/RowVariants/RowVariantSecondary.js +2 -2
  422. package/dist/esm/parts/RowVariants/RowVariantSecondary.js.map +1 -1
  423. package/dist/esm/parts/RowVariants/RowVariantSkeleton.js +4 -3
  424. package/dist/esm/parts/RowVariants/RowVariantSkeleton.js.map +1 -1
  425. package/dist/esm/parts/RowVariants/index.js +4 -4
  426. package/dist/esm/parts/RowVariants/index.js.map +1 -1
  427. package/dist/esm/parts/RowVariants/types.js.map +1 -1
  428. package/dist/esm/parts/Rows.js +31 -25
  429. package/dist/esm/parts/Rows.js.map +1 -1
  430. package/dist/esm/parts/SortByCaret.js +17 -9
  431. package/dist/esm/parts/SortByCaret.js.map +1 -1
  432. package/dist/esm/parts/SortableHeaderCell.js.map +1 -1
  433. package/dist/esm/parts/TableContent.js +24 -15
  434. package/dist/esm/parts/TableContent.js.map +2 -2
  435. package/dist/esm/parts/VirtualRowsList.js +34 -18
  436. package/dist/esm/parts/VirtualRowsList.js.map +1 -1
  437. package/dist/esm/parts/index.js.map +2 -2
  438. package/dist/esm/parts/internal.js.map +1 -1
  439. package/dist/esm/styled.js.map +1 -1
  440. package/dist/esm/tests/utils/index.js.map +1 -1
  441. package/dist/esm/types/FunctionalHoC.js.map +1 -1
  442. package/dist/esm/types/props.js.map +2 -2
  443. package/package.json +18 -18
@@ -11,12 +11,17 @@ const useDatatableConfig = (props) => {
11
11
  const virtualListRef = useRef(null);
12
12
  const columnHeaderRef = useRef(null);
13
13
  const tableColsWithAddons = useTableColsWithAddons(props);
14
- const visibleColumns = useMemo(() => tableColsWithAddons.filter((col) => !props.hiddenColumns.includes(col.accessor)).map((col) => {
15
- if (col.columns) {
16
- col.columns = col.columns.filter((subCol) => !props.hiddenColumns.includes(subCol.accessor));
17
- }
18
- return col;
19
- }), [props.hiddenColumns, tableColsWithAddons]);
14
+ const visibleColumns = useMemo(
15
+ () => tableColsWithAddons.filter((col) => !props.hiddenColumns.includes(col.accessor)).map((col) => {
16
+ if (col.columns) {
17
+ col.columns = col.columns.filter(
18
+ (subCol) => !props.hiddenColumns.includes(subCol.accessor)
19
+ );
20
+ }
21
+ return col;
22
+ }),
23
+ [props.hiddenColumns, tableColsWithAddons]
24
+ );
20
25
  const [dataLength, setDataLength] = useState(1);
21
26
  const virtualListHelpers = useVirtual({
22
27
  size: dataLength,
@@ -38,37 +43,46 @@ const useDatatableConfig = (props) => {
38
43
  useEffect(() => {
39
44
  setGridLayout(columnsToGrid(visibleColumns, props.colsLayoutStyle));
40
45
  }, [visibleColumns, props.colsLayoutStyle]);
41
- const totalColumnsWidth = useMemo(() => props.colsLayoutStyle === ColsLayoutStyle.Fixed ? gridLayout.reduce((acc, cur) => acc + Number.parseInt(cur, 10), 0) : "100%", [props.colsLayoutStyle, gridLayout]);
42
- const layoutHelpers = useMemo(() => ({
43
- gridLayout,
44
- setGridLayout,
45
- totalColumnsWidth
46
- }), [gridLayout, setGridLayout, totalColumnsWidth]);
46
+ const totalColumnsWidth = useMemo(
47
+ () => props.colsLayoutStyle === ColsLayoutStyle.Fixed ? gridLayout.reduce((acc, cur) => acc + Number.parseInt(cur, 10), 0) : "100%",
48
+ [props.colsLayoutStyle, gridLayout]
49
+ );
50
+ const layoutHelpers = useMemo(
51
+ () => ({
52
+ gridLayout,
53
+ setGridLayout,
54
+ totalColumnsWidth
55
+ }),
56
+ [gridLayout, setGridLayout, totalColumnsWidth]
57
+ );
47
58
  const internalState = useInternalStateConfig();
48
- const ctx = useMemo(() => ({
49
- tableProps: props,
50
- layoutHelpers,
51
- paginationHelpers,
52
- visibleColumns,
53
- virtualListHelpers,
54
- flattenedData: paginatedData || flattenedData,
55
- allDataFlattened,
56
- virtualListRef,
57
- columnHeaderRef,
58
- ...internalState
59
- }), [
60
- props,
61
- layoutHelpers,
62
- paginationHelpers,
63
- visibleColumns,
64
- virtualListHelpers,
65
- paginatedData,
66
- flattenedData,
67
- allDataFlattened,
68
- virtualListRef,
69
- columnHeaderRef,
70
- internalState
71
- ]);
59
+ const ctx = useMemo(
60
+ () => ({
61
+ tableProps: props,
62
+ layoutHelpers,
63
+ paginationHelpers,
64
+ visibleColumns,
65
+ virtualListHelpers,
66
+ flattenedData: paginatedData || flattenedData,
67
+ allDataFlattened,
68
+ virtualListRef,
69
+ columnHeaderRef,
70
+ ...internalState
71
+ }),
72
+ [
73
+ props,
74
+ layoutHelpers,
75
+ paginationHelpers,
76
+ visibleColumns,
77
+ virtualListHelpers,
78
+ paginatedData,
79
+ flattenedData,
80
+ allDataFlattened,
81
+ virtualListRef,
82
+ columnHeaderRef,
83
+ internalState
84
+ ]
85
+ );
72
86
  return ctx;
73
87
  };
74
88
  export {
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/configs/useDatatableConfig.tsx"],
4
4
  "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { useEffect, useMemo, useRef, useState } from 'react';\nimport { useVirtual } from 'react-virtual';\nimport { columnsToGrid } from '../helpers/columnsToGrid';\nimport { TypescriptColumn, TypescriptContext, TypescriptProps } from '../types/props';\nimport { useRowFlattenization } from './useRowFlattenization';\nimport { usePaginationConfig } from './usePaginationConfig';\nimport { useTableColsWithAddons } from './useTableColsWithAddons';\nimport { ColsLayoutStyle } from './constants';\nimport { useInternalStateConfig } from './useInternalStateConfig';\n\nexport const useDatatableConfig = (props: TypescriptProps): TypescriptContext => {\n const virtualListRef = useRef<HTMLDivElement>(null);\n const columnHeaderRef = useRef<HTMLDivElement>(null);\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 });\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, setGridLayout, totalColumnsWidth],\n );\n\n // ===========================================================================\n // Internal state config\n // ===========================================================================\n\n const internalState = useInternalStateConfig();\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 }),\n [\n props,\n layoutHelpers,\n paginationHelpers,\n visibleColumns,\n virtualListHelpers,\n paginatedData,\n flattenedData,\n allDataFlattened,\n virtualListRef,\n columnHeaderRef,\n internalState,\n ],\n );\n\n return ctx;\n};\n"],
5
- "mappings": "AAAA;ACAA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEO,MAAM,qBAAqB,CAAC,UAA8C;AAC/E,QAAM,iBAAiB,OAAuB,IAAI;AAClD,QAAM,kBAAkB,OAAuB,IAAI;AAKnD,QAAM,sBAAsB,uBAAuB,KAAK;AACxD,QAAM,iBAAiB,QACrB,MACE,oBACG,OAAO,CAAC,QAA0B,CAAC,MAAM,cAAc,SAAS,IAAI,QAAQ,CAAC,EAC7E,IAAI,CAAC,QAA0B;AAC9B,QAAI,IAAI,SAAS;AACf,UAAI,UAAU,IAAI,QAAQ,OACxB,CAAC,WAA6B,CAAC,MAAM,cAAc,SAAS,OAAO,QAAQ,CAC7E;AAAA,IACF;AACA,WAAO;AAAA,EACT,CAAC,GACL,CAAC,MAAM,eAAe,mBAAmB,CAC3C;AAMA,QAAM,CAAC,YAAY,iBAAiB,SAAS,CAAC;AAI9C,QAAM,qBAAqB,WAAW;AAAA,IACpC,MAAM;AAAA,IACN,WAAW;AAAA,IACX,UAAU;AAAA,IACV,cAAc,gBAAgB,SAAS,sBAAsB,GAAG,UAAU;AAAA,EAC5E,CAAC;AAKD,YAAU,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,oBAAoB,qBAAqB,KAAK;AAEpE,QAAM,CAAC,eAAe,qBAAqB,oBAAoB,OAAO,aAAa;AAGnF,MAAI,eAAgB,kBAAiB,eAAe;AAAQ,kBAAe,kBAAiB,eAAe,MAAM;AAMjH,QAAM,CAAC,YAAY,iBAAiB,SAAS,cAAc,gBAAgB,MAAM,eAAe,CAAC;AAGjG,YAAU,MAAM;AACd,kBAAc,cAAc,gBAAgB,MAAM,eAAe,CAAC;AAAA,EACpE,GAAG,CAAC,gBAAgB,MAAM,eAAe,CAAC;AAE1C,QAAM,oBAAoB,QACxB,MACE,MAAM,oBAAoB,gBAAgB,QACtC,WAAW,OAAO,CAAC,KAAa,QAAgB,MAAM,OAAO,SAAS,KAAK,EAAE,GAAG,CAAC,IACjF,QACN,CAAC,MAAM,iBAAiB,UAAU,CACpC;AAEA,QAAM,gBAAgB,QACpB,MAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,EACF,IACA,CAAC,YAAY,eAAe,iBAAiB,CAC/C;AAMA,QAAM,gBAAgB,uBAAuB;AAE7C,QAAM,MAAM,QACV,MAAO;AAAA,IACL,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,eAAe,iBAAiB;AAAA,IAChC;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,IACA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CACF;AAEA,SAAO;AACT;",
5
+ "mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,WAAW,SAAS,QAAQ,gBAAgB;AACrD,SAAS,kBAAkB;AAC3B,SAAS,qBAAqB;AAE9B,SAAS,4BAA4B;AACrC,SAAS,2BAA2B;AACpC,SAAS,8BAA8B;AACvC,SAAS,uBAAuB;AAChC,SAAS,8BAA8B;AAEhC,MAAM,qBAAqB,CAAC,UAA8C;AAC/E,QAAM,iBAAiB,OAAuB,IAAI;AAClD,QAAM,kBAAkB,OAAuB,IAAI;AAKnD,QAAM,sBAAsB,uBAAuB,KAAK;AACxD,QAAM,iBAAiB;AAAA,IACrB,MACE,oBACG,OAAO,CAAC,QAA0B,CAAC,MAAM,cAAc,SAAS,IAAI,QAAQ,CAAC,EAC7E,IAAI,CAAC,QAA0B;AAC9B,UAAI,IAAI,SAAS;AACf,YAAI,UAAU,IAAI,QAAQ;AAAA,UACxB,CAAC,WAA6B,CAAC,MAAM,cAAc,SAAS,OAAO,QAAQ;AAAA,QAC7E;AAAA,MACF;AACA,aAAO;AAAA,IACT,CAAC;AAAA,IACL,CAAC,MAAM,eAAe,mBAAmB;AAAA,EAC3C;AAMA,QAAM,CAAC,YAAY,aAAa,IAAI,SAAS,CAAC;AAI9C,QAAM,qBAAqB,WAAW;AAAA,IACpC,MAAM;AAAA,IACN,WAAW;AAAA,IACX,UAAU;AAAA,IACV,cAAc,gBAAgB,SAAS,sBAAsB,GAAG,UAAU;AAAA,EAC5E,CAAC;AAKD,YAAU,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,IAAI,qBAAqB,KAAK;AAEpE,QAAM,CAAC,eAAe,iBAAiB,IAAI,oBAAoB,OAAO,aAAa;AAGnF,MAAI,gBAAgB,iBAAiB,eAAe;AAAQ,mBAAe,iBAAiB,eAAe,MAAM;AAMjH,QAAM,CAAC,YAAY,aAAa,IAAI,SAAS,cAAc,gBAAgB,MAAM,eAAe,CAAC;AAGjG,YAAU,MAAM;AACd,kBAAc,cAAc,gBAAgB,MAAM,eAAe,CAAC;AAAA,EACpE,GAAG,CAAC,gBAAgB,MAAM,eAAe,CAAC;AAE1C,QAAM,oBAAoB;AAAA,IACxB,MACE,MAAM,oBAAoB,gBAAgB,QACtC,WAAW,OAAO,CAAC,KAAa,QAAgB,MAAM,OAAO,SAAS,KAAK,EAAE,GAAG,CAAC,IACjF;AAAA,IACN,CAAC,MAAM,iBAAiB,UAAU;AAAA,EACpC;AAEA,QAAM,gBAAgB;AAAA,IACpB,OAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,CAAC,YAAY,eAAe,iBAAiB;AAAA,EAC/C;AAMA,QAAM,gBAAgB,uBAAuB;AAE7C,QAAM,MAAM;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,IACL;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,IACF;AAAA,EACF;AAEA,SAAO;AACT;",
6
6
  "names": []
7
7
  }
@@ -11,27 +11,33 @@ const useInternalStateConfig = () => {
11
11
  return nextReduxHeaders;
12
12
  });
13
13
  }, []);
14
- const patchHeaderFilterButtonAndMenu = useCallback((headerId, value) => {
15
- const newState = { hideFilterMenu: value, hideFilterButton: value };
16
- patchHeader(headerId, newState);
17
- }, []);
18
- return useMemo(() => ({
19
- drilldownRowId,
20
- setDrilldownRowId,
21
- focusedRowId,
22
- setFocusedRowId,
23
- reduxHeaders,
24
- patchHeader,
25
- patchHeaderFilterButtonAndMenu
26
- }), [
27
- drilldownRowId,
28
- setDrilldownRowId,
29
- focusedRowId,
30
- setFocusedRowId,
31
- reduxHeaders,
32
- patchHeader,
33
- patchHeaderFilterButtonAndMenu
34
- ]);
14
+ const patchHeaderFilterButtonAndMenu = useCallback(
15
+ (headerId, value) => {
16
+ const newState = { hideFilterMenu: value, hideFilterButton: value };
17
+ patchHeader(headerId, newState);
18
+ },
19
+ [patchHeader]
20
+ );
21
+ return useMemo(
22
+ () => ({
23
+ drilldownRowId,
24
+ setDrilldownRowId,
25
+ focusedRowId,
26
+ setFocusedRowId,
27
+ reduxHeaders,
28
+ patchHeader,
29
+ patchHeaderFilterButtonAndMenu
30
+ }),
31
+ [
32
+ drilldownRowId,
33
+ setDrilldownRowId,
34
+ focusedRowId,
35
+ setFocusedRowId,
36
+ reduxHeaders,
37
+ patchHeader,
38
+ patchHeaderFilterButtonAndMenu
39
+ ]
40
+ );
35
41
  };
36
42
  export {
37
43
  useInternalStateConfig
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/configs/useInternalStateConfig.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { useCallback, useMemo, useState } from 'react';\nimport { ReduxHeader } from '../types/props';\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((headerId: string, value: boolean) => {\n const newState = { hideFilterMenu: value, hideFilterButton: value };\n patchHeader(headerId, newState);\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"],
5
- "mappings": "AAAA;ACAA;AAGO,MAAM,yBAAyB,MAAM;AAC1C,QAAM,CAAC,gBAAgB,qBAAqB,SAAwB,IAAI;AACxE,QAAM,CAAC,cAAc,mBAAmB,SAAwB,IAAI;AAGpE,QAAM,CAAC,cAAc,mBAAmB,SAAsC,CAAC,CAAC;AAEhF,QAAM,cAAc,YAAY,CAAC,UAAkB,cAAoC;AACrF,oBAAgB,CAAC,qBAAqB;AACpC,YAAM,mBAAmB,EAAE,GAAG,iBAAiB;AAC/C,uBAAiB,YAAY,EAAE,GAAI,mBAAmB,aAAa,CAAC,GAAI,GAAG,UAAU;AACrF,aAAO;AAAA,IACT,CAAC;AAAA,EACH,GAAG,CAAC,CAAC;AAEL,QAAM,iCAAiC,YAAY,CAAC,UAAkB,UAAmB;AACvF,UAAM,WAAW,EAAE,gBAAgB,OAAO,kBAAkB,MAAM;AAClE,gBAAY,UAAU,QAAQ;AAAA,EAChC,GAAG,CAAC,CAAC;AAEL,SAAO,QACL,MAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IACA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CACF;AACF;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { useCallback, useMemo, useState } from 'react';\nimport { ReduxHeader } from '../types/props';\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"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,aAAa,SAAS,gBAAgB;AAGxC,MAAM,yBAAyB,MAAM;AAC1C,QAAM,CAAC,gBAAgB,iBAAiB,IAAI,SAAwB,IAAI;AACxE,QAAM,CAAC,cAAc,eAAe,IAAI,SAAwB,IAAI;AAGpE,QAAM,CAAC,cAAc,eAAe,IAAI,SAAsC,CAAC,CAAC;AAEhF,QAAM,cAAc,YAAY,CAAC,UAAkB,cAAoC;AACrF,oBAAgB,CAAC,qBAAqB;AACpC,YAAM,mBAAmB,EAAE,GAAG,iBAAiB;AAC/C,uBAAiB,YAAY,EAAE,GAAI,mBAAmB,aAAa,CAAC,GAAI,GAAG,UAAU;AACrF,aAAO;AAAA,IACT,CAAC;AAAA,EACH,GAAG,CAAC,CAAC;AAEL,QAAM,iCAAiC;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,SAAO;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
  }
@@ -31,41 +31,44 @@ const usePaginationConfig = (props, flattenedData) => {
31
31
  return flattenedData;
32
32
  return flattenedData.slice((pageIndex - 1) * pageSize, pageIndex * pageSize);
33
33
  }, [hasPagination, dataIsPage, flattenedData, pageIndex, pageSize]);
34
- const paginationHelpers = useMemo(() => ({
35
- pageIndex: pageIndex - 1,
36
- canPreviousPage,
37
- canNextPage,
38
- pageSize,
39
- perPageOptions,
40
- onPageSizeChange,
41
- onPreviousPage,
42
- onNextPage,
43
- onPageChange,
44
- pageCount,
45
- perPageStep,
46
- minPerPage,
47
- maxPerPage,
48
- showPerPageSelector,
49
- pageDetails,
50
- pageDetailsTitle
51
- }), [
52
- pageIndex,
53
- canPreviousPage,
54
- canNextPage,
55
- pageSize,
56
- perPageOptions,
57
- onPageSizeChange,
58
- onPreviousPage,
59
- onNextPage,
60
- onPageChange,
61
- pageCount,
62
- perPageStep,
63
- minPerPage,
64
- maxPerPage,
65
- showPerPageSelector,
66
- pageDetails,
67
- pageDetailsTitle
68
- ]);
34
+ const paginationHelpers = useMemo(
35
+ () => ({
36
+ pageIndex: pageIndex - 1,
37
+ canPreviousPage,
38
+ canNextPage,
39
+ pageSize,
40
+ perPageOptions,
41
+ onPageSizeChange,
42
+ onPreviousPage,
43
+ onNextPage,
44
+ onPageChange,
45
+ pageCount,
46
+ perPageStep,
47
+ minPerPage,
48
+ maxPerPage,
49
+ showPerPageSelector,
50
+ pageDetails,
51
+ pageDetailsTitle
52
+ }),
53
+ [
54
+ pageIndex,
55
+ canPreviousPage,
56
+ canNextPage,
57
+ pageSize,
58
+ perPageOptions,
59
+ onPageSizeChange,
60
+ onPreviousPage,
61
+ onNextPage,
62
+ onPageChange,
63
+ pageCount,
64
+ perPageStep,
65
+ minPerPage,
66
+ maxPerPage,
67
+ showPerPageSelector,
68
+ pageDetails,
69
+ pageDetailsTitle
70
+ ]
71
+ );
69
72
  return [page, paginationHelpers];
70
73
  };
71
74
  export {
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/configs/usePaginationConfig.tsx"],
4
4
  "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { useMemo } from 'react';\nimport { TypescriptPagination, TypescriptProps, TypescriptRow } from '../types/props';\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 } = props;\n\n const hasPagination = !!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 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) return null;\n if (dataIsPage) return flattenedData;\n return flattenedData.slice((pageIndex - 1) * pageSize, pageIndex * pageSize);\n }, [hasPagination, dataIsPage, flattenedData, pageIndex, pageSize]);\n\n const paginationHelpers = useMemo(\n () => ({\n pageIndex: pageIndex - 1,\n canPreviousPage,\n canNextPage,\n pageSize,\n perPageOptions,\n onPageSizeChange,\n onPreviousPage,\n onNextPage,\n onPageChange,\n pageCount,\n perPageStep,\n minPerPage,\n maxPerPage,\n showPerPageSelector,\n pageDetails,\n pageDetailsTitle,\n }),\n [\n pageIndex,\n canPreviousPage,\n canNextPage,\n pageSize,\n perPageOptions,\n onPageSizeChange,\n onPreviousPage,\n onNextPage,\n onPageChange,\n pageCount,\n perPageStep,\n minPerPage,\n maxPerPage,\n showPerPageSelector,\n pageDetails,\n pageDetailsTitle,\n ],\n );\n return [page, paginationHelpers];\n};\n"],
5
- "mappings": "AAAA;ACAA;AAGA,MAAM,eAAsC,CAAC;AAE7C,MAAM,YAAY,MAAM;AAEjB,MAAM,sBAAsB,CACjC,OACA,kBACmD;AACnD,QAAM,EAAE,eAAe;AAEvB,QAAM,gBAAgB,CAAC,CAAC;AAGxB,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,aAAa;AAAA,IACb,cAAc;AAAA,IACd,aAAa;AAAA,IACb,aAAa;AAAA,IACb,sBAAsB;AAAA,IACtB,cAAc,CAAC;AAAA,IACf,mBAAmB;AAAA,MACjB,cAAc;AAGlB,QAAM,OAAO,QAAQ,MAAM;AACzB,QAAI,CAAC;AAAe,aAAO;AAC3B,QAAI;AAAY,aAAO;AACvB,WAAO,cAAc,MAAO,aAAY,KAAK,UAAU,YAAY,QAAQ;AAAA,EAC7E,GAAG,CAAC,eAAe,YAAY,eAAe,WAAW,QAAQ,CAAC;AAElE,QAAM,oBAAoB,QACxB,MAAO;AAAA,IACL,WAAW,YAAY;AAAA,IACvB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,IACA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CACF;AACA,SAAO,CAAC,MAAM,iBAAiB;AACjC;",
5
+ "mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,eAAe;AAGxB,MAAM,eAAsC,CAAC;AAE7C,MAAM,YAAY,MAAM;AAEjB,MAAM,sBAAsB,CACjC,OACA,kBACmD;AACnD,QAAM,EAAE,WAAW,IAAI;AAEvB,QAAM,gBAAgB,CAAC,CAAC;AAGxB,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,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,OAAO,QAAQ,MAAM;AACzB,QAAI,CAAC;AAAe,aAAO;AAC3B,QAAI;AAAY,aAAO;AACvB,WAAO,cAAc,OAAO,YAAY,KAAK,UAAU,YAAY,QAAQ;AAAA,EAC7E,GAAG,CAAC,eAAe,YAAY,eAAe,WAAW,QAAQ,CAAC;AAElE,QAAM,oBAAoB;AAAA,IACxB,OAAO;AAAA,MACL,WAAW,YAAY;AAAA,MACvB;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,IACF;AAAA,EACF;AACA,SAAO,CAAC,MAAM,iBAAiB;AACjC;",
6
6
  "names": []
7
7
  }
@@ -2,9 +2,12 @@ import * as React from "react";
2
2
  import { useMemo } from "react";
3
3
  import { getIdFromUniqueRowAccessor } from "../helpers/getIdFromUniqueRowAccessor";
4
4
  const emptyObject = {};
5
- const trueReturner = new Proxy({}, {
6
- get: () => true
7
- });
5
+ const trueReturner = new Proxy(
6
+ {},
7
+ {
8
+ get: () => true
9
+ }
10
+ );
8
11
  const flatten = (data, expandedRows, uniqueRowAccessor, maxDepth = 0) => {
9
12
  const result = [];
10
13
  const doit = (row, index = 0, parentId = null, parentIndex = null, depth = 0) => {
@@ -39,8 +42,14 @@ const flatten = (data, expandedRows, uniqueRowAccessor, maxDepth = 0) => {
39
42
  const useRowFlattenization = (props) => {
40
43
  const { data } = props;
41
44
  const expandedRows = props.isExpandable ? props.expandedRows ?? emptyObject : emptyObject;
42
- const flattenedData = useMemo(() => flatten(data, expandedRows, props.uniqueRowAccessor), [data, expandedRows, props.uniqueRowAccessor]);
43
- const allDataFlattened = useMemo(() => flatten(data, trueReturner, props.uniqueRowAccessor, Infinity), [data, props.uniqueRowAccessor]);
45
+ const flattenedData = useMemo(
46
+ () => flatten(data, expandedRows, props.uniqueRowAccessor),
47
+ [data, expandedRows, props.uniqueRowAccessor]
48
+ );
49
+ const allDataFlattened = useMemo(
50
+ () => flatten(data, trueReturner, props.uniqueRowAccessor, Infinity),
51
+ [data, props.uniqueRowAccessor]
52
+ );
44
53
  return [flattenedData, allDataFlattened];
45
54
  };
46
55
  export {
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/configs/useRowFlattenization.tsx"],
4
4
  "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-params */\nimport { useMemo } from 'react';\nimport { getIdFromUniqueRowAccessor } from '../helpers/getIdFromUniqueRowAccessor';\nimport { InternalTypescriptRow, TypescriptProps, TypescriptRow, UniqueRowAccessorType } from '../types/props';\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 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 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) => doit(subRow, i, uid, rowToPush.realIndex, depth + 1));\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 expandedRows = props.isExpandable ? props.expandedRows ?? emptyObject : emptyObject;\n\n const flattenedData = useMemo(\n () => flatten(data, expandedRows, props.uniqueRowAccessor),\n [data, expandedRows, props.uniqueRowAccessor],\n );\n\n const allDataFlattened = useMemo(\n () => flatten(data, trueReturner, props.uniqueRowAccessor, Infinity),\n [data, props.uniqueRowAccessor],\n );\n\n return [flattenedData, allDataFlattened];\n};\n"],
5
- "mappings": "AAAA;ACCA;AACA;AAGA,MAAM,cAAc,CAAC;AAErB,MAAM,eAAe,IAAI,MACvB,CAAC,GACD;AAAA,EACE,KAAK,MAAM;AACb,CACF;AAEA,MAAM,UAAU,CACd,MACA,cACA,mBACA,WAAW,MACiB;AAC5B,QAAM,SAAkC,CAAC;AACzC,QAAM,OAAO,CACX,KACA,QAAQ,GACR,WAA0B,MAC1B,cAA6B,MAC7B,QAAQ,MACL;AACH,UAAM,KAAM,cAAa,OAAO,GAAG,cAAc,MAAM,MAAM,SAAS;AAEtE,UAAM,MAAM,2BAA2B,mBAAmB;AAAA,MACxD;AAAA,MACA,UAAU,OAAO,CAAC;AAAA,IACpB,CAAC;AAED,UAAM,aAAa,aAAa;AAEhC,UAAM,YAAmC;AAAA,MACvC;AAAA,MACA;AAAA,MACA;AAAA,MACA,WAAW,OAAO;AAAA,MAClB;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,QAAQ,SAAS,UAAU;AAC1D,UAAI,QAAQ,QAAQ,CAAC,QAAuB,MAAc,KAAK,QAAQ,GAAG,KAAK,UAAU,WAAW,QAAQ,CAAC,CAAC;AAAA,IAChH;AAAA,EACF;AAEA,OAAK,QAAQ,CAAC,KAAK,MAAM,KAAK,KAAK,CAAC,CAAC;AACrC,SAAO;AACT;AAEO,MAAM,uBAAuB,CAAC,UAA+E;AAClH,QAAM,EAAE,SAAS;AAEjB,QAAM,eAAe,MAAM,eAAe,MAAM,gBAAgB,cAAc;AAE9E,QAAM,gBAAgB,QACpB,MAAM,QAAQ,MAAM,cAAc,MAAM,iBAAiB,GACzD,CAAC,MAAM,cAAc,MAAM,iBAAiB,CAC9C;AAEA,QAAM,mBAAmB,QACvB,MAAM,QAAQ,MAAM,cAAc,MAAM,mBAAmB,QAAQ,GACnE,CAAC,MAAM,MAAM,iBAAiB,CAChC;AAEA,SAAO,CAAC,eAAe,gBAAgB;AACzC;",
5
+ "mappings": "AAAA,YAAY,WAAW;ACCvB,SAAS,eAAe;AACxB,SAAS,kCAAkC;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,WAA0B,MAC1B,cAA6B,MAC7B,QAAQ,MACL;AACH,UAAM,MAAM,aAAa,OAAO,GAAG,cAAc,MAAM,MAAM,SAAS;AAEtE,UAAM,MAAM,2BAA2B,mBAAmB;AAAA,MACxD;AAAA,MACA,UAAU,OAAO,CAAC;AAAA,IACpB,CAAC;AAED,UAAM,aAAa,aAAa;AAEhC,UAAM,YAAmC;AAAA,MACvC;AAAA,MACA;AAAA,MACA;AAAA,MACA,WAAW,OAAO;AAAA,MAClB;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,QAAQ,SAAS,UAAU;AAC1D,UAAI,QAAQ,QAAQ,CAAC,QAAuB,MAAc,KAAK,QAAQ,GAAG,KAAK,UAAU,WAAW,QAAQ,CAAC,CAAC;AAAA,IAChH;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,eAAe,MAAM,eAAe,MAAM,gBAAgB,cAAc;AAE9E,QAAM,gBAAgB;AAAA,IACpB,MAAM,QAAQ,MAAM,cAAc,MAAM,iBAAiB;AAAA,IACzD,CAAC,MAAM,cAAc,MAAM,iBAAiB;AAAA,EAC9C;AAEA,QAAM,mBAAmB;AAAA,IACvB,MAAM,QAAQ,MAAM,cAAc,MAAM,mBAAmB,QAAQ;AAAA,IACnE,CAAC,MAAM,MAAM,iBAAiB;AAAA,EAChC;AAEA,SAAO,CAAC,eAAe,gBAAgB;AACzC;",
6
6
  "names": []
7
7
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/configs/useTableColsWithAddons.tsx"],
4
4
  "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-params */\nimport { createRef, useMemo } from 'react';\nimport { TypescriptColumn, TypescriptProps } from '../types/props';\n\nimport {\n dragHandleColumn,\n expandRowColumn,\n actionColumn,\n singleSelectColumn,\n multiSelectColumn,\n} from '../addons/Columns';\n\ntype useTableColsWithAddonsType = (config: TypescriptProps) => TypescriptColumn[];\n\nconst augmentColumns = (columns: TypescriptColumn[]): TypescriptColumn[] => {\n const augmentColumn = (column: TypescriptColumn, index: number, parentId = null, depth = 0) => {\n let id = `column${index}`;\n if (typeof column.Header === 'string') id = column.Header;\n if (typeof column.accessor === 'string') id = column.accessor;\n if (column.columns) column.columns = column.columns.map((col, i) => augmentColumn(col, i, id, depth + 1));\n return {\n id,\n parentId,\n depth,\n ...column,\n ref: createRef<HTMLTableColElement>(),\n };\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\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\n // Columns to be appended\n const colsToAppend: TypescriptColumn[] = [];\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 if (renderRowActions) columnsWithAddons.push(actionColumn(renderRowActions));\n\n return columnsWithAddons;\n }, [columns, isExpandable, selection, noSelectionColumn, selectSingle, dragAndDropRows, renderRowActions]);\n\nexport { useTableColsWithAddons };\nexport default useTableColsWithAddons;\n"],
5
- "mappings": "AAAA;ACCA;AAGA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUA,MAAM,iBAAiB,CAAC,YAAoD;AAC1E,QAAM,gBAAgB,CAAC,QAA0B,OAAe,WAAW,MAAM,QAAQ,MAAM;AAC7F,QAAI,KAAK,SAAS;AAClB,QAAI,OAAO,OAAO,WAAW;AAAU,WAAK,OAAO;AACnD,QAAI,OAAO,OAAO,aAAa;AAAU,WAAK,OAAO;AACrD,QAAI,OAAO;AAAS,aAAO,UAAU,OAAO,QAAQ,IAAI,CAAC,KAAK,MAAM,cAAc,KAAK,GAAG,IAAI,QAAQ,CAAC,CAAC;AACxG,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA,GAAG;AAAA,MACH,KAAK,UAA+B;AAAA,IACtC;AAAA,EACF;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;AAAA,MAEA,QAAQ,MAAM;AACZ,QAAM,oBAAoB,CAAC,GAAG,eAAe,OAAO,CAAC;AAGrD,QAAM,gBAAoC,CAAC;AAE3C,MAAI;AAAc,kBAAc,KAAK,eAAe;AACpD,MAAI,aAAa,CAAC,mBAAmB;AACnC,QAAI;AAAc,oBAAc,KAAK,kBAAkB;AAAA;AAClD,oBAAc,KAAK,iBAAiB;AAAA,EAC3C;AACA,MAAI;AAAiB,kBAAc,KAAK,gBAAgB;AAGxD,QAAM,eAAmC,CAAC;AAG1C,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,MAAI;AAAkB,sBAAkB,KAAK,aAAa,gBAAgB,CAAC;AAE3E,SAAO;AACT,GAAG,CAAC,SAAS,cAAc,WAAW,mBAAmB,cAAc,iBAAiB,gBAAgB,CAAC;AAG3G,IAAO,iCAAQ;",
5
+ "mappings": "AAAA,YAAY,WAAW;ACCvB,SAAS,WAAW,eAAe;AAGnC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAIP,MAAM,iBAAiB,CAAC,YAAoD;AAC1E,QAAM,gBAAgB,CAAC,QAA0B,OAAe,WAAW,MAAM,QAAQ,MAAM;AAC7F,QAAI,KAAK,SAAS;AAClB,QAAI,OAAO,OAAO,WAAW;AAAU,WAAK,OAAO;AACnD,QAAI,OAAO,OAAO,aAAa;AAAU,WAAK,OAAO;AACrD,QAAI,OAAO;AAAS,aAAO,UAAU,OAAO,QAAQ,IAAI,CAAC,KAAK,MAAM,cAAc,KAAK,GAAG,IAAI,QAAQ,CAAC,CAAC;AACxG,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA,GAAG;AAAA,MACH,KAAK,UAA+B;AAAA,IACtC;AAAA,EACF;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,MACE,QAAQ,MAAM;AACZ,QAAM,oBAAoB,CAAC,GAAG,eAAe,OAAO,CAAC;AAGrD,QAAM,gBAAoC,CAAC;AAE3C,MAAI;AAAc,kBAAc,KAAK,eAAe;AACpD,MAAI,aAAa,CAAC,mBAAmB;AACnC,QAAI;AAAc,oBAAc,KAAK,kBAAkB;AAAA;AAClD,oBAAc,KAAK,iBAAiB;AAAA,EAC3C;AACA,MAAI;AAAiB,kBAAc,KAAK,gBAAgB;AAGxD,QAAM,eAAmC,CAAC;AAG1C,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,MAAI;AAAkB,sBAAkB,KAAK,aAAa,gBAAgB,CAAC;AAE3E,SAAO;AACT,GAAG,CAAC,SAAS,cAAc,WAAW,mBAAmB,cAAc,iBAAiB,gBAAgB,CAAC;AAG3G,IAAO,iCAAQ;",
6
6
  "names": []
7
7
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/configs/zIndexInternalConfig.tsx"],
4
4
  "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export const ZIndexDataTable = {\n ROW: 0,\n EXTERNAL: 0,\n HEADER_ROW: 0,\n ROW_HOVER: 1,\n DROP_INDICATOR: 6,\n FOCUS_BORDER: 7,\n};\n"],
5
- "mappings": "AAAA;ACAO,MAAM,kBAAkB;AAAA,EAC7B,KAAK;AAAA,EACL,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,gBAAgB;AAAA,EAChB,cAAc;AAChB;",
5
+ "mappings": "AAAA,YAAY,WAAW;ACAhB,MAAM,kBAAkB;AAAA,EAC7B,KAAK;AAAA,EACL,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,gBAAgB;AAAA,EAChB,cAAc;AAChB;",
6
6
  "names": []
7
7
  }
@@ -1,5 +1,6 @@
1
1
  import * as React from "react";
2
- import React2, { useState, useCallback, useContext, useLayoutEffect } from "react";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import { useState, useCallback, useContext, useLayoutEffect } from "react";
3
4
  import { StyledPencilIcon, StyledEditableContainer } from "../styled";
4
5
  import { DataTableContext } from "../DataTableContext";
5
6
  const EditableCell = (props) => {
@@ -13,29 +14,38 @@ const EditableCell = (props) => {
13
14
  setLastIsEditing(isEditing);
14
15
  }
15
16
  }, [isEditing]);
16
- const handleCellClick = useCallback((e) => {
17
- if (!isEditing) {
18
- e.stopPropagation();
19
- setIsEditing(true);
20
- }
21
- }, [isEditing]);
22
- const handleOnKeyDown = useCallback((e) => {
23
- if (isEditing) {
24
- e.stopPropagation();
25
- if (["Enter", "Escape"].includes(e.code)) {
17
+ const handleCellClick = useCallback(
18
+ (e) => {
19
+ if (!isEditing) {
20
+ e.stopPropagation();
21
+ setIsEditing(true);
22
+ }
23
+ },
24
+ [isEditing]
25
+ );
26
+ const handleOnKeyDown = useCallback(
27
+ (e) => {
28
+ if (isEditing) {
29
+ e.stopPropagation();
30
+ if (["Enter", "Escape"].includes(e.code)) {
31
+ setIsEditing(false);
32
+ }
33
+ } else if (["Enter", "Space"].includes(e.code)) {
34
+ handleCellClick(e);
35
+ }
36
+ },
37
+ [isEditing, handleCellClick, setIsEditing]
38
+ );
39
+ const handleOnBlur = useCallback(
40
+ (event) => {
41
+ if (isEditing && !event.currentTarget?.contains(event.relatedTarget)) {
26
42
  setIsEditing(false);
27
43
  }
28
- } else if (["Enter", "Space"].includes(e.code)) {
29
- handleCellClick(e);
30
- }
31
- }, [isEditing, handleCellClick, setIsEditing]);
32
- const handleOnBlur = useCallback((event) => {
33
- if (isEditing && !event.currentTarget?.contains(event.relatedTarget)) {
34
- setIsEditing(false);
35
- }
36
- }, [isEditing]);
44
+ },
45
+ [isEditing]
46
+ );
37
47
  const cols = !isEditing ? ["auto", "min-content"] : ["auto"];
38
- return /* @__PURE__ */ React2.createElement(StyledEditableContainer, {
48
+ return /* @__PURE__ */ jsxs(StyledEditableContainer, {
39
49
  cols,
40
50
  tabIndex: isRowSelected && !isEditing ? 0 : -1,
41
51
  ref: cell.ref,
@@ -44,12 +54,21 @@ const EditableCell = (props) => {
44
54
  onBlur: handleOnBlur,
45
55
  shouldDisplayEditIcon: cell.column.alwaysDisplayEditIcon,
46
56
  role: "cell",
47
- "aria-labelledby": isEditing ? void 0 : cell.id
48
- }, !isEditing ? StandardRender : EditableRenderer, !isEditing && /* @__PURE__ */ React2.createElement(StyledPencilIcon, null), /* @__PURE__ */ React2.createElement("span", {
49
- id: cell.id,
50
- style: { display: "none" },
51
- "aria-hidden": "true"
52
- }, cell.value, ", editable cell. To edit the content's of this cell, press the Enter key"));
57
+ "aria-labelledby": isEditing ? void 0 : cell.id,
58
+ children: [
59
+ !isEditing ? StandardRender : EditableRenderer,
60
+ !isEditing && /* @__PURE__ */ jsx(StyledPencilIcon, {}),
61
+ /* @__PURE__ */ jsxs("span", {
62
+ id: cell.id,
63
+ style: { display: "none" },
64
+ "aria-hidden": "true",
65
+ children: [
66
+ cell.value,
67
+ ", editable cell. To edit the content's of this cell, press the Enter key"
68
+ ]
69
+ })
70
+ ]
71
+ });
53
72
  };
54
73
  export {
55
74
  EditableCell
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/exported-related/EditableCell.tsx"],
4
4
  "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useState, useCallback, useContext, useLayoutEffect } from 'react';\nimport { StyledPencilIcon, StyledEditableContainer } from '../styled';\nimport { DataTableContext } from '../DataTableContext';\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"],
5
- "mappings": "AAAA;ACAA;AACA;AACA;AAEO,MAAM,eAAyC,CAAC,UAAU;AAC/D,QAAM,EAAE,gBAAgB,kBAAkB,MAAM,kBAAkB;AAClE,QAAM,EAAE,uBAAuB,WAAW,gBAAgB;AAE1D,QAAM,CAAC,WAAW,gBAAgB,SAAS,KAAK;AAChD,QAAM,CAAC,eAAe,oBAAoB,SAAS,KAAK;AAExD,kBAAgB,MAAM;AACpB,QAAI,cAAc,eAAe;AAC/B,yBAAmB,QAAQ;AAC3B,uBAAiB,SAAS;AAAA,IAC5B;AAAA,EAEF,GAAG,CAAC,SAAS,CAAC;AAEd,QAAM,kBAAkB,YACtB,CAAC,MAA2B;AAC1B,QAAI,CAAC,WAAW;AACd,QAAE,gBAAgB;AAClB,mBAAa,IAAI;AAAA,IACnB;AAAA,EACF,GACA,CAAC,SAAS,CACZ;AAEA,QAAM,kBAAkB,YACtB,CAAC,MAA2B;AAC1B,QAAI,WAAW;AACb,QAAE,gBAAgB;AAClB,UAAI,CAAC,SAAS,QAAQ,EAAE,SAAS,EAAE,IAAI,GAAG;AACxC,qBAAa,KAAK;AAAA,MACpB;AAAA,IACF,WAAW,CAAC,SAAS,OAAO,EAAE,SAAS,EAAE,IAAI,GAAG;AAC9C,sBAAgB,CAAC;AAAA,IACnB;AAAA,EACF,GACA,CAAC,WAAW,iBAAiB,YAAY,CAC3C;AAEA,QAAM,eAAe,YACnB,CAAC,UAAuB;AACtB,QAAI,aAAa,CAAC,MAAM,eAAe,SAAS,MAAM,aAAa,GAAG;AAEpE,mBAAa,KAAK;AAAA,IACpB;AAAA,EACF,GACA,CAAC,SAAS,CACZ;AACA,QAAM,OAAO,CAAC,YAAY,CAAC,QAAQ,aAAa,IAAI,CAAC,MAAM;AAC3D,SACE,qCAAC;AAAA,IACC;AAAA,IACA,UAAU,iBAAiB,CAAC,YAAY,IAAI;AAAA,IAC5C,KAAK,KAAK;AAAA,IACV,SAAS;AAAA,IACT,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,uBAAuB,KAAK,OAAO;AAAA,IACnC,MAAK;AAAA,IACL,mBAAiB,YAAY,SAAY,KAAK;AAAA,KAE7C,CAAC,YAAY,iBAAiB,kBAC9B,CAAC,aAAa,qCAAC,sBAAiB,GACjC,qCAAC;AAAA,IAAK,IAAI,KAAK;AAAA,IAAI,OAAO,EAAE,SAAS,OAAO;AAAA,IAAG,eAAY;AAAA,KACxD,KAAK,OAAM,0EACd,CACF;AAEJ;",
5
+ "mappings": "AAAA,YAAY,WAAW;ACAvB;AAAA,SAAgB,UAAU,aAAa,YAAY,uBAAuB;AAC1E,SAAS,kBAAkB,+BAA+B;AAC1D,SAAS,wBAAwB;AAE1B,MAAM,eAAyC,CAAC,UAAU;AAC/D,QAAM,EAAE,gBAAgB,kBAAkB,MAAM,cAAc,IAAI;AAClE,QAAM,EAAE,mBAAmB,IAAI,WAAW,gBAAgB;AAE1D,QAAM,CAAC,WAAW,YAAY,IAAI,SAAS,KAAK;AAChD,QAAM,CAAC,eAAe,gBAAgB,IAAI,SAAS,KAAK;AAExD,kBAAgB,MAAM;AACpB,QAAI,cAAc,eAAe;AAC/B,yBAAmB,QAAQ;AAC3B,uBAAiB,SAAS;AAAA,IAC5B;AAAA,EAEF,GAAG,CAAC,SAAS,CAAC;AAEd,QAAM,kBAAkB;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,kBAAkB;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,eAAe;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,qBAAC;AAAA,IACC;AAAA,IACA,UAAU,iBAAiB,CAAC,YAAY,IAAI;AAAA,IAC5C,KAAK,KAAK;AAAA,IACV,SAAS;AAAA,IACT,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,uBAAuB,KAAK,OAAO;AAAA,IACnC,MAAK;AAAA,IACL,mBAAiB,YAAY,SAAY,KAAK;AAAA,IAE7C;AAAA,OAAC,YAAY,iBAAiB;AAAA,MAC9B,CAAC,aAAa,oBAAC,oBAAiB;AAAA,MACjC,qBAAC;AAAA,QAAK,IAAI,KAAK;AAAA,QAAI,OAAO,EAAE,SAAS,OAAO;AAAA,QAAG,eAAY;AAAA,QACxD;AAAA,eAAK;AAAA,UAAM;AAAA;AAAA,OACd;AAAA;AAAA,GACF;AAEJ;",
6
6
  "names": []
7
7
  }
@@ -1,5 +1,6 @@
1
1
  import * as React from "react";
2
- import React2, { useState, useContext, useCallback, useMemo } from "react";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import { useState, useContext, useCallback, useMemo } from "react";
3
4
  import { DSDropdownMenuV2 } from "@elliemae/ds-dropdownmenu";
4
5
  import { DSButtonV2, BUTTON_TYPES } from "@elliemae/ds-button";
5
6
  import { MoreOptionsVert } from "@elliemae/ds-icons";
@@ -9,38 +10,50 @@ const FilterBarDropdownMenu = (props) => {
9
10
  tableProps: { onFiltersChange }
10
11
  } = useContext(DataTableContext);
11
12
  const [isOpened, setIsOpened] = useState(false);
12
- const { options: extraOptions, ...restProps } = props;
13
+ const { options: extraOptions, innerRef, ...restProps } = props;
13
14
  const removeFilters = useCallback(() => {
14
15
  onFiltersChange([]);
15
16
  setIsOpened(false);
16
- }, [onFiltersChange]);
17
- const options = useMemo(() => [
18
- {
19
- dsId: "__internal__option__clear__filters",
20
- label: "Clear Filters",
21
- type: "single",
22
- onClick: removeFilters,
17
+ innerRef?.current?.focus?.();
18
+ }, [innerRef, onFiltersChange]);
19
+ const options = useMemo(
20
+ () => [
21
+ {
22
+ dsId: "__internal__option__clear__filters",
23
+ label: "Clear Filters",
24
+ type: "single",
25
+ onClick: removeFilters,
26
+ onKeyDown: (e) => {
27
+ if (["Enter", "Space"].includes(e.code))
28
+ removeFilters();
29
+ }
30
+ },
31
+ ...extraOptions
32
+ ],
33
+ [extraOptions, removeFilters]
34
+ );
35
+ return /* @__PURE__ */ jsx("div", {
36
+ style: { marginLeft: "auto" },
37
+ children: /* @__PURE__ */ jsx(DSDropdownMenuV2, {
38
+ isOpened,
39
+ startPlacementPreference: "bottom-end",
40
+ options,
41
+ onClickOutside: () => {
42
+ setIsOpened(false);
43
+ },
23
44
  onKeyDown: (e) => {
24
- if (["Enter", "Space"].includes(e.code))
25
- removeFilters();
26
- }
27
- },
28
- ...extraOptions
29
- ], [extraOptions, removeFilters]);
30
- return /* @__PURE__ */ React2.createElement("div", {
31
- style: { marginLeft: "auto" }
32
- }, /* @__PURE__ */ React2.createElement(DSDropdownMenuV2, {
33
- isOpened,
34
- startPlacementPreference: "bottom-end",
35
- options,
36
- onClickOutside: () => {
37
- setIsOpened(false);
38
- }
39
- }, /* @__PURE__ */ React2.createElement(DSButtonV2, {
40
- buttonType: BUTTON_TYPES.ICON,
41
- onClick: () => setIsOpened((prevOpened) => !prevOpened),
42
- ...restProps
43
- }, /* @__PURE__ */ React2.createElement(MoreOptionsVert, null))));
45
+ if (e.code === "Escape")
46
+ innerRef?.current?.focus?.();
47
+ },
48
+ children: /* @__PURE__ */ jsx(DSButtonV2, {
49
+ buttonType: BUTTON_TYPES.ICON,
50
+ onClick: () => setIsOpened((prevOpened) => !prevOpened),
51
+ innerRef,
52
+ ...restProps,
53
+ children: /* @__PURE__ */ jsx(MoreOptionsVert, {})
54
+ })
55
+ })
56
+ });
44
57
  };
45
58
  export {
46
59
  FilterBarDropdownMenu
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/exported-related/FilterBar/FilterBarDropdownMenu.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useState, useContext, useRef, 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';\n\nexport const FilterBarDropdownMenu = (props) => {\n const {\n tableProps: { onFiltersChange },\n } = useContext(DataTableContext);\n const [isOpened, setIsOpened] = useState(false);\n\n const { options: extraOptions, ...restProps } = props;\n const removeFilters = useCallback(() => {\n onFiltersChange([]);\n setIsOpened(false);\n }, [onFiltersChange]);\n\n const options = useMemo(\n () => [\n {\n dsId: '__internal__option__clear__filters',\n label: 'Clear Filters',\n type: 'single',\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 >\n <DSButtonV2\n buttonType={BUTTON_TYPES.ICON}\n onClick={() => setIsOpened((prevOpened) => !prevOpened)}\n {...restProps}\n >\n <MoreOptionsVert />\n </DSButtonV2>\n </DSDropdownMenuV2>\n </div>\n );\n};\n"],
5
- "mappings": "AAAA;ACAA;AACA;AACA;AACA;AACA;AAEO,MAAM,wBAAwB,CAAC,UAAU;AAC9C,QAAM;AAAA,IACJ,YAAY,EAAE;AAAA,MACZ,WAAW,gBAAgB;AAC/B,QAAM,CAAC,UAAU,eAAe,SAAS,KAAK;AAE9C,QAAM,EAAE,SAAS,iBAAiB,cAAc;AAChD,QAAM,gBAAgB,YAAY,MAAM;AACtC,oBAAgB,CAAC,CAAC;AAClB,gBAAY,KAAK;AAAA,EACnB,GAAG,CAAC,eAAe,CAAC;AAEpB,QAAM,UAAU,QACd,MAAM;AAAA,IACJ;AAAA,MACE,MAAM;AAAA,MACN,OAAO;AAAA,MACP,MAAM;AAAA,MACN,SAAS;AAAA,MACT,WAAW,CAAC,MAA2B;AACrC,YAAI,CAAC,SAAS,OAAO,EAAE,SAAS,EAAE,IAAI;AAAG,wBAAc;AAAA,MACzD;AAAA,IACF;AAAA,IACA,GAAG;AAAA,EACL,GACA,CAAC,cAAc,aAAa,CAC9B;AAEA,SACE,qCAAC;AAAA,IAAI,OAAO,EAAE,YAAY,OAAO;AAAA,KAC/B,qCAAC;AAAA,IACC;AAAA,IACA,0BAAyB;AAAA,IACzB;AAAA,IACA,gBAAgB,MAAM;AACpB,kBAAY,KAAK;AAAA,IACnB;AAAA,KAEA,qCAAC;AAAA,IACC,YAAY,aAAa;AAAA,IACzB,SAAS,MAAM,YAAY,CAAC,eAAe,CAAC,UAAU;AAAA,IACrD,GAAG;AAAA,KAEJ,qCAAC,qBAAgB,CACnB,CACF,CACF;AAEJ;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useState, useContext, useRef, 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';\n\nexport const FilterBarDropdownMenu = (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: 'single',\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 {...restProps}\n >\n <MoreOptionsVert />\n </DSButtonV2>\n </DSDropdownMenuV2>\n </div>\n );\n};\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACAvB;AAAA,SAAgB,UAAU,YAAoB,aAAa,eAAe;AAC1E,SAAS,wBAAwB;AACjC,SAAS,YAAY,oBAAoB;AACzC,SAAS,uBAAuB;AAChC,SAAS,wBAAwB;AAE1B,MAAM,wBAAwB,CAAC,UAAU;AAC9C,QAAM;AAAA,IACJ,YAAY,EAAE,gBAAgB;AAAA,EAChC,IAAI,WAAW,gBAAgB;AAC/B,QAAM,CAAC,UAAU,WAAW,IAAI,SAAS,KAAK;AAE9C,QAAM,EAAE,SAAS,cAAc,aAAa,UAAU,IAAI;AAC1D,QAAM,gBAAgB,YAAY,MAAM;AACtC,oBAAgB,CAAC,CAAC;AAClB,gBAAY,KAAK;AACjB,cAAU,SAAS,QAAQ;AAAA,EAC7B,GAAG,CAAC,UAAU,eAAe,CAAC;AAE9B,QAAM,UAAU;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,oBAAC;AAAA,IAAI,OAAO,EAAE,YAAY,OAAO;AAAA,IAC/B,8BAAC;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,8BAAC;AAAA,QACC,YAAY,aAAa;AAAA,QACzB,SAAS,MAAM,YAAY,CAAC,eAAe,CAAC,UAAU;AAAA,QACtD;AAAA,QACC,GAAG;AAAA,QAEJ,8BAAC,mBAAgB;AAAA,OACnB;AAAA,KACF;AAAA,GACF;AAEJ;",
6
6
  "names": []
7
7
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/exported-related/FilterBar/index.tsx"],
4
4
  "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export * from './FilterBarDropdownMenu';\n"],
5
- "mappings": "AAAA;ACAA;",
5
+ "mappings": "AAAA,YAAY,WAAW;ACAvB,cAAc;",
6
6
  "names": []
7
7
  }