@elliemae/ds-data-table 2.2.1 → 2.3.0-alpha.4

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 (560) hide show
  1. package/cjs/DataTable.js +63 -57
  2. package/cjs/DataTable.js.map +7 -0
  3. package/cjs/DataTableContext.js +52 -26
  4. package/cjs/DataTableContext.js.map +7 -0
  5. package/cjs/DataTableSchema.js +151 -113
  6. package/cjs/DataTableSchema.js.map +7 -0
  7. package/cjs/addons/Columns/ColumnAction/ColumnAction.js +40 -14
  8. package/cjs/addons/Columns/ColumnAction/ColumnAction.js.map +7 -0
  9. package/cjs/addons/Columns/ColumnDragHandle/ColumnDragHandle.js +52 -52
  10. package/cjs/addons/Columns/ColumnDragHandle/ColumnDragHandle.js.map +7 -0
  11. package/cjs/addons/Columns/ColumnExpand/ColumnExpand.js +124 -154
  12. package/cjs/addons/Columns/ColumnExpand/ColumnExpand.js.map +7 -0
  13. package/cjs/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js +63 -105
  14. package/cjs/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js.map +7 -0
  15. package/cjs/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js +62 -81
  16. package/cjs/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js.map +7 -0
  17. package/cjs/addons/Columns/index.js +51 -18
  18. package/cjs/addons/Columns/index.js.map +7 -0
  19. package/cjs/addons/Editables/ComboboxEditableCell/ComboboxEditableCell.js +57 -85
  20. package/cjs/addons/Editables/ComboboxEditableCell/ComboboxEditableCell.js.map +7 -0
  21. package/cjs/addons/Editables/DateEditableCell/DateEditableCell.js +51 -73
  22. package/cjs/addons/Editables/DateEditableCell/DateEditableCell.js.map +7 -0
  23. package/cjs/addons/Editables/TextEditableCell/TextEditableCell.js +67 -88
  24. package/cjs/addons/Editables/TextEditableCell/TextEditableCell.js.map +7 -0
  25. package/cjs/addons/Editables/index.js +39 -14
  26. package/cjs/addons/Editables/index.js.map +7 -0
  27. package/cjs/addons/Filters/Components/CurrencyRangeFilter/index.js +87 -137
  28. package/cjs/addons/Filters/Components/CurrencyRangeFilter/index.js.map +7 -0
  29. package/cjs/addons/Filters/Components/DateRangeFilter/index.js +64 -88
  30. package/cjs/addons/Filters/Components/DateRangeFilter/index.js.map +7 -0
  31. package/cjs/addons/Filters/Components/DateSwitcherFilter/index.js +72 -97
  32. package/cjs/addons/Filters/Components/DateSwitcherFilter/index.js.map +7 -0
  33. package/cjs/addons/Filters/Components/NumberRangeFilter/index.js +89 -141
  34. package/cjs/addons/Filters/Components/NumberRangeFilter/index.js.map +7 -0
  35. package/cjs/addons/Filters/Components/SelectFilter/BaseSelectFilter.js +68 -117
  36. package/cjs/addons/Filters/Components/SelectFilter/BaseSelectFilter.js.map +7 -0
  37. package/cjs/addons/Filters/Components/SelectFilter/MultiSelectFilter.js +59 -75
  38. package/cjs/addons/Filters/Components/SelectFilter/MultiSelectFilter.js.map +7 -0
  39. package/cjs/addons/Filters/Components/SelectFilter/SingleSelectFilter.js +59 -75
  40. package/cjs/addons/Filters/Components/SelectFilter/SingleSelectFilter.js.map +7 -0
  41. package/cjs/addons/Filters/Components/SelectFilter/components.js +86 -36
  42. package/cjs/addons/Filters/Components/SelectFilter/components.js.map +7 -0
  43. package/cjs/addons/Filters/Components/SelectFilter/useSelectFilterHandlers.js +67 -57
  44. package/cjs/addons/Filters/Components/SelectFilter/useSelectFilterHandlers.js.map +7 -0
  45. package/cjs/addons/Filters/Components/SelectFilter/utils.js +40 -46
  46. package/cjs/addons/Filters/Components/SelectFilter/utils.js.map +7 -0
  47. package/cjs/addons/Filters/Components/SingleDateFilter/index.js +64 -80
  48. package/cjs/addons/Filters/Components/SingleDateFilter/index.js.map +7 -0
  49. package/cjs/addons/Filters/Components/index.js +34 -21
  50. package/cjs/addons/Filters/Components/index.js.map +7 -0
  51. package/cjs/addons/Filters/index.js +28 -21
  52. package/cjs/addons/Filters/index.js.map +7 -0
  53. package/cjs/addons/Pagination/Pagination.js +45 -37
  54. package/cjs/addons/Pagination/Pagination.js.map +7 -0
  55. package/cjs/addons/Pagination/index.js +35 -9
  56. package/cjs/addons/Pagination/index.js.map +7 -0
  57. package/cjs/configs/constants.js +74 -47
  58. package/cjs/configs/constants.js.map +7 -0
  59. package/cjs/configs/fixedSizes.js +34 -6
  60. package/cjs/configs/fixedSizes.js.map +7 -0
  61. package/cjs/configs/index.js +32 -22
  62. package/cjs/configs/index.js.map +7 -0
  63. package/cjs/configs/useDatatableConfig.js +72 -59
  64. package/cjs/configs/useDatatableConfig.js.map +7 -0
  65. package/cjs/configs/usePaginationConfig.js +61 -23
  66. package/cjs/configs/usePaginationConfig.js.map +7 -0
  67. package/cjs/configs/useRowFlattenization.js +50 -36
  68. package/cjs/configs/useRowFlattenization.js.map +7 -0
  69. package/cjs/configs/useTableColsWithAddons.js +75 -62
  70. package/cjs/configs/useTableColsWithAddons.js.map +7 -0
  71. package/cjs/configs/zIndexInternalConfig.js +34 -6
  72. package/cjs/configs/zIndexInternalConfig.js.map +7 -0
  73. package/cjs/exported-related/EditableCell.js +64 -54
  74. package/cjs/exported-related/EditableCell.js.map +7 -0
  75. package/cjs/exported-related/FilterPopover.js +103 -137
  76. package/cjs/exported-related/FilterPopover.js.map +7 -0
  77. package/cjs/exported-related/FilterTypes.js +42 -14
  78. package/cjs/exported-related/FilterTypes.js.map +7 -0
  79. package/cjs/exported-related/Filters/applyOutOfTheBoxFilters.js +50 -27
  80. package/cjs/exported-related/Filters/applyOutOfTheBoxFilters.js.map +7 -0
  81. package/cjs/exported-related/Filters/currencyRangeFilterFn.js +44 -19
  82. package/cjs/exported-related/Filters/currencyRangeFilterFn.js.map +7 -0
  83. package/cjs/exported-related/Filters/dateRangeFilterFn.js +37 -45
  84. package/cjs/exported-related/Filters/dateRangeFilterFn.js.map +7 -0
  85. package/cjs/exported-related/Filters/dateSwitcherFilterFn.js +37 -12
  86. package/cjs/exported-related/Filters/dateSwitcherFilterFn.js.map +7 -0
  87. package/cjs/exported-related/Filters/index.js +34 -21
  88. package/cjs/exported-related/Filters/index.js.map +7 -0
  89. package/cjs/exported-related/Filters/multiSelectFilterFn.js +35 -14
  90. package/cjs/exported-related/Filters/multiSelectFilterFn.js.map +7 -0
  91. package/cjs/exported-related/Filters/numberRangeFilterFn.js +36 -13
  92. package/cjs/exported-related/Filters/numberRangeFilterFn.js.map +7 -0
  93. package/cjs/exported-related/Filters/singleDateFilterFn.js +37 -45
  94. package/cjs/exported-related/Filters/singleDateFilterFn.js.map +7 -0
  95. package/cjs/exported-related/Filters/singleSelectFilterFn.js +35 -12
  96. package/cjs/exported-related/Filters/singleSelectFilterFn.js.map +7 -0
  97. package/cjs/exported-related/Filters/types.js +27 -2
  98. package/cjs/exported-related/Filters/types.js.map +7 -0
  99. package/cjs/exported-related/RowRenderer/DefaultRowContentRenderer.js +107 -109
  100. package/cjs/exported-related/RowRenderer/DefaultRowContentRenderer.js.map +7 -0
  101. package/cjs/exported-related/RowRenderer/index.js +77 -95
  102. package/cjs/exported-related/RowRenderer/index.js.map +7 -0
  103. package/cjs/exported-related/RowRenderer/useRowRendererHandlers.js +71 -100
  104. package/cjs/exported-related/RowRenderer/useRowRendererHandlers.js.map +7 -0
  105. package/cjs/exported-related/RowRenderer/useRowRendererProperties.js +51 -42
  106. package/cjs/exported-related/RowRenderer/useRowRendererProperties.js.map +7 -0
  107. package/cjs/exported-related/RowRenderer/useRowStyle.js +47 -35
  108. package/cjs/exported-related/RowRenderer/useRowStyle.js.map +7 -0
  109. package/cjs/exported-related/RowVariants.js +43 -15
  110. package/cjs/exported-related/RowVariants.js.map +7 -0
  111. package/cjs/exported-related/Toolbar/Toolbar.js +103 -80
  112. package/cjs/exported-related/Toolbar/Toolbar.js.map +7 -0
  113. package/cjs/exported-related/Toolbar/index.js +35 -9
  114. package/cjs/exported-related/Toolbar/index.js.map +7 -0
  115. package/cjs/exported-related/groupBy.js +43 -25
  116. package/cjs/exported-related/groupBy.js.map +7 -0
  117. package/cjs/exported-related/index.js +44 -35
  118. package/cjs/exported-related/index.js.map +7 -0
  119. package/cjs/helpers/addCellData.js +43 -32
  120. package/cjs/helpers/addCellData.js.map +7 -0
  121. package/cjs/helpers/cellPadding.js +44 -27
  122. package/cjs/helpers/cellPadding.js.map +7 -0
  123. package/cjs/helpers/columnsToGrid.js +41 -17
  124. package/cjs/helpers/columnsToGrid.js.map +7 -0
  125. package/cjs/helpers/getIdFromUniqueRowAccessor.js +38 -20
  126. package/cjs/helpers/getIdFromUniqueRowAccessor.js.map +7 -0
  127. package/cjs/helpers/index.js +33 -20
  128. package/cjs/helpers/index.js.map +7 -0
  129. package/cjs/helpers/refs-helpers.js +41 -22
  130. package/cjs/helpers/refs-helpers.js.map +7 -0
  131. package/cjs/helpers/sizeToCss.js +35 -7
  132. package/cjs/helpers/sizeToCss.js.map +7 -0
  133. package/cjs/hooks/useRecoverFocusCol.js +41 -21
  134. package/cjs/hooks/useRecoverFocusCol.js.map +7 -0
  135. package/cjs/hooks/useRecoverFocusRow.js +37 -14
  136. package/cjs/hooks/useRecoverFocusRow.js.map +7 -0
  137. package/cjs/index.js +29 -38
  138. package/cjs/index.js.map +7 -0
  139. package/cjs/parts/Cells/Cell.js +95 -105
  140. package/cjs/parts/Cells/Cell.js.map +7 -0
  141. package/cjs/parts/Cells/index.js +83 -76
  142. package/cjs/parts/Cells/index.js.map +7 -0
  143. package/cjs/parts/Cells/useCellStyle.js +47 -27
  144. package/cjs/parts/Cells/useCellStyle.js.map +7 -0
  145. package/cjs/parts/DnDHandle.js +61 -73
  146. package/cjs/parts/DnDHandle.js.map +7 -0
  147. package/cjs/parts/DropIndicator.js +77 -68
  148. package/cjs/parts/DropIndicator.js.map +7 -0
  149. package/cjs/parts/EmptyContent.js +93 -58
  150. package/cjs/parts/EmptyContent.js.map +7 -0
  151. package/cjs/parts/FilterBar/FiltersBar.js +82 -115
  152. package/cjs/parts/FilterBar/FiltersBar.js.map +7 -0
  153. package/cjs/parts/FilterBar/components/DateRangePill.js +57 -40
  154. package/cjs/parts/FilterBar/components/DateRangePill.js.map +7 -0
  155. package/cjs/parts/FilterBar/components/DateSwitcherPill.js +57 -40
  156. package/cjs/parts/FilterBar/components/DateSwitcherPill.js.map +7 -0
  157. package/cjs/parts/FilterBar/components/MultiSelectPill.js +57 -42
  158. package/cjs/parts/FilterBar/components/MultiSelectPill.js.map +7 -0
  159. package/cjs/parts/FilterBar/components/NumberRangePill.js +56 -39
  160. package/cjs/parts/FilterBar/components/NumberRangePill.js.map +7 -0
  161. package/cjs/parts/FilterBar/components/SelectPill.js +55 -36
  162. package/cjs/parts/FilterBar/components/SelectPill.js.map +7 -0
  163. package/cjs/parts/FilterBar/components/SingleDatePill.js +56 -38
  164. package/cjs/parts/FilterBar/components/SingleDatePill.js.map +7 -0
  165. package/cjs/parts/FilterBar/components/index.js +33 -19
  166. package/cjs/parts/FilterBar/components/index.js.map +7 -0
  167. package/cjs/parts/FilterBar/index.js +35 -9
  168. package/cjs/parts/FilterBar/index.js.map +7 -0
  169. package/cjs/parts/FilterBar/styled.js +49 -23
  170. package/cjs/parts/FilterBar/styled.js.map +7 -0
  171. package/cjs/parts/FilterBar/types.js +27 -2
  172. package/cjs/parts/FilterBar/types.js.map +7 -0
  173. package/cjs/parts/Filters/index.js +69 -108
  174. package/cjs/parts/Filters/index.js.map +7 -0
  175. package/cjs/parts/Footer.js +39 -21
  176. package/cjs/parts/Footer.js.map +7 -0
  177. package/cjs/parts/Headers/EmptyChildrenGroup.js +42 -20
  178. package/cjs/parts/Headers/EmptyChildrenGroup.js.map +7 -0
  179. package/cjs/parts/Headers/HeaderCell.js +114 -159
  180. package/cjs/parts/Headers/HeaderCell.js.map +7 -0
  181. package/cjs/parts/Headers/HeaderCellGroup.js +94 -93
  182. package/cjs/parts/Headers/HeaderCellGroup.js.map +7 -0
  183. package/cjs/parts/Headers/HeaderCellTitle.js +50 -77
  184. package/cjs/parts/Headers/HeaderCellTitle.js.map +7 -0
  185. package/cjs/parts/Headers/HeaderResizer.js +74 -94
  186. package/cjs/parts/Headers/HeaderResizer.js.map +7 -0
  187. package/cjs/parts/Headers/RequiredDot.js +39 -21
  188. package/cjs/parts/Headers/RequiredDot.js.map +7 -0
  189. package/cjs/parts/Headers/index.js +58 -42
  190. package/cjs/parts/Headers/index.js.map +7 -0
  191. package/cjs/parts/Headers/useHeaderCellConfig.js +48 -25
  192. package/cjs/parts/Headers/useHeaderCellConfig.js.map +7 -0
  193. package/cjs/parts/Headers/useHeaderCellHandlers.js +87 -76
  194. package/cjs/parts/Headers/useHeaderCellHandlers.js.map +7 -0
  195. package/cjs/parts/HoC/SortableItemContext.js +44 -19
  196. package/cjs/parts/HoC/SortableItemContext.js.map +7 -0
  197. package/cjs/parts/HoC/withConditionalDnDColumnContext.js +86 -101
  198. package/cjs/parts/HoC/withConditionalDnDColumnContext.js.map +7 -0
  199. package/cjs/parts/HoC/withConditionalDnDRowContext.js +90 -93
  200. package/cjs/parts/HoC/withConditionalDnDRowContext.js.map +7 -0
  201. package/cjs/parts/HoC/withConditionalDnDSortableContext.js +50 -43
  202. package/cjs/parts/HoC/withConditionalDnDSortableContext.js.map +7 -0
  203. package/cjs/parts/HoC/withDnDSortableColumnContext.js +60 -58
  204. package/cjs/parts/HoC/withDnDSortableColumnContext.js.map +7 -0
  205. package/cjs/parts/HoC/withDnDSortableRowContext.js +59 -59
  206. package/cjs/parts/HoC/withDnDSortableRowContext.js.map +7 -0
  207. package/cjs/parts/Loader.js +50 -30
  208. package/cjs/parts/Loader.js.map +7 -0
  209. package/cjs/parts/Row.js +64 -59
  210. package/cjs/parts/Row.js.map +7 -0
  211. package/cjs/parts/RowLoading.js +53 -52
  212. package/cjs/parts/RowLoading.js.map +7 -0
  213. package/cjs/parts/RowVariants/RowVariantHeader.js +79 -95
  214. package/cjs/parts/RowVariants/RowVariantHeader.js.map +7 -0
  215. package/cjs/parts/RowVariants/RowVariantPrimary.js +55 -36
  216. package/cjs/parts/RowVariants/RowVariantPrimary.js.map +7 -0
  217. package/cjs/parts/RowVariants/RowVariantSecondary.js +56 -37
  218. package/cjs/parts/RowVariants/RowVariantSecondary.js.map +7 -0
  219. package/cjs/parts/RowVariants/index.js +59 -77
  220. package/cjs/parts/RowVariants/index.js.map +7 -0
  221. package/cjs/parts/RowVariants/types.js +27 -2
  222. package/cjs/parts/RowVariants/types.js.map +7 -0
  223. package/cjs/parts/Rows.js +71 -68
  224. package/cjs/parts/Rows.js.map +7 -0
  225. package/cjs/parts/SortByCaret.js +44 -30
  226. package/cjs/parts/SortByCaret.js.map +7 -0
  227. package/cjs/parts/SortableHeaderCell.js +43 -38
  228. package/cjs/parts/SortableHeaderCell.js.map +7 -0
  229. package/cjs/parts/TableContent.js +68 -84
  230. package/cjs/parts/TableContent.js.map +7 -0
  231. package/cjs/parts/VirtualRowsList.js +74 -89
  232. package/cjs/parts/VirtualRowsList.js.map +7 -0
  233. package/cjs/parts/index.js +45 -19
  234. package/cjs/parts/index.js.map +7 -0
  235. package/cjs/prop-types.js +76 -56
  236. package/cjs/prop-types.js.map +7 -0
  237. package/cjs/redux/reducers/headersReducers/defaults.js +34 -6
  238. package/cjs/redux/reducers/headersReducers/defaults.js.map +7 -0
  239. package/cjs/redux/reducers/headersReducers/headersReducers.js +46 -23
  240. package/cjs/redux/reducers/headersReducers/headersReducers.js.map +7 -0
  241. package/cjs/redux/reducers/headersReducers/index.js +29 -14
  242. package/cjs/redux/reducers/headersReducers/index.js.map +7 -0
  243. package/cjs/redux/reducers/headersReducers/logic.js +42 -33
  244. package/cjs/redux/reducers/headersReducers/logic.js.map +7 -0
  245. package/cjs/redux/reducers/headersReducers/useDispatchHeadersActions.js +40 -19
  246. package/cjs/redux/reducers/headersReducers/useDispatchHeadersActions.js.map +7 -0
  247. package/cjs/redux/reducers/index.js +46 -17
  248. package/cjs/redux/reducers/index.js.map +7 -0
  249. package/cjs/redux/reducers/rowsReducers/actions_types.js +47 -19
  250. package/cjs/redux/reducers/rowsReducers/actions_types.js.map +7 -0
  251. package/cjs/redux/reducers/rowsReducers/defaults.js +35 -7
  252. package/cjs/redux/reducers/rowsReducers/defaults.js.map +7 -0
  253. package/cjs/redux/reducers/rowsReducers/index.js +29 -20
  254. package/cjs/redux/reducers/rowsReducers/index.js.map +7 -0
  255. package/cjs/redux/reducers/rowsReducers/logic.js +41 -14
  256. package/cjs/redux/reducers/rowsReducers/logic.js.map +7 -0
  257. package/cjs/redux/reducers/rowsReducers/rowsReducer.js +58 -41
  258. package/cjs/redux/reducers/rowsReducers/rowsReducer.js.map +7 -0
  259. package/cjs/redux/reducers/rowsReducers/useDispatchRowsActions.js +48 -21
  260. package/cjs/redux/reducers/rowsReducers/useDispatchRowsActions.js.map +7 -0
  261. package/cjs/redux/storeConfig.js +36 -9
  262. package/cjs/redux/storeConfig.js.map +7 -0
  263. package/cjs/styled.js +295 -219
  264. package/cjs/styled.js.map +7 -0
  265. package/cjs/tests/utils/index.js +119 -0
  266. package/cjs/tests/utils/index.js.map +7 -0
  267. package/cjs/types/FunctionalHoC.js +27 -2
  268. package/cjs/types/FunctionalHoC.js.map +7 -0
  269. package/cjs/types/props.js +27 -2
  270. package/cjs/types/props.js.map +7 -0
  271. package/esm/DataTable.js +29 -42
  272. package/esm/DataTable.js.map +7 -0
  273. package/esm/DataTableContext.js +22 -19
  274. package/esm/DataTableContext.js.map +7 -0
  275. package/esm/DataTableSchema.js +110 -97
  276. package/esm/DataTableSchema.js.map +7 -0
  277. package/esm/addons/Columns/ColumnAction/ColumnAction.js +11 -10
  278. package/esm/addons/Columns/ColumnAction/ColumnAction.js.map +7 -0
  279. package/esm/addons/Columns/ColumnDragHandle/ColumnDragHandle.js +22 -43
  280. package/esm/addons/Columns/ColumnDragHandle/ColumnDragHandle.js.map +7 -0
  281. package/esm/addons/Columns/ColumnExpand/ColumnExpand.js +83 -132
  282. package/esm/addons/Columns/ColumnExpand/ColumnExpand.js.map +7 -0
  283. package/esm/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js +30 -92
  284. package/esm/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js.map +7 -0
  285. package/esm/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js +32 -71
  286. package/esm/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js.map +7 -0
  287. package/esm/addons/Columns/index.js +22 -9
  288. package/esm/addons/Columns/index.js.map +7 -0
  289. package/esm/addons/Editables/ComboboxEditableCell/ComboboxEditableCell.js +23 -72
  290. package/esm/addons/Editables/ComboboxEditableCell/ComboboxEditableCell.js.map +7 -0
  291. package/esm/addons/Editables/DateEditableCell/DateEditableCell.js +19 -62
  292. package/esm/addons/Editables/DateEditableCell/DateEditableCell.js.map +7 -0
  293. package/esm/addons/Editables/TextEditableCell/TextEditableCell.js +35 -76
  294. package/esm/addons/Editables/TextEditableCell/TextEditableCell.js.map +7 -0
  295. package/esm/addons/Editables/index.js +9 -9
  296. package/esm/addons/Editables/index.js.map +7 -0
  297. package/esm/addons/Filters/Components/CurrencyRangeFilter/index.js +55 -124
  298. package/esm/addons/Filters/Components/CurrencyRangeFilter/index.js.map +7 -0
  299. package/esm/addons/Filters/Components/DateRangeFilter/index.js +33 -77
  300. package/esm/addons/Filters/Components/DateRangeFilter/index.js.map +7 -0
  301. package/esm/addons/Filters/Components/DateSwitcherFilter/index.js +44 -85
  302. package/esm/addons/Filters/Components/DateSwitcherFilter/index.js.map +7 -0
  303. package/esm/addons/Filters/Components/NumberRangeFilter/index.js +57 -128
  304. package/esm/addons/Filters/Components/NumberRangeFilter/index.js.map +7 -0
  305. package/esm/addons/Filters/Components/SelectFilter/BaseSelectFilter.js +35 -105
  306. package/esm/addons/Filters/Components/SelectFilter/BaseSelectFilter.js.map +7 -0
  307. package/esm/addons/Filters/Components/SelectFilter/MultiSelectFilter.js +30 -67
  308. package/esm/addons/Filters/Components/SelectFilter/MultiSelectFilter.js.map +7 -0
  309. package/esm/addons/Filters/Components/SelectFilter/SingleSelectFilter.js +30 -67
  310. package/esm/addons/Filters/Components/SelectFilter/SingleSelectFilter.js.map +7 -0
  311. package/esm/addons/Filters/Components/SelectFilter/components.js +57 -23
  312. package/esm/addons/Filters/Components/SelectFilter/components.js.map +7 -0
  313. package/esm/addons/Filters/Components/SelectFilter/useSelectFilterHandlers.js +38 -53
  314. package/esm/addons/Filters/Components/SelectFilter/useSelectFilterHandlers.js.map +7 -0
  315. package/esm/addons/Filters/Components/SelectFilter/utils.js +11 -41
  316. package/esm/addons/Filters/Components/SelectFilter/utils.js.map +7 -0
  317. package/esm/addons/Filters/Components/SingleDateFilter/index.js +31 -67
  318. package/esm/addons/Filters/Components/SingleDateFilter/index.js.map +7 -0
  319. package/esm/addons/Filters/Components/index.js +9 -7
  320. package/esm/addons/Filters/Components/index.js.map +7 -0
  321. package/esm/addons/Filters/index.js +3 -7
  322. package/esm/addons/Filters/index.js.map +7 -0
  323. package/esm/addons/Pagination/Pagination.js +14 -27
  324. package/esm/addons/Pagination/Pagination.js.map +7 -0
  325. package/esm/addons/Pagination/index.js +6 -1
  326. package/esm/addons/Pagination/index.js.map +7 -0
  327. package/esm/configs/constants.js +45 -42
  328. package/esm/configs/constants.js.map +7 -0
  329. package/esm/configs/fixedSizes.js +5 -2
  330. package/esm/configs/fixedSizes.js.map +7 -0
  331. package/esm/configs/index.js +7 -5
  332. package/esm/configs/index.js.map +7 -0
  333. package/esm/configs/useDatatableConfig.js +35 -47
  334. package/esm/configs/useDatatableConfig.js.map +7 -0
  335. package/esm/configs/usePaginationConfig.js +30 -17
  336. package/esm/configs/usePaginationConfig.js.map +7 -0
  337. package/esm/configs/useRowFlattenization.js +18 -29
  338. package/esm/configs/useRowFlattenization.js.map +7 -0
  339. package/esm/configs/useTableColsWithAddons.js +51 -55
  340. package/esm/configs/useTableColsWithAddons.js.map +7 -0
  341. package/esm/configs/zIndexInternalConfig.js +5 -2
  342. package/esm/configs/zIndexInternalConfig.js.map +7 -0
  343. package/esm/exported-related/EditableCell.js +33 -44
  344. package/esm/exported-related/EditableCell.js.map +7 -0
  345. package/esm/exported-related/FilterPopover.js +70 -122
  346. package/esm/exported-related/FilterPopover.js.map +7 -0
  347. package/esm/exported-related/FilterTypes.js +12 -9
  348. package/esm/exported-related/FilterTypes.js.map +7 -0
  349. package/esm/exported-related/Filters/applyOutOfTheBoxFilters.js +14 -16
  350. package/esm/exported-related/Filters/applyOutOfTheBoxFilters.js.map +7 -0
  351. package/esm/exported-related/Filters/currencyRangeFilterFn.js +15 -15
  352. package/esm/exported-related/Filters/currencyRangeFilterFn.js.map +7 -0
  353. package/esm/exported-related/Filters/dateRangeFilterFn.js +8 -37
  354. package/esm/exported-related/Filters/dateRangeFilterFn.js.map +7 -0
  355. package/esm/exported-related/Filters/dateSwitcherFilterFn.js +7 -7
  356. package/esm/exported-related/Filters/dateSwitcherFilterFn.js.map +7 -0
  357. package/esm/exported-related/Filters/index.js +9 -7
  358. package/esm/exported-related/Filters/index.js.map +7 -0
  359. package/esm/exported-related/Filters/multiSelectFilterFn.js +6 -10
  360. package/esm/exported-related/Filters/multiSelectFilterFn.js.map +7 -0
  361. package/esm/exported-related/Filters/numberRangeFilterFn.js +7 -9
  362. package/esm/exported-related/Filters/numberRangeFilterFn.js.map +7 -0
  363. package/esm/exported-related/Filters/singleDateFilterFn.js +8 -37
  364. package/esm/exported-related/Filters/singleDateFilterFn.js.map +7 -0
  365. package/esm/exported-related/Filters/singleSelectFilterFn.js +6 -8
  366. package/esm/exported-related/Filters/singleSelectFilterFn.js.map +7 -0
  367. package/esm/exported-related/Filters/types.js +2 -1
  368. package/esm/exported-related/Filters/types.js.map +7 -0
  369. package/esm/exported-related/RowRenderer/DefaultRowContentRenderer.js +72 -94
  370. package/esm/exported-related/RowRenderer/DefaultRowContentRenderer.js.map +7 -0
  371. package/esm/exported-related/RowRenderer/index.js +45 -85
  372. package/esm/exported-related/RowRenderer/index.js.map +7 -0
  373. package/esm/exported-related/RowRenderer/useRowRendererHandlers.js +41 -95
  374. package/esm/exported-related/RowRenderer/useRowRendererHandlers.js.map +7 -0
  375. package/esm/exported-related/RowRenderer/useRowRendererProperties.js +19 -31
  376. package/esm/exported-related/RowRenderer/useRowRendererProperties.js.map +7 -0
  377. package/esm/exported-related/RowRenderer/useRowStyle.js +17 -30
  378. package/esm/exported-related/RowRenderer/useRowStyle.js.map +7 -0
  379. package/esm/exported-related/RowVariants.js +14 -9
  380. package/esm/exported-related/RowVariants.js.map +7 -0
  381. package/esm/exported-related/Toolbar/Toolbar.js +68 -64
  382. package/esm/exported-related/Toolbar/Toolbar.js.map +7 -0
  383. package/esm/exported-related/Toolbar/index.js +6 -1
  384. package/esm/exported-related/Toolbar/index.js.map +7 -0
  385. package/esm/exported-related/groupBy.js +14 -21
  386. package/esm/exported-related/groupBy.js.map +7 -0
  387. package/esm/exported-related/index.js +15 -13
  388. package/esm/exported-related/index.js.map +7 -0
  389. package/esm/helpers/addCellData.js +15 -25
  390. package/esm/helpers/addCellData.js.map +7 -0
  391. package/esm/helpers/cellPadding.js +15 -22
  392. package/esm/helpers/cellPadding.js.map +7 -0
  393. package/esm/helpers/columnsToGrid.js +12 -13
  394. package/esm/helpers/columnsToGrid.js.map +7 -0
  395. package/esm/helpers/getIdFromUniqueRowAccessor.js +9 -16
  396. package/esm/helpers/getIdFromUniqueRowAccessor.js.map +7 -0
  397. package/esm/helpers/index.js +8 -6
  398. package/esm/helpers/index.js.map +7 -0
  399. package/esm/helpers/refs-helpers.js +13 -19
  400. package/esm/helpers/refs-helpers.js.map +7 -0
  401. package/esm/helpers/sizeToCss.js +6 -3
  402. package/esm/helpers/sizeToCss.js.map +7 -0
  403. package/esm/hooks/useRecoverFocusCol.js +10 -15
  404. package/esm/hooks/useRecoverFocusCol.js.map +7 -0
  405. package/esm/hooks/useRecoverFocusRow.js +6 -8
  406. package/esm/hooks/useRecoverFocusRow.js.map +7 -0
  407. package/esm/index.js +4 -14
  408. package/esm/index.js.map +7 -0
  409. package/esm/parts/Cells/Cell.js +63 -94
  410. package/esm/parts/Cells/Cell.js.map +7 -0
  411. package/esm/parts/Cells/index.js +54 -70
  412. package/esm/parts/Cells/index.js.map +7 -0
  413. package/esm/parts/Cells/useCellStyle.js +16 -21
  414. package/esm/parts/Cells/useCellStyle.js.map +7 -0
  415. package/esm/parts/DnDHandle.js +32 -65
  416. package/esm/parts/DnDHandle.js.map +7 -0
  417. package/esm/parts/DropIndicator.js +49 -62
  418. package/esm/parts/DropIndicator.js.map +7 -0
  419. package/esm/parts/EmptyContent.js +64 -48
  420. package/esm/parts/EmptyContent.js.map +7 -0
  421. package/esm/parts/FilterBar/FiltersBar.js +49 -94
  422. package/esm/parts/FilterBar/FiltersBar.js.map +7 -0
  423. package/esm/parts/FilterBar/components/DateRangePill.js +27 -31
  424. package/esm/parts/FilterBar/components/DateRangePill.js.map +7 -0
  425. package/esm/parts/FilterBar/components/DateSwitcherPill.js +27 -31
  426. package/esm/parts/FilterBar/components/DateSwitcherPill.js.map +7 -0
  427. package/esm/parts/FilterBar/components/MultiSelectPill.js +28 -34
  428. package/esm/parts/FilterBar/components/MultiSelectPill.js.map +7 -0
  429. package/esm/parts/FilterBar/components/NumberRangePill.js +26 -30
  430. package/esm/parts/FilterBar/components/NumberRangePill.js.map +7 -0
  431. package/esm/parts/FilterBar/components/SelectPill.js +25 -27
  432. package/esm/parts/FilterBar/components/SelectPill.js.map +7 -0
  433. package/esm/parts/FilterBar/components/SingleDatePill.js +26 -29
  434. package/esm/parts/FilterBar/components/SingleDatePill.js.map +7 -0
  435. package/esm/parts/FilterBar/components/index.js +8 -6
  436. package/esm/parts/FilterBar/components/index.js.map +7 -0
  437. package/esm/parts/FilterBar/index.js +6 -1
  438. package/esm/parts/FilterBar/index.js.map +7 -0
  439. package/esm/parts/FilterBar/styled.js +20 -12
  440. package/esm/parts/FilterBar/styled.js.map +7 -0
  441. package/esm/parts/FilterBar/types.js +2 -1
  442. package/esm/parts/FilterBar/types.js.map +7 -0
  443. package/esm/parts/Filters/index.js +40 -92
  444. package/esm/parts/Filters/index.js.map +7 -0
  445. package/esm/parts/Footer.js +10 -15
  446. package/esm/parts/Footer.js.map +7 -0
  447. package/esm/parts/Headers/EmptyChildrenGroup.js +13 -11
  448. package/esm/parts/Headers/EmptyChildrenGroup.js.map +7 -0
  449. package/esm/parts/Headers/HeaderCell.js +77 -141
  450. package/esm/parts/Headers/HeaderCell.js.map +7 -0
  451. package/esm/parts/Headers/HeaderCellGroup.js +64 -82
  452. package/esm/parts/Headers/HeaderCellGroup.js.map +7 -0
  453. package/esm/parts/Headers/HeaderCellTitle.js +22 -70
  454. package/esm/parts/Headers/HeaderCellTitle.js.map +7 -0
  455. package/esm/parts/Headers/HeaderResizer.js +36 -77
  456. package/esm/parts/Headers/HeaderResizer.js.map +7 -0
  457. package/esm/parts/Headers/RequiredDot.js +10 -13
  458. package/esm/parts/Headers/RequiredDot.js.map +7 -0
  459. package/esm/parts/Headers/index.js +28 -35
  460. package/esm/parts/Headers/index.js.map +7 -0
  461. package/esm/parts/Headers/useHeaderCellConfig.js +19 -21
  462. package/esm/parts/Headers/useHeaderCellConfig.js.map +7 -0
  463. package/esm/parts/Headers/useHeaderCellHandlers.js +56 -66
  464. package/esm/parts/Headers/useHeaderCellHandlers.js.map +7 -0
  465. package/esm/parts/HoC/SortableItemContext.js +15 -15
  466. package/esm/parts/HoC/SortableItemContext.js.map +7 -0
  467. package/esm/parts/HoC/withConditionalDnDColumnContext.js +52 -85
  468. package/esm/parts/HoC/withConditionalDnDColumnContext.js.map +7 -0
  469. package/esm/parts/HoC/withConditionalDnDRowContext.js +59 -80
  470. package/esm/parts/HoC/withConditionalDnDRowContext.js.map +7 -0
  471. package/esm/parts/HoC/withConditionalDnDSortableContext.js +21 -34
  472. package/esm/parts/HoC/withConditionalDnDSortableContext.js.map +7 -0
  473. package/esm/parts/HoC/withDnDSortableColumnContext.js +26 -44
  474. package/esm/parts/HoC/withDnDSortableColumnContext.js.map +7 -0
  475. package/esm/parts/HoC/withDnDSortableRowContext.js +26 -46
  476. package/esm/parts/HoC/withDnDSortableRowContext.js.map +7 -0
  477. package/esm/parts/Loader.js +21 -22
  478. package/esm/parts/Loader.js.map +7 -0
  479. package/esm/parts/Row.js +33 -48
  480. package/esm/parts/Row.js.map +7 -0
  481. package/esm/parts/RowLoading.js +23 -42
  482. package/esm/parts/RowLoading.js.map +7 -0
  483. package/esm/parts/RowVariants/RowVariantHeader.js +47 -83
  484. package/esm/parts/RowVariants/RowVariantHeader.js.map +7 -0
  485. package/esm/parts/RowVariants/RowVariantPrimary.js +26 -28
  486. package/esm/parts/RowVariants/RowVariantPrimary.js.map +7 -0
  487. package/esm/parts/RowVariants/RowVariantSecondary.js +27 -29
  488. package/esm/parts/RowVariants/RowVariantSecondary.js.map +7 -0
  489. package/esm/parts/RowVariants/index.js +26 -65
  490. package/esm/parts/RowVariants/index.js.map +7 -0
  491. package/esm/parts/RowVariants/types.js +2 -1
  492. package/esm/parts/RowVariants/types.js.map +7 -0
  493. package/esm/parts/Rows.js +41 -61
  494. package/esm/parts/Rows.js.map +7 -0
  495. package/esm/parts/SortByCaret.js +15 -22
  496. package/esm/parts/SortByCaret.js.map +7 -0
  497. package/esm/parts/SortableHeaderCell.js +14 -29
  498. package/esm/parts/SortableHeaderCell.js.map +7 -0
  499. package/esm/parts/TableContent.js +35 -72
  500. package/esm/parts/TableContent.js.map +7 -0
  501. package/esm/parts/VirtualRowsList.js +40 -78
  502. package/esm/parts/VirtualRowsList.js.map +7 -0
  503. package/esm/parts/index.js +16 -6
  504. package/esm/parts/index.js.map +7 -0
  505. package/esm/prop-types.js +28 -22
  506. package/esm/prop-types.js.map +7 -0
  507. package/esm/redux/reducers/headersReducers/defaults.js +5 -2
  508. package/esm/redux/reducers/headersReducers/defaults.js.map +7 -0
  509. package/esm/redux/reducers/headersReducers/headersReducers.js +12 -11
  510. package/esm/redux/reducers/headersReducers/headersReducers.js.map +7 -0
  511. package/esm/redux/reducers/headersReducers/index.js +4 -2
  512. package/esm/redux/reducers/headersReducers/index.js.map +7 -0
  513. package/esm/redux/reducers/headersReducers/logic.js +13 -24
  514. package/esm/redux/reducers/headersReducers/logic.js.map +7 -0
  515. package/esm/redux/reducers/headersReducers/useDispatchHeadersActions.js +10 -14
  516. package/esm/redux/reducers/headersReducers/useDispatchHeadersActions.js.map +7 -0
  517. package/esm/redux/reducers/index.js +17 -11
  518. package/esm/redux/reducers/index.js.map +7 -0
  519. package/esm/redux/reducers/rowsReducers/actions_types.js +18 -9
  520. package/esm/redux/reducers/rowsReducers/actions_types.js.map +7 -0
  521. package/esm/redux/reducers/rowsReducers/defaults.js +6 -2
  522. package/esm/redux/reducers/rowsReducers/defaults.js.map +7 -0
  523. package/esm/redux/reducers/rowsReducers/index.js +4 -2
  524. package/esm/redux/reducers/rowsReducers/index.js.map +7 -0
  525. package/esm/redux/reducers/rowsReducers/logic.js +12 -3
  526. package/esm/redux/reducers/rowsReducers/logic.js.map +7 -0
  527. package/esm/redux/reducers/rowsReducers/rowsReducer.js +28 -18
  528. package/esm/redux/reducers/rowsReducers/rowsReducer.js.map +7 -0
  529. package/esm/redux/reducers/rowsReducers/useDispatchRowsActions.js +26 -15
  530. package/esm/redux/reducers/rowsReducers/useDispatchRowsActions.js.map +7 -0
  531. package/esm/redux/storeConfig.js +6 -4
  532. package/esm/redux/storeConfig.js.map +7 -0
  533. package/esm/styled.js +268 -194
  534. package/esm/styled.js.map +7 -0
  535. package/esm/tests/utils/index.js +90 -0
  536. package/esm/tests/utils/index.js.map +7 -0
  537. package/esm/types/FunctionalHoC.js +2 -1
  538. package/esm/types/FunctionalHoC.js.map +7 -0
  539. package/esm/types/props.js +2 -1
  540. package/esm/types/props.js.map +7 -0
  541. package/package.json +18 -18
  542. package/types/DataTable.d.ts +44 -246
  543. package/types/DataTableContext.d.ts +1 -0
  544. package/types/DataTableSchema.d.ts +43 -245
  545. package/types/configs/useTableColsWithAddons.d.ts +1 -0
  546. package/types/exported-related/RowRenderer/index.d.ts +1 -0
  547. package/types/exported-related/RowRenderer/useRowRendererProperties.d.ts +1 -1
  548. package/types/parts/Cells/Cell.d.ts +1 -0
  549. package/types/parts/Cells/index.d.ts +1 -0
  550. package/types/parts/DropIndicator.d.ts +1 -0
  551. package/types/parts/EmptyContent.d.ts +1 -0
  552. package/types/parts/Footer.d.ts +1 -0
  553. package/types/parts/Headers/index.d.ts +2 -2
  554. package/types/parts/Loader.d.ts +2 -2
  555. package/types/parts/Row.d.ts +3 -2
  556. package/types/parts/RowLoading.d.ts +1 -0
  557. package/types/parts/Rows.d.ts +2 -2
  558. package/types/parts/TableContent.d.ts +1 -0
  559. package/types/parts/VirtualRowsList.d.ts +1 -1
  560. package/types/redux/reducers/index.d.ts +2 -2
@@ -1,90 +1,72 @@
1
- import _jsx from '@babel/runtime/helpers/esm/jsx';
2
- import 'core-js/modules/esnext.async-iterator.map.js';
3
- import 'core-js/modules/esnext.iterator.map.js';
4
- import { useContext } from 'react';
5
- import { Grid } from '@elliemae/ds-grid';
6
- import styled from 'styled-components';
7
- import { HeaderCell } from './HeaderCell.js';
8
- import { SortableItemContext } from '../HoC/SortableItemContext.js';
9
- import { withDnDSortableColumnContext } from '../HoC/withDnDSortableColumnContext.js';
10
- import DropIndicator from '../DropIndicator.js';
11
- import { SortableHeaderCell } from '../SortableHeaderCell.js';
12
- import { EmptyChildrenGroup } from './EmptyChildrenGroup.js';
13
- import { DATA_TESTID } from '../../configs/constants.js';
14
- import 'core-js/modules/esnext.async-iterator.filter.js';
15
- import 'core-js/modules/esnext.iterator.constructor.js';
16
- import 'core-js/modules/esnext.iterator.filter.js';
17
- import 'core-js/modules/web.dom-collections.iterator.js';
18
- import 'core-js/modules/esnext.async-iterator.reduce.js';
19
- import 'core-js/modules/esnext.iterator.reduce.js';
20
- import 'react-virtual';
21
- import 'core-js/modules/esnext.async-iterator.for-each.js';
22
- import 'core-js/modules/esnext.iterator.for-each.js';
23
- import '../../configs/useRowFlattenization.js';
24
- import '@babel/runtime/helpers/esm/defineProperty';
25
- import '@elliemae/ds-icons';
26
- import '../../styled.js';
27
- import { jsxs } from 'react/jsx-runtime';
28
- import '@elliemae/ds-form';
29
- import '../TableContent.js';
30
- import '@elliemae/ds-circular-progress-indicator';
31
- import '@elliemae/ds-system';
32
- import '@elliemae/ds-button';
33
- import '../../DataTableContext.js';
34
- import '../Row.js';
35
- import '../Footer.js';
36
-
37
- var _EmptyChildrenGroup;
38
- const StyledWrapper = /*#__PURE__*/styled(Grid).withConfig({
39
- componentId: "sc-1dqaj8a-0"
40
- })(["position:relative;width:", ";grid-column:", ";background:", ";opacity:", ";box-shadow:0 2px 4px 0 ", ";"], props => props.isDragOverlay ? 'fit-content' : '100%', props => props.gridColumn, props => props.isDragging ? props.theme.colors.neutral['080'] : 'white', props => props.isDragging ? 0.8 : 1, props => props.isDragOverlay ? 'rgba(0,0,0,0.5)' : 'transparent');
41
-
42
- const HeaderCellGroupComp = _ref => {
43
- var _children$length;
44
-
45
- let {
46
- header,
47
- isDragOverlay,
48
- isDraggingParent,
49
- isLast
50
- } = _ref;
51
- const {
52
- draggableProps
53
- } = useContext(SortableItemContext);
1
+ import * as React from "react";
2
+ import React2, { useContext } from "react";
3
+ import { Grid } from "@elliemae/ds-grid";
4
+ import styled from "styled-components";
5
+ import PropTypes from "prop-types";
6
+ import { HeaderCell } from "./HeaderCell";
7
+ import { SortableItemContext } from "../HoC/SortableItemContext";
8
+ import { withDnDSortableColumnContext } from "../HoC/withDnDSortableColumnContext";
9
+ import { DropIndicator } from "../DropIndicator";
10
+ import { SortableHeaderCell } from "../SortableHeaderCell";
11
+ import { EmptyChildrenGroup } from "./EmptyChildrenGroup";
12
+ import { DATA_TESTID } from "../../configs/constants";
13
+ const StyledWrapper = styled(Grid)`
14
+ position: relative;
15
+ width: ${(props) => props.isDragOverlay ? "fit-content" : "100%"};
16
+ grid-column: ${(props) => props.gridColumn};
17
+ background: ${(props) => props.isDragging ? props.theme.colors.neutral["080"] : "white"};
18
+ opacity: ${(props) => props.isDragging ? 0.8 : 1};
19
+ box-shadow: 0 2px 4px 0 ${(props) => props.isDragOverlay ? "rgba(0,0,0,0.5)" : "transparent"};
20
+ `;
21
+ const HeaderCellGroupComp = ({
22
+ header,
23
+ isDragOverlay,
24
+ isDraggingParent,
25
+ isLast
26
+ }) => {
27
+ const { draggableProps } = useContext(SortableItemContext);
54
28
  const children = header.columns;
55
29
  const isDragging = draggableProps && draggableProps.isDragging || isDraggingParent;
56
30
  const dropIndicatorPosition = draggableProps && draggableProps.shouldShowDropIndicatorPosition && draggableProps.dropIndicatorPosition;
57
31
  const ChildGroup = isDragOverlay ? HeaderCellGroup : HeaderCellGroupSortable;
58
- const colSpan = (_children$length = children === null || children === void 0 ? void 0 : children.length) !== null && _children$length !== void 0 ? _children$length : 1;
59
- return /*#__PURE__*/jsxs(StyledWrapper, {
32
+ const colSpan = children?.length ?? 1;
33
+ return /* @__PURE__ */ React2.createElement(StyledWrapper, {
60
34
  ref: draggableProps ? draggableProps.setNodeRef : null,
61
- gridColumn: isDragOverlay ? 'auto' : "span ".concat(colSpan),
62
- isDragOverlay: isDragOverlay,
63
- isDragging: isDragging,
64
- cols: ['auto'],
65
- "data-testid": isDragOverlay ? DATA_TESTID.DATA_TABLE_COLUMN_DRAG_OVERLAY : undefined,
66
- children: [/*#__PURE__*/_jsx(HeaderCell, {
67
- column: header,
68
- isDragOverlay: isDragOverlay,
69
- colSpan: colSpan
70
- }), !!(children !== null && children !== void 0 && children.length) && !isDragOverlay && /*#__PURE__*/_jsx(SortableHeaderCell, {
71
- items: children,
72
- isDragOverlay: isDragOverlay
73
- }, void 0, children.map((h, index) => /*#__PURE__*/_jsx(ChildGroup, {
74
- header: h,
75
- isDragOverlay: isDragOverlay,
76
- isDraggingParent: isDragging,
77
- isLast: index === children.length - 1
78
- }, h.id))), (children === null || children === void 0 ? void 0 : children.length) && isDragOverlay && (_EmptyChildrenGroup || (_EmptyChildrenGroup = /*#__PURE__*/_jsx(EmptyChildrenGroup, {}))), /*#__PURE__*/_jsx(DropIndicator, {
79
- vertical: true,
80
- dropIndicatorPosition: dropIndicatorPosition,
81
- isLast: isLast && isDragging
82
- })]
83
- });
35
+ gridColumn: isDragOverlay ? "auto" : `span ${colSpan}`,
36
+ isDragOverlay,
37
+ isDragging,
38
+ cols: ["auto"],
39
+ "data-testid": isDragOverlay ? DATA_TESTID.DATA_TABLE_COLUMN_DRAG_OVERLAY : void 0
40
+ }, /* @__PURE__ */ React2.createElement(HeaderCell, {
41
+ column: header,
42
+ isDragOverlay,
43
+ colSpan
44
+ }), !!children?.length && !isDragOverlay && /* @__PURE__ */ React2.createElement(SortableHeaderCell, {
45
+ items: children,
46
+ isDragOverlay
47
+ }, children.map((h, index) => /* @__PURE__ */ React2.createElement(ChildGroup, {
48
+ key: h.id,
49
+ header: h,
50
+ isDragOverlay,
51
+ isDraggingParent: isDragging,
52
+ isLast: index === children.length - 1
53
+ }))), children?.length && isDragOverlay && /* @__PURE__ */ React2.createElement(EmptyChildrenGroup, null), /* @__PURE__ */ React2.createElement(DropIndicator, {
54
+ vertical: true,
55
+ dropIndicatorPosition,
56
+ isLast: isLast && isDragging
57
+ }));
58
+ };
59
+ HeaderCellGroupComp.propTypes = {
60
+ header: PropTypes.any,
61
+ isDragOverlay: PropTypes.bool,
62
+ isDraggingParent: PropTypes.bool,
63
+ isLast: PropTypes.bool
84
64
  };
85
-
86
- // We need to declare this because we MUST avoid the useSortable call in the recursive calls of the function
87
65
  const HeaderCellGroup = HeaderCellGroupComp;
88
66
  const HeaderCellGroupSortable = withDnDSortableColumnContext(HeaderCellGroupComp);
89
-
90
- export { HeaderCellGroup, HeaderCellGroupSortable as default };
67
+ var HeaderCellGroup_default = HeaderCellGroupSortable;
68
+ export {
69
+ HeaderCellGroup,
70
+ HeaderCellGroup_default as default
71
+ };
72
+ //# sourceMappingURL=HeaderCellGroup.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/Headers/HeaderCellGroup.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable complexity */\nimport React, { useContext } from 'react';\nimport { Grid } from '@elliemae/ds-grid';\nimport styled from 'styled-components';\nimport PropTypes from 'prop-types';\nimport { HeaderCell } from './HeaderCell';\nimport { SortableItemContext } from '../HoC/SortableItemContext';\nimport { withDnDSortableColumnContext } from '../HoC/withDnDSortableColumnContext';\nimport { DropIndicator } from '../DropIndicator';\nimport { SortableHeaderCell } from '../SortableHeaderCell';\nimport { TypescriptColumn } from '../../types/props';\nimport { EmptyChildrenGroup } from './EmptyChildrenGroup';\nimport { DATA_TESTID } from '../../configs/constants';\n\nconst StyledWrapper = styled(Grid)`\n position: relative;\n width: ${(props) => (props.isDragOverlay ? 'fit-content' : '100%')};\n grid-column: ${(props) => props.gridColumn};\n background: ${(props) => (props.isDragging ? props.theme.colors.neutral['080'] : 'white')};\n opacity: ${(props) => (props.isDragging ? 0.8 : 1)};\n box-shadow: 0 2px 4px 0 ${(props) => (props.isDragOverlay ? 'rgba(0,0,0,0.5)' : 'transparent')};\n`;\n\ninterface HeaderCellGroupCompProps {\n header: TypescriptColumn;\n isDragOverlay?: boolean;\n isDraggingParent?: boolean;\n isLast?: boolean;\n}\n\nconst HeaderCellGroupComp: React.ComponentType<HeaderCellGroupCompProps> = ({\n header,\n isDragOverlay,\n isDraggingParent,\n isLast,\n}) => {\n const { draggableProps } = useContext(SortableItemContext);\n\n const children = header.columns;\n\n const isDragging = (draggableProps && draggableProps.isDragging) || isDraggingParent;\n const dropIndicatorPosition =\n draggableProps && draggableProps.shouldShowDropIndicatorPosition && draggableProps.dropIndicatorPosition;\n\n const ChildGroup = isDragOverlay ? HeaderCellGroup : HeaderCellGroupSortable;\n\n const colSpan = children?.length ?? 1;\n return (\n <StyledWrapper\n ref={draggableProps ? draggableProps.setNodeRef : null}\n gridColumn={isDragOverlay ? 'auto' : `span ${colSpan}`}\n isDragOverlay={isDragOverlay}\n isDragging={isDragging}\n cols={['auto']}\n data-testid={isDragOverlay ? DATA_TESTID.DATA_TABLE_COLUMN_DRAG_OVERLAY : undefined}\n >\n <HeaderCell column={header} isDragOverlay={isDragOverlay} colSpan={colSpan} />\n {!!children?.length && !isDragOverlay && (\n <SortableHeaderCell items={children} isDragOverlay={isDragOverlay}>\n {children.map((h, index) => (\n <ChildGroup\n key={h.id}\n header={h}\n isDragOverlay={isDragOverlay}\n isDraggingParent={isDragging}\n isLast={index === children.length - 1}\n />\n ))}\n </SortableHeaderCell>\n )}\n {children?.length && isDragOverlay && <EmptyChildrenGroup />}\n <DropIndicator vertical dropIndicatorPosition={dropIndicatorPosition} isLast={isLast && isDragging} />\n </StyledWrapper>\n );\n};\n\nHeaderCellGroupComp.propTypes = {\n header: PropTypes.any,\n isDragOverlay: PropTypes.bool,\n isDraggingParent: PropTypes.bool,\n isLast: PropTypes.bool,\n};\n\n// We need to declare this because we MUST avoid the useSortable call in the recursive calls of the function\n\nexport const HeaderCellGroup = HeaderCellGroupComp;\n\nconst HeaderCellGroupSortable = withDnDSortableColumnContext(HeaderCellGroupComp);\n\nexport default HeaderCellGroupSortable;\n"],
5
+ "mappings": "AAAA;ACCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA,MAAM,gBAAgB,OAAO;AAAA;AAAA,WAElB,CAAC,UAAW,MAAM,gBAAgB,gBAAgB;AAAA,iBAC5C,CAAC,UAAU,MAAM;AAAA,gBAClB,CAAC,UAAW,MAAM,aAAa,MAAM,MAAM,OAAO,QAAQ,SAAS;AAAA,aACtE,CAAC,UAAW,MAAM,aAAa,MAAM;AAAA,4BACtB,CAAC,UAAW,MAAM,gBAAgB,oBAAoB;AAAA;AAUlF,MAAM,sBAAqE,CAAC;AAAA,EAC1E;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,MACI;AACJ,QAAM,EAAE,mBAAmB,WAAW;AAEtC,QAAM,WAAW,OAAO;AAExB,QAAM,aAAc,kBAAkB,eAAe,cAAe;AACpE,QAAM,wBACJ,kBAAkB,eAAe,mCAAmC,eAAe;AAErF,QAAM,aAAa,gBAAgB,kBAAkB;AAErD,QAAM,UAAU,UAAU,UAAU;AACpC,SACE,qCAAC,eAAD;AAAA,IACE,KAAK,iBAAiB,eAAe,aAAa;AAAA,IAClD,YAAY,gBAAgB,SAAS,QAAQ;AAAA,IAC7C;AAAA,IACA;AAAA,IACA,MAAM,CAAC;AAAA,IACP,eAAa,gBAAgB,YAAY,iCAAiC;AAAA,KAE1E,qCAAC,YAAD;AAAA,IAAY,QAAQ;AAAA,IAAQ;AAAA,IAA8B;AAAA,MACzD,CAAC,CAAC,UAAU,UAAU,CAAC,iBACtB,qCAAC,oBAAD;AAAA,IAAoB,OAAO;AAAA,IAAU;AAAA,KAClC,SAAS,IAAI,CAAC,GAAG,UAChB,qCAAC,YAAD;AAAA,IACE,KAAK,EAAE;AAAA,IACP,QAAQ;AAAA,IACR;AAAA,IACA,kBAAkB;AAAA,IAClB,QAAQ,UAAU,SAAS,SAAS;AAAA,QAK3C,UAAU,UAAU,iBAAiB,qCAAC,oBAAD,OACtC,qCAAC,eAAD;AAAA,IAAe,UAAQ;AAAA,IAAC;AAAA,IAA8C,QAAQ,UAAU;AAAA;AAAA;AAK9F,oBAAoB,YAAY;AAAA,EAC9B,QAAQ,UAAU;AAAA,EAClB,eAAe,UAAU;AAAA,EACzB,kBAAkB,UAAU;AAAA,EAC5B,QAAQ,UAAU;AAAA;AAKb,MAAM,kBAAkB;AAE/B,MAAM,0BAA0B,6BAA6B;AAE7D,IAAO,0BAAQ;",
6
+ "names": []
7
+ }
@@ -1,71 +1,23 @@
1
- import _jsx from '@babel/runtime/helpers/esm/jsx';
2
- import 'react';
3
- import { SimpleTruncatedTooltipText } from '@elliemae/ds-truncated-tooltip-text';
4
- import { RequiredDot } from './RequiredDot.js';
5
- import { DATA_TESTID } from '../../configs/constants.js';
6
- import 'core-js/modules/esnext.async-iterator.filter.js';
7
- import 'core-js/modules/esnext.iterator.constructor.js';
8
- import 'core-js/modules/esnext.iterator.filter.js';
9
- import 'core-js/modules/web.dom-collections.iterator.js';
10
- import 'core-js/modules/esnext.async-iterator.reduce.js';
11
- import 'core-js/modules/esnext.iterator.reduce.js';
12
- import 'react-virtual';
13
- import 'core-js/modules/esnext.async-iterator.for-each.js';
14
- import 'core-js/modules/esnext.iterator.for-each.js';
15
- import '../../configs/useRowFlattenization.js';
16
- import '@babel/runtime/helpers/esm/defineProperty';
17
- import 'core-js/modules/esnext.async-iterator.map.js';
18
- import 'core-js/modules/esnext.iterator.map.js';
19
- import '@elliemae/ds-icons';
20
- import 'styled-components';
21
- import '../../styled.js';
22
- import { jsx, Fragment } from 'react/jsx-runtime';
23
- import '@elliemae/ds-form';
24
- import '../TableContent.js';
25
- import '@elliemae/ds-grid';
26
- import '@elliemae/ds-circular-progress-indicator';
27
- import '@elliemae/ds-system';
28
- import '@elliemae/ds-button';
29
- import '../../DataTableContext.js';
30
- import '../Row.js';
31
- import '../Footer.js';
32
- import '../HoC/SortableItemContext.js';
33
-
34
- var _RequiredDot;
35
-
36
- const StringTitle = _ref => {
37
- let {
38
- column,
39
- textWrap
40
- } = _ref;
41
- return (column.textWrap || textWrap) === 'truncate' ? /*#__PURE__*/_jsx(SimpleTruncatedTooltipText, {
42
- value: column.Header
43
- }) : /*#__PURE__*/jsx(Fragment, {
44
- children: column.Header
45
- });
1
+ import * as React from "react";
2
+ import React2 from "react";
3
+ import { SimpleTruncatedTooltipText } from "@elliemae/ds-truncated-tooltip-text";
4
+ import { RequiredDot } from "./RequiredDot";
5
+ import { DATA_TESTID } from "../../configs/constants";
6
+ const StringTitle = ({ column, textWrap }) => (column.textWrap || textWrap) === "truncate" ? /* @__PURE__ */ React2.createElement(SimpleTruncatedTooltipText, {
7
+ value: column.Header
8
+ }) : /* @__PURE__ */ React2.createElement(React2.Fragment, null, column.Header);
9
+ const HeaderCellTitle = ({ column, ctx, draggableProps, textWrap }) => /* @__PURE__ */ React2.createElement("div", {
10
+ style: { display: "flex", alignItems: "center" },
11
+ "data-testid": DATA_TESTID.DATA_TABLE_HEADER_CELL_TITLE
12
+ }, typeof column.Header === "string" ? /* @__PURE__ */ React2.createElement(StringTitle, {
13
+ column,
14
+ textWrap
15
+ }) : /* @__PURE__ */ React2.createElement(column.Header, {
16
+ column,
17
+ ctx,
18
+ draggableProps
19
+ }), column.required && /* @__PURE__ */ React2.createElement(RequiredDot, null));
20
+ export {
21
+ HeaderCellTitle
46
22
  };
47
-
48
- const HeaderCellTitle = _ref2 => {
49
- let {
50
- column,
51
- ctx,
52
- draggableProps,
53
- textWrap
54
- } = _ref2;
55
- return /*#__PURE__*/_jsx("div", {
56
- style: {
57
- display: 'flex',
58
- alignItems: 'center'
59
- },
60
- "data-testid": DATA_TESTID.DATA_TABLE_HEADER_CELL_TITLE
61
- }, void 0, typeof column.Header === 'string' ? /*#__PURE__*/_jsx(StringTitle, {
62
- column: column,
63
- textWrap: textWrap
64
- }) : /*#__PURE__*/_jsx(column.Header, {
65
- column: column,
66
- ctx: ctx,
67
- draggableProps: draggableProps
68
- }), column.required && (_RequiredDot || (_RequiredDot = /*#__PURE__*/_jsx(RequiredDot, {}))));
69
- };
70
-
71
- export { HeaderCellTitle };
23
+ //# sourceMappingURL=HeaderCellTitle.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/Headers/HeaderCellTitle.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable react/prop-types */\nimport React, { Fragment } from 'react';\nimport { SimpleTruncatedTooltipText } from '@elliemae/ds-truncated-tooltip-text';\nimport { TypescriptColumn, TypescriptContext } from '../../types/props';\nimport { SortableItemContextType } from '../HoC/SortableItemContext';\nimport { RequiredDot } from './RequiredDot';\nimport { DATA_TESTID } from '../../configs/constants';\n\ninterface HeaderCellTitle {\n column: TypescriptColumn;\n ctx: TypescriptContext;\n draggableProps: SortableItemContextType['draggableProps'];\n textWrap: 'wrap' | 'wrap-all' | 'truncate';\n}\n\nconst StringTitle = ({ column, textWrap }) =>\n (column.textWrap || textWrap) === 'truncate' ? (\n <SimpleTruncatedTooltipText value={column.Header} />\n ) : (\n <>{column.Header}</>\n );\n\nexport const HeaderCellTitle: React.ComponentType<HeaderCellTitle> = ({ column, ctx, draggableProps, textWrap }) => (\n <div style={{ display: 'flex', alignItems: 'center' }} data-testid={DATA_TESTID.DATA_TABLE_HEADER_CELL_TITLE}>\n {typeof column.Header === 'string' ? (\n <StringTitle column={column} textWrap={textWrap} />\n ) : (\n <column.Header column={column} ctx={ctx} draggableProps={draggableProps} />\n )}\n {column.required && <RequiredDot />}\n </div>\n);\n"],
5
+ "mappings": "AAAA;ACCA;AACA;AAGA;AACA;AASA,MAAM,cAAc,CAAC,EAAE,QAAQ,eAC5B,QAAO,YAAY,cAAc,aAChC,qCAAC,4BAAD;AAAA,EAA4B,OAAO,OAAO;AAAA,KAE1C,4DAAG,OAAO;AAGP,MAAM,kBAAwD,CAAC,EAAE,QAAQ,KAAK,gBAAgB,eACnG,qCAAC,OAAD;AAAA,EAAK,OAAO,EAAE,SAAS,QAAQ,YAAY;AAAA,EAAY,eAAa,YAAY;AAAA,GAC7E,OAAO,OAAO,WAAW,WACxB,qCAAC,aAAD;AAAA,EAAa;AAAA,EAAgB;AAAA,KAE7B,qCAAC,OAAO,QAAR;AAAA,EAAe;AAAA,EAAgB;AAAA,EAAU;AAAA,IAE1C,OAAO,YAAY,qCAAC,aAAD;",
6
+ "names": []
7
+ }
@@ -1,61 +1,21 @@
1
- import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
2
- import 'core-js/modules/web.dom-collections.iterator.js';
3
- import 'core-js/modules/esnext.async-iterator.map.js';
4
- import 'core-js/modules/esnext.iterator.map.js';
5
- import 'core-js/modules/esnext.async-iterator.filter.js';
6
- import 'core-js/modules/esnext.iterator.constructor.js';
7
- import 'core-js/modules/esnext.iterator.filter.js';
8
- import 'core-js/modules/esnext.async-iterator.for-each.js';
9
- import 'core-js/modules/esnext.iterator.for-each.js';
10
- import { useContext, useState, useMemo, useEffect, useRef, useCallback } from 'react';
11
- import { ColsLayoutStyle } from '../../configs/constants.js';
12
- import 'core-js/modules/esnext.async-iterator.reduce.js';
13
- import 'core-js/modules/esnext.iterator.reduce.js';
14
- import 'react-virtual';
15
- import { columnsToGrid } from '../../helpers/columnsToGrid.js';
16
- import '../../configs/useRowFlattenization.js';
17
- import '@babel/runtime/helpers/esm/jsx';
18
- import '@elliemae/ds-icons';
19
- import 'styled-components';
20
- import { StyledResizer } from '../../styled.js';
21
- import { jsx } from 'react/jsx-runtime';
22
- import '@elliemae/ds-form';
23
- import '../TableContent.js';
24
- import '@elliemae/ds-grid';
25
- import '@elliemae/ds-circular-progress-indicator';
26
- import '@elliemae/ds-system';
27
- import '@elliemae/ds-button';
28
- import DataTableContext from '../../DataTableContext.js';
29
- import '../Row.js';
30
- import '../Footer.js';
31
- import '../HoC/SortableItemContext.js';
32
-
33
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
34
-
35
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
36
-
37
- const narrow = (value, min, max) => Math.min(Math.max(value, min !== null && min !== void 0 ? min : 30), max !== null && max !== void 0 ? max : Infinity);
38
-
39
- const HeaderResizer = _ref => {
40
- var _column$width;
41
-
42
- let {
43
- column
44
- } = _ref;
1
+ import * as React from "react";
2
+ import React2, { useState, useCallback, useContext, useRef, useEffect, useMemo } from "react";
3
+ import { ColsLayoutStyle } from "../../configs/constants";
4
+ import { DataTableContext } from "../../DataTableContext";
5
+ import { columnsToGrid } from "../../helpers";
6
+ import { StyledResizer } from "../../styled";
7
+ const narrow = (value, min, max) => Math.min(Math.max(value, min ?? 30), max ?? Infinity);
8
+ const HeaderResizer = ({ column }) => {
45
9
  const {
46
- layoutHelpers: {
47
- setGridLayout
48
- },
10
+ layoutHelpers: { setGridLayout },
49
11
  visibleColumns,
50
- tableProps: {
51
- onColumnResize
52
- }
12
+ tableProps: { onColumnResize }
53
13
  } = useContext(DataTableContext);
54
14
  const [isResizing, setIsResizing] = useState(false);
55
- const [nextWidth, setNextWidth] = useState((_column$width = column.width) !== null && _column$width !== void 0 ? _column$width : 150);
56
- const visibleColumnsCopy = useMemo(() => visibleColumns.map(col => _objectSpread({}, col)), [visibleColumns]);
15
+ const [nextWidth, setNextWidth] = useState(column.width ?? 150);
16
+ const visibleColumnsCopy = useMemo(() => visibleColumns.map((col) => ({ ...col })), [visibleColumns]);
57
17
  useEffect(() => {
58
- const realColumnIndex = visibleColumnsCopy.findIndex(visibleColumn => visibleColumn.id === column.id);
18
+ const realColumnIndex = visibleColumnsCopy.findIndex((visibleColumn) => visibleColumn.id === column.id);
59
19
  visibleColumnsCopy[realColumnIndex].width = nextWidth;
60
20
  setGridLayout(columnsToGrid(visibleColumnsCopy, ColsLayoutStyle.Fixed));
61
21
  }, [column.id, nextWidth, setGridLayout, visibleColumnsCopy]);
@@ -63,13 +23,11 @@ const HeaderResizer = _ref => {
63
23
  const onResizeStart = useCallback(() => {
64
24
  setIsResizing(true);
65
25
  }, []);
66
- const onResizeHandler = useCallback(e => {
67
- const delta = e.clientX - ref.current.getBoundingClientRect().x; // delta in pixels
68
-
69
- const realColumnIndex = visibleColumnsCopy.findIndex(visibleColumn => visibleColumn.id === column.id);
26
+ const onResizeHandler = useCallback((e) => {
27
+ const delta = e.clientX - ref.current.getBoundingClientRect().x;
28
+ const realColumnIndex = visibleColumnsCopy.findIndex((visibleColumn) => visibleColumn.id === column.id);
70
29
  const widthWithDelta = narrow(nextWidth + delta, visibleColumnsCopy[realColumnIndex].minWidth, visibleColumnsCopy[realColumnIndex].maxWidth);
71
- setNextWidth(widthWithDelta); // To prevent text selection
72
-
30
+ setNextWidth(widthWithDelta);
73
31
  e.preventDefault();
74
32
  e.stopPropagation();
75
33
  }, [column.id, nextWidth, visibleColumnsCopy]);
@@ -81,35 +39,36 @@ const HeaderResizer = _ref => {
81
39
  useEffect(() => {
82
40
  const debouncedResizeHandler = onResizeHandler;
83
41
  const debouncedResizeEnd = onResizeEnd;
84
-
85
42
  const addEvents = () => {
86
- document.addEventListener('mousemove', debouncedResizeHandler);
87
- document.addEventListener('touchmove', debouncedResizeHandler);
88
- document.addEventListener('mouseup', debouncedResizeEnd);
89
- document.addEventListener('touchend', debouncedResizeEnd);
43
+ document.addEventListener("mousemove", debouncedResizeHandler);
44
+ document.addEventListener("touchmove", debouncedResizeHandler);
45
+ document.addEventListener("mouseup", debouncedResizeEnd);
46
+ document.addEventListener("touchend", debouncedResizeEnd);
90
47
  };
91
-
92
48
  const removeEvents = () => {
93
- document.removeEventListener('mousemove', debouncedResizeHandler);
94
- document.removeEventListener('touchmove', debouncedResizeHandler);
95
- document.removeEventListener('mouseup', debouncedResizeEnd);
96
- document.removeEventListener('touchend', debouncedResizeEnd);
49
+ document.removeEventListener("mousemove", debouncedResizeHandler);
50
+ document.removeEventListener("touchmove", debouncedResizeHandler);
51
+ document.removeEventListener("mouseup", debouncedResizeEnd);
52
+ document.removeEventListener("touchend", debouncedResizeEnd);
97
53
  };
98
-
99
- if (isResizing) addEvents();else removeEvents(); // just in case the component is unmounted
100
-
54
+ if (isResizing)
55
+ addEvents();
56
+ else
57
+ removeEvents();
101
58
  return removeEvents;
102
59
  }, [isResizing, onResizeHandler, onResizeEnd]);
103
- return /*#__PURE__*/jsx(StyledResizer, {
104
- ref: ref,
60
+ return /* @__PURE__ */ React2.createElement(StyledResizer, {
61
+ ref,
105
62
  role: "separator",
106
63
  draggable: false,
107
- isResizing: isResizing,
64
+ isResizing,
108
65
  onMouseDown: onResizeStart,
109
66
  onTouchStart: onResizeStart,
110
67
  onMouseUp: onResizeEnd,
111
68
  onTouchEnd: onResizeEnd
112
69
  });
113
70
  };
114
-
115
- export { HeaderResizer };
71
+ export {
72
+ HeaderResizer
73
+ };
74
+ //# sourceMappingURL=HeaderResizer.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/Headers/HeaderResizer.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable react/prop-types */\nimport React, { useState, useCallback, useContext, useRef, useEffect, useMemo } from 'react';\nimport { ColsLayoutStyle } from '../../configs/constants';\nimport { DataTableContext } from '../../DataTableContext';\nimport { columnsToGrid } from '../../helpers';\nimport { StyledResizer } from '../../styled';\nimport { TypescriptColumn } from '../../types/props';\n\nconst narrow = (value: number, min: number, max: number): number =>\n Math.min(Math.max(value, min ?? 30), max ?? Infinity);\n\nexport const HeaderResizer: React.ComponentType<{\n column: TypescriptColumn;\n}> = ({ column }) => {\n const {\n layoutHelpers: { setGridLayout },\n visibleColumns,\n tableProps: { onColumnResize },\n } = useContext(DataTableContext);\n\n const [isResizing, setIsResizing] = useState(false);\n const [nextWidth, setNextWidth] = useState(column.width ?? 150);\n\n const visibleColumnsCopy = useMemo(() => visibleColumns.map((col) => ({ ...col })), [visibleColumns]);\n\n useEffect(() => {\n const realColumnIndex = visibleColumnsCopy.findIndex((visibleColumn) => visibleColumn.id === column.id);\n\n visibleColumnsCopy[realColumnIndex].width = nextWidth;\n setGridLayout(columnsToGrid(visibleColumnsCopy, ColsLayoutStyle.Fixed));\n }, [column.id, nextWidth, setGridLayout, visibleColumnsCopy]);\n\n const ref = useRef<HTMLDivElement>(null);\n\n const onResizeStart = useCallback(() => {\n setIsResizing(true);\n }, []);\n\n const onResizeHandler = useCallback(\n (e) => {\n const delta = e.clientX - ref.current.getBoundingClientRect().x; // delta in pixels\n\n const realColumnIndex = visibleColumnsCopy.findIndex((visibleColumn) => visibleColumn.id === column.id);\n\n const widthWithDelta = narrow(\n nextWidth + delta,\n visibleColumnsCopy[realColumnIndex].minWidth,\n visibleColumnsCopy[realColumnIndex].maxWidth,\n );\n\n setNextWidth(widthWithDelta);\n\n // To prevent text selection\n e.preventDefault();\n e.stopPropagation();\n },\n [column.id, nextWidth, visibleColumnsCopy],\n );\n\n const onResizeEnd = useCallback(() => {\n setIsResizing(false);\n onColumnResize(column.id, nextWidth);\n setGridLayout(columnsToGrid(visibleColumns, ColsLayoutStyle.Fixed));\n }, [onColumnResize, column.id, nextWidth, setGridLayout, visibleColumns]);\n\n useEffect(() => {\n const debouncedResizeHandler = onResizeHandler;\n const debouncedResizeEnd = onResizeEnd;\n const addEvents = () => {\n document.addEventListener('mousemove', debouncedResizeHandler);\n document.addEventListener('touchmove', debouncedResizeHandler);\n document.addEventListener('mouseup', debouncedResizeEnd);\n document.addEventListener('touchend', debouncedResizeEnd);\n };\n const removeEvents = () => {\n document.removeEventListener('mousemove', debouncedResizeHandler);\n document.removeEventListener('touchmove', debouncedResizeHandler);\n document.removeEventListener('mouseup', debouncedResizeEnd);\n document.removeEventListener('touchend', debouncedResizeEnd);\n };\n\n if (isResizing) addEvents();\n else removeEvents();\n\n // just in case the component is unmounted\n return removeEvents;\n }, [isResizing, onResizeHandler, onResizeEnd]);\n\n return (\n <StyledResizer\n ref={ref}\n role=\"separator\"\n draggable={false}\n isResizing={isResizing}\n onMouseDown={onResizeStart}\n onTouchStart={onResizeStart}\n onMouseUp={onResizeEnd}\n onTouchEnd={onResizeEnd}\n />\n );\n};\n"],
5
+ "mappings": "AAAA;ACCA;AACA;AACA;AACA;AACA;AAGA,MAAM,SAAS,CAAC,OAAe,KAAa,QAC1C,KAAK,IAAI,KAAK,IAAI,OAAO,OAAO,KAAK,OAAO;AAEvC,MAAM,gBAER,CAAC,EAAE,aAAa;AACnB,QAAM;AAAA,IACJ,eAAe,EAAE;AAAA,IACjB;AAAA,IACA,YAAY,EAAE;AAAA,MACZ,WAAW;AAEf,QAAM,CAAC,YAAY,iBAAiB,SAAS;AAC7C,QAAM,CAAC,WAAW,gBAAgB,SAAS,OAAO,SAAS;AAE3D,QAAM,qBAAqB,QAAQ,MAAM,eAAe,IAAI,CAAC,QAAS,MAAK,SAAS,CAAC;AAErF,YAAU,MAAM;AACd,UAAM,kBAAkB,mBAAmB,UAAU,CAAC,kBAAkB,cAAc,OAAO,OAAO;AAEpG,uBAAmB,iBAAiB,QAAQ;AAC5C,kBAAc,cAAc,oBAAoB,gBAAgB;AAAA,KAC/D,CAAC,OAAO,IAAI,WAAW,eAAe;AAEzC,QAAM,MAAM,OAAuB;AAEnC,QAAM,gBAAgB,YAAY,MAAM;AACtC,kBAAc;AAAA,KACb;AAEH,QAAM,kBAAkB,YACtB,CAAC,MAAM;AACL,UAAM,QAAQ,EAAE,UAAU,IAAI,QAAQ,wBAAwB;AAE9D,UAAM,kBAAkB,mBAAmB,UAAU,CAAC,kBAAkB,cAAc,OAAO,OAAO;AAEpG,UAAM,iBAAiB,OACrB,YAAY,OACZ,mBAAmB,iBAAiB,UACpC,mBAAmB,iBAAiB;AAGtC,iBAAa;AAGb,MAAE;AACF,MAAE;AAAA,KAEJ,CAAC,OAAO,IAAI,WAAW;AAGzB,QAAM,cAAc,YAAY,MAAM;AACpC,kBAAc;AACd,mBAAe,OAAO,IAAI;AAC1B,kBAAc,cAAc,gBAAgB,gBAAgB;AAAA,KAC3D,CAAC,gBAAgB,OAAO,IAAI,WAAW,eAAe;AAEzD,YAAU,MAAM;AACd,UAAM,yBAAyB;AAC/B,UAAM,qBAAqB;AAC3B,UAAM,YAAY,MAAM;AACtB,eAAS,iBAAiB,aAAa;AACvC,eAAS,iBAAiB,aAAa;AACvC,eAAS,iBAAiB,WAAW;AACrC,eAAS,iBAAiB,YAAY;AAAA;AAExC,UAAM,eAAe,MAAM;AACzB,eAAS,oBAAoB,aAAa;AAC1C,eAAS,oBAAoB,aAAa;AAC1C,eAAS,oBAAoB,WAAW;AACxC,eAAS,oBAAoB,YAAY;AAAA;AAG3C,QAAI;AAAY;AAAA;AACX;AAGL,WAAO;AAAA,KACN,CAAC,YAAY,iBAAiB;AAEjC,SACE,qCAAC,eAAD;AAAA,IACE;AAAA,IACA,MAAK;AAAA,IACL,WAAW;AAAA,IACX;AAAA,IACA,aAAa;AAAA,IACb,cAAc;AAAA,IACd,WAAW;AAAA,IACX,YAAY;AAAA;AAAA;",
6
+ "names": []
7
+ }
@@ -1,19 +1,16 @@
1
- import _jsx from '@babel/runtime/helpers/esm/jsx';
2
- import 'react';
3
-
4
- var _circle;
5
- const RequiredDot = () => /*#__PURE__*/_jsx("svg", {
1
+ import * as React from "react";
2
+ import React2 from "react";
3
+ const RequiredDot = () => /* @__PURE__ */ React2.createElement("svg", {
6
4
  height: "4",
7
5
  width: "4",
8
- style: {
9
- marginBottom: '6px',
10
- marginLeft: '4px'
11
- }
12
- }, void 0, _circle || (_circle = /*#__PURE__*/_jsx("circle", {
6
+ style: { marginBottom: "6px", marginLeft: "4px" }
7
+ }, /* @__PURE__ */ React2.createElement("circle", {
13
8
  cx: "2",
14
9
  cy: "2",
15
10
  r: "2",
16
11
  fill: "red"
17
- })));
18
-
19
- export { RequiredDot };
12
+ }));
13
+ export {
14
+ RequiredDot
15
+ };
16
+ //# sourceMappingURL=RequiredDot.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/Headers/RequiredDot.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\n\nexport const RequiredDot: React.ComponentType = () => (\n <svg height=\"4\" width=\"4\" style={{ marginBottom: '6px', marginLeft: '4px' }}>\n <circle cx=\"2\" cy=\"2\" r=\"2\" fill=\"red\" />\n </svg>\n);\n"],
5
+ "mappings": "AAAA;ACAA;AAEO,MAAM,cAAmC,MAC9C,qCAAC,OAAD;AAAA,EAAK,QAAO;AAAA,EAAI,OAAM;AAAA,EAAI,OAAO,EAAE,cAAc,OAAO,YAAY;AAAA,GAClE,qCAAC,UAAD;AAAA,EAAQ,IAAG;AAAA,EAAI,IAAG;AAAA,EAAI,GAAE;AAAA,EAAI,MAAK;AAAA;",
6
+ "names": []
7
+ }
@@ -1,47 +1,40 @@
1
- import _jsx from '@babel/runtime/helpers/esm/jsx';
2
- import 'core-js/modules/esnext.async-iterator.map.js';
3
- import 'core-js/modules/esnext.iterator.map.js';
4
- import { useContext, useMemo } from 'react';
5
- import { StyledHeadTr, StyledHeadWrapper } from '../../styled.js';
6
- import DataTableContext from '../../DataTableContext.js';
7
- import { withConditionalDnDColumnContext } from '../HoC/withConditionalDnDColumnContext.js';
8
- import HeaderCellGroupSortable from './HeaderCellGroup.js';
9
- import { SortableHeaderCell } from '../SortableHeaderCell.js';
10
- import { jsx } from 'react/jsx-runtime';
11
-
1
+ import * as React from "react";
2
+ import React2, { useContext, useMemo } from "react";
3
+ import { StyledHeadWrapper, StyledHeadTr } from "../../styled";
4
+ import { DataTableContext } from "../../DataTableContext";
5
+ import { withConditionalDnDColumnContext } from "../HoC/withConditionalDnDColumnContext";
6
+ import { HeaderCellGroup } from "./HeaderCellGroup";
7
+ import { SortableHeaderCell } from "../SortableHeaderCell";
12
8
  const HeadersComp = () => {
13
9
  const {
14
- tableProps: {
15
- isExpandable,
16
- colsLayoutStyle
17
- },
18
- layoutHelpers: {
19
- gridLayout,
20
- totalColumnsWidth
21
- },
10
+ tableProps: { isExpandable, colsLayoutStyle },
11
+ layoutHelpers: { gridLayout, totalColumnsWidth },
22
12
  columnHeaderRef,
23
13
  visibleColumns
24
14
  } = useContext(DataTableContext);
25
- const HeadersCells = useMemo(() => /*#__PURE__*/_jsx(SortableHeaderCell, {
15
+ const HeadersCells = useMemo(() => /* @__PURE__ */ React2.createElement(SortableHeaderCell, {
26
16
  items: visibleColumns
27
- }, void 0, /*#__PURE__*/_jsx(StyledHeadTr, {
17
+ }, /* @__PURE__ */ React2.createElement(StyledHeadTr, {
28
18
  role: "row",
29
19
  cols: gridLayout,
30
- colsLayoutStyle: colsLayoutStyle,
31
- isExpandable: isExpandable
32
- }, void 0, visibleColumns.map((h, index) => /*#__PURE__*/_jsx(HeaderCellGroupSortable, {
20
+ colsLayoutStyle,
21
+ isExpandable
22
+ }, visibleColumns.map((h, index) => /* @__PURE__ */ React2.createElement(HeaderCellGroup, {
33
23
  header: h,
24
+ key: h.id,
34
25
  isLast: index === visibleColumns.length - 1
35
- }, h.id)))), [isExpandable, visibleColumns, gridLayout, colsLayoutStyle]);
36
- const PureHeaders = useMemo(() => /*#__PURE__*/jsx(StyledHeadWrapper, {
37
- totalColumnsWidth: totalColumnsWidth,
38
- colsLayoutStyle: colsLayoutStyle,
39
- ref: columnHeaderRef,
40
- children: HeadersCells
41
- }), [totalColumnsWidth, colsLayoutStyle, columnHeaderRef, HeadersCells]);
26
+ })))), [isExpandable, visibleColumns, gridLayout, colsLayoutStyle]);
27
+ const PureHeaders = useMemo(() => /* @__PURE__ */ React2.createElement(StyledHeadWrapper, {
28
+ totalColumnsWidth,
29
+ colsLayoutStyle,
30
+ ref: columnHeaderRef
31
+ }, HeadersCells), [totalColumnsWidth, colsLayoutStyle, columnHeaderRef, HeadersCells]);
42
32
  return PureHeaders;
43
33
  };
44
-
45
- var Headers = withConditionalDnDColumnContext(HeadersComp);
46
-
47
- export { Headers as default };
34
+ const Headers = withConditionalDnDColumnContext(HeadersComp);
35
+ var Headers_default = Headers;
36
+ export {
37
+ Headers,
38
+ Headers_default as default
39
+ };
40
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/parts/Headers/index.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useContext, useMemo } from 'react';\nimport { StyledHeadWrapper, StyledHeadTr } from '../../styled';\nimport { DataTableContext } from '../../DataTableContext';\nimport { withConditionalDnDColumnContext } from '../HoC/withConditionalDnDColumnContext';\nimport { HeaderCellGroup } from './HeaderCellGroup';\nimport { SortableHeaderCell } from '../SortableHeaderCell';\nimport { TypescriptColumn } from '../../types/props';\n\nconst HeadersComp = (): JSX.Element => {\n const {\n tableProps: { isExpandable, colsLayoutStyle },\n layoutHelpers: { gridLayout, totalColumnsWidth },\n columnHeaderRef,\n visibleColumns,\n } = useContext(DataTableContext);\n const HeadersCells = useMemo(\n () => (\n <SortableHeaderCell items={visibleColumns}>\n <StyledHeadTr role=\"row\" cols={gridLayout} colsLayoutStyle={colsLayoutStyle} isExpandable={isExpandable}>\n {visibleColumns.map((h: TypescriptColumn, index) => (\n <HeaderCellGroup header={h} key={h.id} isLast={index === visibleColumns.length - 1} />\n ))}\n </StyledHeadTr>\n </SortableHeaderCell>\n ),\n [isExpandable, visibleColumns, gridLayout, colsLayoutStyle],\n );\n\n const PureHeaders = useMemo(\n () => (\n <StyledHeadWrapper totalColumnsWidth={totalColumnsWidth} colsLayoutStyle={colsLayoutStyle} ref={columnHeaderRef}>\n {HeadersCells}\n </StyledHeadWrapper>\n ),\n [totalColumnsWidth, colsLayoutStyle, columnHeaderRef, HeadersCells],\n );\n return PureHeaders;\n};\n\nexport const Headers = withConditionalDnDColumnContext(HeadersComp);\nexport default Headers;\n"],
5
+ "mappings": "AAAA;ACAA;AACA;AACA;AACA;AACA;AACA;AAGA,MAAM,cAAc,MAAmB;AACrC,QAAM;AAAA,IACJ,YAAY,EAAE,cAAc;AAAA,IAC5B,eAAe,EAAE,YAAY;AAAA,IAC7B;AAAA,IACA;AAAA,MACE,WAAW;AACf,QAAM,eAAe,QACnB,MACE,qCAAC,oBAAD;AAAA,IAAoB,OAAO;AAAA,KACzB,qCAAC,cAAD;AAAA,IAAc,MAAK;AAAA,IAAM,MAAM;AAAA,IAAY;AAAA,IAAkC;AAAA,KAC1E,eAAe,IAAI,CAAC,GAAqB,UACxC,qCAAC,iBAAD;AAAA,IAAiB,QAAQ;AAAA,IAAG,KAAK,EAAE;AAAA,IAAI,QAAQ,UAAU,eAAe,SAAS;AAAA,SAKzF,CAAC,cAAc,gBAAgB,YAAY;AAG7C,QAAM,cAAc,QAClB,MACE,qCAAC,mBAAD;AAAA,IAAmB;AAAA,IAAsC;AAAA,IAAkC,KAAK;AAAA,KAC7F,eAGL,CAAC,mBAAmB,iBAAiB,iBAAiB;AAExD,SAAO;AAAA;AAGF,MAAM,UAAU,gCAAgC;AACvD,IAAO,kBAAQ;",
6
+ "names": []
7
+ }
@@ -1,26 +1,22 @@
1
- import 'core-js/modules/esnext.async-iterator.filter.js';
2
- import 'core-js/modules/esnext.iterator.constructor.js';
3
- import 'core-js/modules/esnext.iterator.filter.js';
4
-
5
- /* eslint-disable complexity */
6
- const useHeaderCellConfig = _ref => {
7
- let {
8
- column,
9
- dragAndDropColumns,
10
- draggableProps,
11
- reduxHeader,
12
- isDragOverlay
13
- } = _ref;
1
+ import * as React from "react";
2
+ const useHeaderCellConfig = ({
3
+ column,
4
+ dragAndDropColumns,
5
+ draggableProps,
6
+ reduxHeader,
7
+ isDragOverlay
8
+ }) => {
14
9
  const hasFilter = !!(column.filter || column.Filter);
15
10
  const hasDnD = dragAndDropColumns && !column.disableDnD;
16
- const hasSortingCaret = column.canSort && typeof column.isSortedDesc === 'boolean';
11
+ const hasSortingCaret = column.canSort && typeof column.isSortedDesc === "boolean";
17
12
  const hasRightIcons = !isDragOverlay && (hasSortingCaret || hasFilter);
18
13
  const isDragging = draggableProps && draggableProps.isDragging;
19
- const shouldShowDnD = hasDnD && ((reduxHeader === null || reduxHeader === void 0 ? void 0 : reduxHeader.showDnDHandle) && draggableProps && !draggableProps.active || draggableProps && draggableProps.isDragging || isDragOverlay); // Column definition
20
-
21
- const hCols = ['auto'];
22
- if (hasRightIcons) hCols.push('min-content');
23
- if (shouldShowDnD) hCols.unshift('min-content');
14
+ const shouldShowDnD = hasDnD && (reduxHeader?.showDnDHandle && draggableProps && !draggableProps.active || draggableProps && draggableProps.isDragging || isDragOverlay);
15
+ const hCols = ["auto"];
16
+ if (hasRightIcons)
17
+ hCols.push("min-content");
18
+ if (shouldShowDnD)
19
+ hCols.unshift("min-content");
24
20
  return {
25
21
  hasFilter,
26
22
  hasDnD,
@@ -31,5 +27,7 @@ const useHeaderCellConfig = _ref => {
31
27
  shouldShowDnD
32
28
  };
33
29
  };
34
-
35
- export { useHeaderCellConfig };
30
+ export {
31
+ useHeaderCellConfig
32
+ };
33
+ //# sourceMappingURL=useHeaderCellConfig.js.map