@elliemae/ds-datagrids 2.2.0-next.4 → 2.3.0-alpha.2

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 (577) hide show
  1. package/cjs/DSDataGrid.js +395 -635
  2. package/cjs/DSDataGrid.js.map +7 -0
  3. package/cjs/DataGridImpl.js +103 -128
  4. package/cjs/DataGridImpl.js.map +7 -0
  5. package/cjs/PaginatedDataGrid.js +68 -68
  6. package/cjs/PaginatedDataGrid.js.map +7 -0
  7. package/cjs/blockNames.js +39 -11
  8. package/cjs/blockNames.js.map +7 -0
  9. package/cjs/columns/IconColumn.js +78 -62
  10. package/cjs/columns/IconColumn.js.map +7 -0
  11. package/cjs/columns/NumberColumn.js +35 -5
  12. package/cjs/columns/NumberColumn.js.map +7 -0
  13. package/cjs/components/BodyCell.js +83 -80
  14. package/cjs/components/BodyCell.js.map +7 -0
  15. package/cjs/components/BodyList.js +52 -52
  16. package/cjs/components/BodyList.js.map +7 -0
  17. package/cjs/components/ColumnVisibilityMenuOption.js +53 -31
  18. package/cjs/components/ColumnVisibilityMenuOption.js.map +7 -0
  19. package/cjs/components/ColumnsOptionsMenuSection.js +59 -44
  20. package/cjs/components/ColumnsOptionsMenuSection.js.map +7 -0
  21. package/cjs/components/EmptyState.js +81 -50
  22. package/cjs/components/EmptyState.js.map +7 -0
  23. package/cjs/components/HeaderCell.js +64 -58
  24. package/cjs/components/HeaderCell.js.map +7 -0
  25. package/cjs/components/List.js +41 -29
  26. package/cjs/components/List.js.map +7 -0
  27. package/cjs/components/ListItem.js +43 -36
  28. package/cjs/components/ListItem.js.map +7 -0
  29. package/cjs/components/NoResults.js +55 -51
  30. package/cjs/components/NoResults.js.map +7 -0
  31. package/cjs/components/RowsLoader.js +42 -22
  32. package/cjs/components/RowsLoader.js.map +7 -0
  33. package/cjs/components/Table.js +78 -87
  34. package/cjs/components/Table.js.map +7 -0
  35. package/cjs/components/TableBody.js +61 -60
  36. package/cjs/components/TableBody.js.map +7 -0
  37. package/cjs/components/TableHeader.js +47 -30
  38. package/cjs/components/TableHeader.js.map +7 -0
  39. package/cjs/components/footer/addOptionalFooterComponents.js +53 -43
  40. package/cjs/components/footer/addOptionalFooterComponents.js.map +7 -0
  41. package/cjs/components/header/PrimaryControls.js +49 -35
  42. package/cjs/components/header/PrimaryControls.js.map +7 -0
  43. package/cjs/components/header/addOptionalHeaderComponents.js +54 -43
  44. package/cjs/components/header/addOptionalHeaderComponents.js.map +7 -0
  45. package/cjs/components/index.js +43 -17
  46. package/cjs/components/index.js.map +7 -0
  47. package/cjs/components/renderers/defaultClassedRenderers.js +64 -57
  48. package/cjs/components/renderers/defaultClassedRenderers.js.map +7 -0
  49. package/cjs/components/renderers/index.js +44 -17
  50. package/cjs/components/renderers/index.js.map +7 -0
  51. package/cjs/components/renderers/renderRowsLoader.js +39 -18
  52. package/cjs/components/renderers/renderRowsLoader.js.map +7 -0
  53. package/cjs/components/tableContext.js +36 -13
  54. package/cjs/components/tableContext.js.map +7 -0
  55. package/cjs/defaultPlugins.js +44 -12
  56. package/cjs/defaultPlugins.js.map +7 -0
  57. package/cjs/index.js +72 -67
  58. package/cjs/index.js.map +7 -0
  59. package/cjs/plugins/body-header-scroll-sync/BodyHeaderScrollSyncPlugin.js +102 -114
  60. package/cjs/plugins/body-header-scroll-sync/BodyHeaderScrollSyncPlugin.js.map +7 -0
  61. package/cjs/plugins/body-header-scroll-sync/index.js +35 -9
  62. package/cjs/plugins/body-header-scroll-sync/index.js.map +7 -0
  63. package/cjs/plugins/column-dnd/DndColumnsPlugin.js +107 -86
  64. package/cjs/plugins/column-dnd/DndColumnsPlugin.js.map +7 -0
  65. package/cjs/plugins/column-dnd/decorateGridWithDndColumns.js +43 -27
  66. package/cjs/plugins/column-dnd/decorateGridWithDndColumns.js.map +7 -0
  67. package/cjs/plugins/column-dnd/index.js +35 -9
  68. package/cjs/plugins/column-dnd/index.js.map +7 -0
  69. package/cjs/plugins/column-sizing/ColumnSizingPlugin.js +59 -55
  70. package/cjs/plugins/column-sizing/ColumnSizingPlugin.js.map +7 -0
  71. package/cjs/plugins/column-sizing/columnMeasurerTransformer.js +48 -53
  72. package/cjs/plugins/column-sizing/columnMeasurerTransformer.js.map +7 -0
  73. package/cjs/plugins/column-sizing/ext-points/decorateColumn.js +40 -13
  74. package/cjs/plugins/column-sizing/ext-points/decorateColumn.js.map +7 -0
  75. package/cjs/plugins/column-sizing/ext-points/getTableProps.js +55 -54
  76. package/cjs/plugins/column-sizing/ext-points/getTableProps.js.map +7 -0
  77. package/cjs/plugins/column-sizing/getColumnNameFromProperty.js +37 -9
  78. package/cjs/plugins/column-sizing/getColumnNameFromProperty.js.map +7 -0
  79. package/cjs/plugins/column-sizing/index.js +35 -9
  80. package/cjs/plugins/column-sizing/index.js.map +7 -0
  81. package/cjs/plugins/column-sizing/useColumnSizeService.js +72 -86
  82. package/cjs/plugins/column-sizing/useColumnSizeService.js.map +7 -0
  83. package/cjs/plugins/column-sizing/useStylesheetHelpers.js +96 -199
  84. package/cjs/plugins/column-sizing/useStylesheetHelpers.js.map +7 -0
  85. package/cjs/plugins/column-sizing/utils.js +52 -29
  86. package/cjs/plugins/column-sizing/utils.js.map +7 -0
  87. package/cjs/plugins/custom-cell-renderer/CustomRendererPlugin.js +38 -16
  88. package/cjs/plugins/custom-cell-renderer/CustomRendererPlugin.js.map +7 -0
  89. package/cjs/plugins/custom-cell-renderer/addCustomRendererToCell.js +61 -56
  90. package/cjs/plugins/custom-cell-renderer/addCustomRendererToCell.js.map +7 -0
  91. package/cjs/plugins/custom-cell-renderer/getRendererComponent.js +58 -60
  92. package/cjs/plugins/custom-cell-renderer/getRendererComponent.js.map +7 -0
  93. package/cjs/plugins/custom-cell-renderer/index.js +35 -9
  94. package/cjs/plugins/custom-cell-renderer/index.js.map +7 -0
  95. package/cjs/plugins/editable/EditableComponents/ComboBox.js +50 -53
  96. package/cjs/plugins/editable/EditableComponents/ComboBox.js.map +7 -0
  97. package/cjs/plugins/editable/EditableComponents/TextBox.js +56 -76
  98. package/cjs/plugins/editable/EditableComponents/TextBox.js.map +7 -0
  99. package/cjs/plugins/editable/EditableComponents/index.js +37 -11
  100. package/cjs/plugins/editable/EditableComponents/index.js.map +7 -0
  101. package/cjs/plugins/editable/EditablePlugin.js +60 -75
  102. package/cjs/plugins/editable/EditablePlugin.js.map +7 -0
  103. package/cjs/plugins/editable/decorateEditable.js +61 -98
  104. package/cjs/plugins/editable/decorateEditable.js.map +7 -0
  105. package/cjs/plugins/editable/getEditorComponent.js +70 -76
  106. package/cjs/plugins/editable/getEditorComponent.js.map +7 -0
  107. package/cjs/plugins/editable/index.js +38 -13
  108. package/cjs/plugins/editable/index.js.map +7 -0
  109. package/cjs/plugins/expandable-grid/ExpandableColumn.js +112 -144
  110. package/cjs/plugins/expandable-grid/ExpandableColumn.js.map +7 -0
  111. package/cjs/plugins/expandable-grid/ExpandablePlugin.js +118 -180
  112. package/cjs/plugins/expandable-grid/ExpandablePlugin.js.map +7 -0
  113. package/cjs/plugins/expandable-grid/ExpandedRow.js +117 -139
  114. package/cjs/plugins/expandable-grid/ExpandedRow.js.map +7 -0
  115. package/cjs/plugins/expandable-grid/ExpandedRowExtra.js +54 -52
  116. package/cjs/plugins/expandable-grid/ExpandedRowExtra.js.map +7 -0
  117. package/cjs/plugins/expandable-grid/index.js +37 -11
  118. package/cjs/plugins/expandable-grid/index.js.map +7 -0
  119. package/cjs/plugins/expandable-grid/useExpandGridState.js +45 -31
  120. package/cjs/plugins/expandable-grid/useExpandGridState.js.map +7 -0
  121. package/cjs/plugins/export-data/ExportDataPlugin.js +82 -116
  122. package/cjs/plugins/export-data/ExportDataPlugin.js.map +7 -0
  123. package/cjs/plugins/export-data/index.js +35 -12
  124. package/cjs/plugins/export-data/index.js.map +7 -0
  125. package/cjs/plugins/filterable/FilterablePlugin.js +54 -55
  126. package/cjs/plugins/filterable/FilterablePlugin.js.map +7 -0
  127. package/cjs/plugins/filterable/addFilterToColumn.js +40 -28
  128. package/cjs/plugins/filterable/addFilterToColumn.js.map +7 -0
  129. package/cjs/plugins/filterable/components/FilterableHeader.js +119 -107
  130. package/cjs/plugins/filterable/components/FilterableHeader.js.map +7 -0
  131. package/cjs/plugins/filterable/components/filterable-menus/DateRangeFilterMenu.js +116 -116
  132. package/cjs/plugins/filterable/components/filterable-menus/DateRangeFilterMenu.js.map +7 -0
  133. package/cjs/plugins/filterable/components/filterable-menus/SingleDateFilterMenu.js +97 -73
  134. package/cjs/plugins/filterable/components/filterable-menus/SingleDateFilterMenu.js.map +7 -0
  135. package/cjs/plugins/filterable/components/filterable-menus/SingleRangeSwitcherMenu.js +138 -132
  136. package/cjs/plugins/filterable/components/filterable-menus/SingleRangeSwitcherMenu.js.map +7 -0
  137. package/cjs/plugins/filterable/components/filterable-menus/TextFilterMenu.js +115 -119
  138. package/cjs/plugins/filterable/components/filterable-menus/TextFilterMenu.js.map +7 -0
  139. package/cjs/plugins/filterable/components/filterable-menus/defaultDateFormat.js +35 -7
  140. package/cjs/plugins/filterable/components/filterable-menus/defaultDateFormat.js.map +7 -0
  141. package/cjs/plugins/filterable/components/filterable-menus/getFilterMenuByType.js +46 -15
  142. package/cjs/plugins/filterable/components/filterable-menus/getFilterMenuByType.js.map +7 -0
  143. package/cjs/plugins/filterable/filterableFormatter.js +61 -51
  144. package/cjs/plugins/filterable/filterableFormatter.js.map +7 -0
  145. package/cjs/plugins/filterable/filtering-helper/filterRowsByQuery.js +60 -55
  146. package/cjs/plugins/filterable/filtering-helper/filterRowsByQuery.js.map +7 -0
  147. package/cjs/plugins/filterable/filtering-helper/strategiesOperators.js +43 -22
  148. package/cjs/plugins/filterable/filtering-helper/strategiesOperators.js.map +7 -0
  149. package/cjs/plugins/filterable/helper.js +68 -79
  150. package/cjs/plugins/filterable/helper.js.map +7 -0
  151. package/cjs/plugins/filterable/index.js +35 -9
  152. package/cjs/plugins/filterable/index.js.map +7 -0
  153. package/cjs/plugins/filterable/useFilterableState.js +62 -66
  154. package/cjs/plugins/filterable/useFilterableState.js.map +7 -0
  155. package/cjs/plugins/grouping-by/GroupingByPlugin.js +40 -23
  156. package/cjs/plugins/grouping-by/GroupingByPlugin.js.map +7 -0
  157. package/cjs/plugins/grouping-grid/GroupingPlugin.js +86 -109
  158. package/cjs/plugins/grouping-grid/GroupingPlugin.js.map +7 -0
  159. package/cjs/plugins/grouping-grid/walkStrategy.js +46 -26
  160. package/cjs/plugins/grouping-grid/walkStrategy.js.map +7 -0
  161. package/cjs/plugins/index.js +68 -48
  162. package/cjs/plugins/index.js.map +7 -0
  163. package/cjs/plugins/infinite-scrolling/InfiniteScrollPlugin.js +64 -88
  164. package/cjs/plugins/infinite-scrolling/InfiniteScrollPlugin.js.map +7 -0
  165. package/cjs/plugins/infinite-scrolling/index.js +35 -9
  166. package/cjs/plugins/infinite-scrolling/index.js.map +7 -0
  167. package/cjs/plugins/pagination/PaginationPlugin.js +73 -90
  168. package/cjs/plugins/pagination/PaginationPlugin.js.map +7 -0
  169. package/cjs/plugins/pagination/components/Pagination.js +54 -35
  170. package/cjs/plugins/pagination/components/Pagination.js.map +7 -0
  171. package/cjs/plugins/pagination/components/Paginator.js +59 -44
  172. package/cjs/plugins/pagination/components/Paginator.js.map +7 -0
  173. package/cjs/plugins/pagination/components/PerPageDropdown.js +51 -63
  174. package/cjs/plugins/pagination/components/PerPageDropdown.js.map +7 -0
  175. package/cjs/plugins/pagination/helper.js +45 -24
  176. package/cjs/plugins/pagination/helper.js.map +7 -0
  177. package/cjs/plugins/pagination/index.js +35 -9
  178. package/cjs/plugins/pagination/index.js.map +7 -0
  179. package/cjs/plugins/pagination/usePaginationState.js +46 -38
  180. package/cjs/plugins/pagination/usePaginationState.js.map +7 -0
  181. package/cjs/plugins/resizable/ResizablePlugin.js +51 -55
  182. package/cjs/plugins/resizable/ResizablePlugin.js.map +7 -0
  183. package/cjs/plugins/resizable/decorateResizable.js +49 -53
  184. package/cjs/plugins/resizable/decorateResizable.js.map +7 -0
  185. package/cjs/plugins/resizable/index.js +35 -9
  186. package/cjs/plugins/resizable/index.js.map +7 -0
  187. package/cjs/plugins/resizable/useResizeHandle.js +56 -50
  188. package/cjs/plugins/resizable/useResizeHandle.js.map +7 -0
  189. package/cjs/plugins/resizable/utils.js +49 -28
  190. package/cjs/plugins/resizable/utils.js.map +7 -0
  191. package/cjs/plugins/row-dnd/DndRowsPlugin.js +103 -82
  192. package/cjs/plugins/row-dnd/DndRowsPlugin.js.map +7 -0
  193. package/cjs/plugins/row-dnd/index.js +35 -9
  194. package/cjs/plugins/row-dnd/index.js.map +7 -0
  195. package/cjs/plugins/selectable/SelectablePlugin.js +101 -134
  196. package/cjs/plugins/selectable/SelectablePlugin.js.map +7 -0
  197. package/cjs/plugins/selectable/addSelectableColumn.js +67 -68
  198. package/cjs/plugins/selectable/addSelectableColumn.js.map +7 -0
  199. package/cjs/plugins/selectable/helper.js +50 -39
  200. package/cjs/plugins/selectable/helper.js.map +7 -0
  201. package/cjs/plugins/selectable/index.js +35 -9
  202. package/cjs/plugins/selectable/index.js.map +7 -0
  203. package/cjs/plugins/selectable/selectableFormatter.js +83 -105
  204. package/cjs/plugins/selectable/selectableFormatter.js.map +7 -0
  205. package/cjs/plugins/selectable/useSelectableState.js +67 -94
  206. package/cjs/plugins/selectable/useSelectableState.js.map +7 -0
  207. package/cjs/plugins/sortable/SortablePlugin.js +62 -76
  208. package/cjs/plugins/sortable/SortablePlugin.js.map +7 -0
  209. package/cjs/plugins/sortable/checkIfSortable.js +37 -14
  210. package/cjs/plugins/sortable/checkIfSortable.js.map +7 -0
  211. package/cjs/plugins/sortable/index.js +35 -9
  212. package/cjs/plugins/sortable/index.js.map +7 -0
  213. package/cjs/plugins/sortable/sortHeaderFormatter.js +56 -50
  214. package/cjs/plugins/sortable/sortHeaderFormatter.js.map +7 -0
  215. package/cjs/plugins/sortable/sortTree.js +40 -47
  216. package/cjs/plugins/sortable/sortTree.js.map +7 -0
  217. package/cjs/plugins/sortable/sorter.js +140 -172
  218. package/cjs/plugins/sortable/sorter.js.map +7 -0
  219. package/cjs/plugins/sortable/useSortableState.js +53 -79
  220. package/cjs/plugins/sortable/useSortableState.js.map +7 -0
  221. package/cjs/plugins/toolbar/RowRenderer.js +75 -76
  222. package/cjs/plugins/toolbar/RowRenderer.js.map +7 -0
  223. package/cjs/plugins/toolbar/ToolbarPlugin.js +49 -33
  224. package/cjs/plugins/toolbar/ToolbarPlugin.js.map +7 -0
  225. package/cjs/plugins/toolbar/ToolbarTrigger.js +89 -70
  226. package/cjs/plugins/toolbar/ToolbarTrigger.js.map +7 -0
  227. package/cjs/plugins/toolbar/index.js +35 -9
  228. package/cjs/plugins/toolbar/index.js.map +7 -0
  229. package/cjs/plugins/virtualization/AutoHeightList.js +64 -52
  230. package/cjs/plugins/virtualization/AutoHeightList.js.map +7 -0
  231. package/cjs/plugins/virtualization/VirtualizationPlugin.js +86 -97
  232. package/cjs/plugins/virtualization/VirtualizationPlugin.js.map +7 -0
  233. package/cjs/plugins/virtualization/VirtualizedBody.js +139 -155
  234. package/cjs/plugins/virtualization/VirtualizedBody.js.map +7 -0
  235. package/cjs/plugins/virtualization/VirtualizedBodyRow.js +39 -17
  236. package/cjs/plugins/virtualization/VirtualizedBodyRow.js.map +7 -0
  237. package/cjs/plugins/virtualization/helper.js +35 -7
  238. package/cjs/plugins/virtualization/helper.js.map +7 -0
  239. package/cjs/plugins/virtualization/index.js +35 -9
  240. package/cjs/plugins/virtualization/index.js.map +7 -0
  241. package/cjs/renders/CellWithAddons.js +98 -50
  242. package/cjs/renders/CellWithAddons.js.map +7 -0
  243. package/cjs/renders/index.js +37 -11
  244. package/cjs/renders/index.js.map +7 -0
  245. package/cjs/renders/styled.js +78 -27
  246. package/cjs/renders/styled.js.map +7 -0
  247. package/cjs/rowSizes.js +44 -12
  248. package/cjs/rowSizes.js.map +7 -0
  249. package/cjs/utilities/DataGridUtilities.json +1315 -0
  250. package/cjs/utilities/getPluginsFromProps.js +67 -39
  251. package/cjs/utilities/getPluginsFromProps.js.map +7 -0
  252. package/cjs/utilities/getScrollbarSize.js +44 -25
  253. package/cjs/utilities/getScrollbarSize.js.map +7 -0
  254. package/cjs/utilities/normalizeData.js +44 -34
  255. package/cjs/utilities/normalizeData.js.map +7 -0
  256. package/esm/DSDataGrid.js +337 -597
  257. package/esm/DSDataGrid.js.map +7 -0
  258. package/esm/DataGridImpl.js +68 -113
  259. package/esm/DataGridImpl.js.map +7 -0
  260. package/esm/PaginatedDataGrid.js +39 -59
  261. package/esm/PaginatedDataGrid.js.map +7 -0
  262. package/esm/blockNames.js +10 -5
  263. package/esm/blockNames.js.map +7 -0
  264. package/esm/columns/IconColumn.js +49 -54
  265. package/esm/columns/IconColumn.js.map +7 -0
  266. package/esm/columns/NumberColumn.js +6 -3
  267. package/esm/columns/NumberColumn.js.map +7 -0
  268. package/esm/components/BodyCell.js +51 -68
  269. package/esm/components/BodyCell.js.map +7 -0
  270. package/esm/components/BodyList.js +23 -43
  271. package/esm/components/BodyList.js.map +7 -0
  272. package/esm/components/ColumnVisibilityMenuOption.js +24 -27
  273. package/esm/components/ColumnVisibilityMenuOption.js.map +7 -0
  274. package/esm/components/ColumnsOptionsMenuSection.js +30 -38
  275. package/esm/components/ColumnsOptionsMenuSection.js.map +7 -0
  276. package/esm/components/EmptyState.js +52 -40
  277. package/esm/components/EmptyState.js.map +7 -0
  278. package/esm/components/HeaderCell.js +33 -48
  279. package/esm/components/HeaderCell.js.map +7 -0
  280. package/esm/components/List.js +12 -23
  281. package/esm/components/List.js.map +7 -0
  282. package/esm/components/ListItem.js +14 -30
  283. package/esm/components/ListItem.js.map +7 -0
  284. package/esm/components/NoResults.js +26 -43
  285. package/esm/components/NoResults.js.map +7 -0
  286. package/esm/components/RowsLoader.js +13 -15
  287. package/esm/components/RowsLoader.js.map +7 -0
  288. package/esm/components/Table.js +45 -76
  289. package/esm/components/Table.js.map +7 -0
  290. package/esm/components/TableBody.js +32 -52
  291. package/esm/components/TableBody.js.map +7 -0
  292. package/esm/components/TableHeader.js +17 -23
  293. package/esm/components/TableHeader.js.map +7 -0
  294. package/esm/components/footer/addOptionalFooterComponents.js +24 -37
  295. package/esm/components/footer/addOptionalFooterComponents.js.map +7 -0
  296. package/esm/components/header/PrimaryControls.js +20 -29
  297. package/esm/components/header/PrimaryControls.js.map +7 -0
  298. package/esm/components/header/addOptionalHeaderComponents.js +25 -36
  299. package/esm/components/header/addOptionalHeaderComponents.js.map +7 -0
  300. package/esm/components/index.js +14 -5
  301. package/esm/components/index.js.map +7 -0
  302. package/esm/components/renderers/defaultClassedRenderers.js +41 -46
  303. package/esm/components/renderers/defaultClassedRenderers.js.map +7 -0
  304. package/esm/components/renderers/index.js +16 -5
  305. package/esm/components/renderers/index.js.map +7 -0
  306. package/esm/components/renderers/renderRowsLoader.js +10 -10
  307. package/esm/components/renderers/renderRowsLoader.js.map +7 -0
  308. package/esm/components/tableContext.js +7 -5
  309. package/esm/components/tableContext.js.map +7 -0
  310. package/esm/defaultPlugins.js +15 -8
  311. package/esm/defaultPlugins.js.map +7 -0
  312. package/esm/index.js +63 -27
  313. package/esm/index.js.map +7 -0
  314. package/esm/plugins/body-header-scroll-sync/BodyHeaderScrollSyncPlugin.js +71 -101
  315. package/esm/plugins/body-header-scroll-sync/BodyHeaderScrollSyncPlugin.js.map +7 -0
  316. package/esm/plugins/body-header-scroll-sync/index.js +6 -1
  317. package/esm/plugins/body-header-scroll-sync/index.js.map +7 -0
  318. package/esm/plugins/column-dnd/DndColumnsPlugin.js +69 -68
  319. package/esm/plugins/column-dnd/DndColumnsPlugin.js.map +7 -0
  320. package/esm/plugins/column-dnd/decorateGridWithDndColumns.js +16 -18
  321. package/esm/plugins/column-dnd/decorateGridWithDndColumns.js.map +7 -0
  322. package/esm/plugins/column-dnd/index.js +6 -1
  323. package/esm/plugins/column-dnd/index.js.map +7 -0
  324. package/esm/plugins/column-sizing/ColumnSizingPlugin.js +20 -37
  325. package/esm/plugins/column-sizing/ColumnSizingPlugin.js.map +7 -0
  326. package/esm/plugins/column-sizing/columnMeasurerTransformer.js +16 -42
  327. package/esm/plugins/column-sizing/columnMeasurerTransformer.js.map +7 -0
  328. package/esm/plugins/column-sizing/ext-points/decorateColumn.js +9 -7
  329. package/esm/plugins/column-sizing/ext-points/decorateColumn.js.map +7 -0
  330. package/esm/plugins/column-sizing/ext-points/getTableProps.js +23 -43
  331. package/esm/plugins/column-sizing/ext-points/getTableProps.js.map +7 -0
  332. package/esm/plugins/column-sizing/getColumnNameFromProperty.js +8 -7
  333. package/esm/plugins/column-sizing/getColumnNameFromProperty.js.map +7 -0
  334. package/esm/plugins/column-sizing/index.js +6 -1
  335. package/esm/plugins/column-sizing/index.js.map +7 -0
  336. package/esm/plugins/column-sizing/useColumnSizeService.js +34 -71
  337. package/esm/plugins/column-sizing/useColumnSizeService.js.map +7 -0
  338. package/esm/plugins/column-sizing/useStylesheetHelpers.js +64 -171
  339. package/esm/plugins/column-sizing/useStylesheetHelpers.js.map +7 -0
  340. package/esm/plugins/column-sizing/utils.js +23 -21
  341. package/esm/plugins/column-sizing/utils.js.map +7 -0
  342. package/esm/plugins/custom-cell-renderer/CustomRendererPlugin.js +8 -7
  343. package/esm/plugins/custom-cell-renderer/CustomRendererPlugin.js.map +7 -0
  344. package/esm/plugins/custom-cell-renderer/addCustomRendererToCell.js +28 -43
  345. package/esm/plugins/custom-cell-renderer/addCustomRendererToCell.js.map +7 -0
  346. package/esm/plugins/custom-cell-renderer/getRendererComponent.js +22 -44
  347. package/esm/plugins/custom-cell-renderer/getRendererComponent.js.map +7 -0
  348. package/esm/plugins/custom-cell-renderer/index.js +6 -1
  349. package/esm/plugins/custom-cell-renderer/index.js.map +7 -0
  350. package/esm/plugins/editable/EditableComponents/ComboBox.js +20 -46
  351. package/esm/plugins/editable/EditableComponents/ComboBox.js.map +7 -0
  352. package/esm/plugins/editable/EditableComponents/TextBox.js +26 -68
  353. package/esm/plugins/editable/EditableComponents/TextBox.js.map +7 -0
  354. package/esm/plugins/editable/EditableComponents/index.js +8 -2
  355. package/esm/plugins/editable/EditableComponents/index.js.map +7 -0
  356. package/esm/plugins/editable/EditablePlugin.js +27 -63
  357. package/esm/plugins/editable/EditablePlugin.js.map +7 -0
  358. package/esm/plugins/editable/decorateEditable.js +32 -68
  359. package/esm/plugins/editable/decorateEditable.js.map +7 -0
  360. package/esm/plugins/editable/getEditorComponent.js +39 -66
  361. package/esm/plugins/editable/getEditorComponent.js.map +7 -0
  362. package/esm/plugins/editable/index.js +9 -3
  363. package/esm/plugins/editable/index.js.map +7 -0
  364. package/esm/plugins/expandable-grid/ExpandableColumn.js +82 -133
  365. package/esm/plugins/expandable-grid/ExpandableColumn.js.map +7 -0
  366. package/esm/plugins/expandable-grid/ExpandablePlugin.js +81 -160
  367. package/esm/plugins/expandable-grid/ExpandablePlugin.js.map +7 -0
  368. package/esm/plugins/expandable-grid/ExpandedRow.js +86 -124
  369. package/esm/plugins/expandable-grid/ExpandedRow.js.map +7 -0
  370. package/esm/plugins/expandable-grid/ExpandedRowExtra.js +25 -44
  371. package/esm/plugins/expandable-grid/ExpandedRowExtra.js.map +7 -0
  372. package/esm/plugins/expandable-grid/index.js +8 -2
  373. package/esm/plugins/expandable-grid/index.js.map +7 -0
  374. package/esm/plugins/expandable-grid/useExpandGridState.js +14 -25
  375. package/esm/plugins/expandable-grid/useExpandGridState.js.map +7 -0
  376. package/esm/plugins/export-data/ExportDataPlugin.js +52 -103
  377. package/esm/plugins/export-data/ExportDataPlugin.js.map +7 -0
  378. package/esm/plugins/export-data/index.js +6 -1
  379. package/esm/plugins/export-data/index.js.map +7 -0
  380. package/esm/plugins/filterable/FilterablePlugin.js +22 -44
  381. package/esm/plugins/filterable/FilterablePlugin.js.map +7 -0
  382. package/esm/plugins/filterable/addFilterToColumn.js +11 -20
  383. package/esm/plugins/filterable/addFilterToColumn.js.map +7 -0
  384. package/esm/plugins/filterable/components/FilterableHeader.js +85 -95
  385. package/esm/plugins/filterable/components/FilterableHeader.js.map +7 -0
  386. package/esm/plugins/filterable/components/filterable-menus/DateRangeFilterMenu.js +83 -103
  387. package/esm/plugins/filterable/components/filterable-menus/DateRangeFilterMenu.js.map +7 -0
  388. package/esm/plugins/filterable/components/filterable-menus/SingleDateFilterMenu.js +68 -63
  389. package/esm/plugins/filterable/components/filterable-menus/SingleDateFilterMenu.js.map +7 -0
  390. package/esm/plugins/filterable/components/filterable-menus/SingleRangeSwitcherMenu.js +108 -116
  391. package/esm/plugins/filterable/components/filterable-menus/SingleRangeSwitcherMenu.js.map +7 -0
  392. package/esm/plugins/filterable/components/filterable-menus/TextFilterMenu.js +84 -106
  393. package/esm/plugins/filterable/components/filterable-menus/TextFilterMenu.js.map +7 -0
  394. package/esm/plugins/filterable/components/filterable-menus/defaultDateFormat.js +6 -3
  395. package/esm/plugins/filterable/components/filterable-menus/defaultDateFormat.js.map +7 -0
  396. package/esm/plugins/filterable/components/filterable-menus/getFilterMenuByType.js +16 -12
  397. package/esm/plugins/filterable/components/filterable-menus/getFilterMenuByType.js.map +7 -0
  398. package/esm/plugins/filterable/filterableFormatter.js +32 -45
  399. package/esm/plugins/filterable/filterableFormatter.js.map +7 -0
  400. package/esm/plugins/filterable/filtering-helper/filterRowsByQuery.js +29 -44
  401. package/esm/plugins/filterable/filtering-helper/filterRowsByQuery.js.map +7 -0
  402. package/esm/plugins/filterable/filtering-helper/strategiesOperators.js +11 -13
  403. package/esm/plugins/filterable/filtering-helper/strategiesOperators.js.map +7 -0
  404. package/esm/plugins/filterable/helper.js +42 -62
  405. package/esm/plugins/filterable/helper.js.map +7 -0
  406. package/esm/plugins/filterable/index.js +6 -1
  407. package/esm/plugins/filterable/index.js.map +7 -0
  408. package/esm/plugins/filterable/useFilterableState.js +33 -54
  409. package/esm/plugins/filterable/useFilterableState.js.map +7 -0
  410. package/esm/plugins/grouping-by/GroupingByPlugin.js +10 -14
  411. package/esm/plugins/grouping-by/GroupingByPlugin.js.map +7 -0
  412. package/esm/plugins/grouping-grid/GroupingPlugin.js +53 -94
  413. package/esm/plugins/grouping-grid/GroupingPlugin.js.map +7 -0
  414. package/esm/plugins/grouping-grid/walkStrategy.js +17 -22
  415. package/esm/plugins/grouping-grid/walkStrategy.js.map +7 -0
  416. package/esm/plugins/index.js +39 -19
  417. package/esm/plugins/index.js.map +7 -0
  418. package/esm/plugins/infinite-scrolling/InfiniteScrollPlugin.js +31 -74
  419. package/esm/plugins/infinite-scrolling/InfiniteScrollPlugin.js.map +7 -0
  420. package/esm/plugins/infinite-scrolling/index.js +6 -1
  421. package/esm/plugins/infinite-scrolling/index.js.map +7 -0
  422. package/esm/plugins/pagination/PaginationPlugin.js +42 -75
  423. package/esm/plugins/pagination/PaginationPlugin.js.map +7 -0
  424. package/esm/plugins/pagination/components/Pagination.js +25 -27
  425. package/esm/plugins/pagination/components/Pagination.js.map +7 -0
  426. package/esm/plugins/pagination/components/Paginator.js +29 -35
  427. package/esm/plugins/pagination/components/Paginator.js.map +7 -0
  428. package/esm/plugins/pagination/components/PerPageDropdown.js +22 -54
  429. package/esm/plugins/pagination/components/PerPageDropdown.js.map +7 -0
  430. package/esm/plugins/pagination/helper.js +16 -19
  431. package/esm/plugins/pagination/helper.js.map +7 -0
  432. package/esm/plugins/pagination/index.js +6 -1
  433. package/esm/plugins/pagination/index.js.map +7 -0
  434. package/esm/plugins/pagination/usePaginationState.js +15 -28
  435. package/esm/plugins/pagination/usePaginationState.js.map +7 -0
  436. package/esm/plugins/resizable/ResizablePlugin.js +20 -45
  437. package/esm/plugins/resizable/ResizablePlugin.js.map +7 -0
  438. package/esm/plugins/resizable/decorateResizable.js +19 -41
  439. package/esm/plugins/resizable/decorateResizable.js.map +7 -0
  440. package/esm/plugins/resizable/index.js +6 -1
  441. package/esm/plugins/resizable/index.js.map +7 -0
  442. package/esm/plugins/resizable/useResizeHandle.js +24 -39
  443. package/esm/plugins/resizable/useResizeHandle.js.map +7 -0
  444. package/esm/plugins/resizable/utils.js +20 -18
  445. package/esm/plugins/resizable/utils.js.map +7 -0
  446. package/esm/plugins/row-dnd/DndRowsPlugin.js +73 -71
  447. package/esm/plugins/row-dnd/DndRowsPlugin.js.map +7 -0
  448. package/esm/plugins/row-dnd/index.js +6 -1
  449. package/esm/plugins/row-dnd/index.js.map +7 -0
  450. package/esm/plugins/selectable/SelectablePlugin.js +64 -117
  451. package/esm/plugins/selectable/SelectablePlugin.js.map +7 -0
  452. package/esm/plugins/selectable/addSelectableColumn.js +39 -57
  453. package/esm/plugins/selectable/addSelectableColumn.js.map +7 -0
  454. package/esm/plugins/selectable/helper.js +19 -25
  455. package/esm/plugins/selectable/helper.js.map +7 -0
  456. package/esm/plugins/selectable/index.js +6 -1
  457. package/esm/plugins/selectable/index.js.map +7 -0
  458. package/esm/plugins/selectable/selectableFormatter.js +54 -97
  459. package/esm/plugins/selectable/selectableFormatter.js.map +7 -0
  460. package/esm/plugins/selectable/useSelectableState.js +34 -78
  461. package/esm/plugins/selectable/useSelectableState.js.map +7 -0
  462. package/esm/plugins/sortable/SortablePlugin.js +30 -43
  463. package/esm/plugins/sortable/SortablePlugin.js.map +7 -0
  464. package/esm/plugins/sortable/checkIfSortable.js +8 -9
  465. package/esm/plugins/sortable/checkIfSortable.js.map +7 -0
  466. package/esm/plugins/sortable/index.js +6 -1
  467. package/esm/plugins/sortable/index.js.map +7 -0
  468. package/esm/plugins/sortable/sortHeaderFormatter.js +27 -43
  469. package/esm/plugins/sortable/sortHeaderFormatter.js.map +7 -0
  470. package/esm/plugins/sortable/sortTree.js +13 -24
  471. package/esm/plugins/sortable/sortTree.js.map +7 -0
  472. package/esm/plugins/sortable/sorter.js +112 -163
  473. package/esm/plugins/sortable/sorter.js.map +7 -0
  474. package/esm/plugins/sortable/useSortableState.js +22 -49
  475. package/esm/plugins/sortable/useSortableState.js.map +7 -0
  476. package/esm/plugins/toolbar/RowRenderer.js +40 -61
  477. package/esm/plugins/toolbar/RowRenderer.js.map +7 -0
  478. package/esm/plugins/toolbar/ToolbarPlugin.js +19 -23
  479. package/esm/plugins/toolbar/ToolbarPlugin.js.map +7 -0
  480. package/esm/plugins/toolbar/ToolbarTrigger.js +59 -57
  481. package/esm/plugins/toolbar/ToolbarTrigger.js.map +7 -0
  482. package/esm/plugins/toolbar/index.js +6 -1
  483. package/esm/plugins/toolbar/index.js.map +7 -0
  484. package/esm/plugins/virtualization/AutoHeightList.js +30 -40
  485. package/esm/plugins/virtualization/AutoHeightList.js.map +7 -0
  486. package/esm/plugins/virtualization/VirtualizationPlugin.js +55 -84
  487. package/esm/plugins/virtualization/VirtualizationPlugin.js.map +7 -0
  488. package/esm/plugins/virtualization/VirtualizedBody.js +94 -132
  489. package/esm/plugins/virtualization/VirtualizedBody.js.map +7 -0
  490. package/esm/plugins/virtualization/VirtualizedBodyRow.js +10 -15
  491. package/esm/plugins/virtualization/VirtualizedBodyRow.js.map +7 -0
  492. package/esm/plugins/virtualization/helper.js +6 -3
  493. package/esm/plugins/virtualization/helper.js.map +7 -0
  494. package/esm/plugins/virtualization/index.js +6 -1
  495. package/esm/plugins/virtualization/index.js.map +7 -0
  496. package/esm/renders/CellWithAddons.js +69 -40
  497. package/esm/renders/CellWithAddons.js.map +7 -0
  498. package/esm/renders/index.js +8 -2
  499. package/esm/renders/index.js.map +7 -0
  500. package/esm/renders/styled.js +49 -16
  501. package/esm/renders/styled.js.map +7 -0
  502. package/esm/rowSizes.js +15 -6
  503. package/esm/rowSizes.js.map +7 -0
  504. package/esm/utilities/DataGridUtilities.json +1315 -0
  505. package/esm/utilities/getPluginsFromProps.js +25 -24
  506. package/esm/utilities/getPluginsFromProps.js.map +7 -0
  507. package/esm/utilities/getScrollbarSize.js +15 -21
  508. package/esm/utilities/getScrollbarSize.js.map +7 -0
  509. package/esm/utilities/normalizeData.js +15 -24
  510. package/esm/utilities/normalizeData.js.map +7 -0
  511. package/package.json +20 -20
  512. package/types/DSDataGrid.d.ts +2 -116
  513. package/types/DataGridImpl.d.ts +3 -2
  514. package/types/PaginatedDataGrid.d.ts +1 -2
  515. package/types/columns/IconColumn.d.ts +3 -2
  516. package/types/components/BodyCell.d.ts +13 -12
  517. package/types/components/ColumnVisibilityMenuOption.d.ts +2 -2
  518. package/types/components/ColumnsOptionsMenuSection.d.ts +1 -0
  519. package/types/components/HeaderCell.d.ts +10 -10
  520. package/types/components/NoResults.d.ts +2 -2
  521. package/types/components/RowsLoader.d.ts +2 -2
  522. package/types/components/Table.d.ts +6 -11
  523. package/types/components/TableBody.d.ts +3 -8
  524. package/types/components/TableHeader.d.ts +2 -1
  525. package/types/components/footer/addOptionalFooterComponents.d.ts +1 -0
  526. package/types/components/header/PrimaryControls.d.ts +1 -0
  527. package/types/components/header/addOptionalHeaderComponents.d.ts +1 -1
  528. package/types/components/renderers/index.d.ts +1 -1
  529. package/types/components/renderers/renderRowsLoader.d.ts +1 -1
  530. package/types/index.d.ts +7 -8
  531. package/types/plugins/body-header-scroll-sync/index.d.ts +1 -1
  532. package/types/plugins/column-dnd/index.d.ts +1 -1
  533. package/types/plugins/column-sizing/getColumnNameFromProperty.d.ts +2 -1
  534. package/types/plugins/column-sizing/index.d.ts +1 -1
  535. package/types/plugins/column-sizing/useColumnSizeService.d.ts +2 -1
  536. package/types/plugins/custom-cell-renderer/addCustomRendererToCell.d.ts +1 -0
  537. package/types/plugins/custom-cell-renderer/getRendererComponent.d.ts +1 -0
  538. package/types/plugins/custom-cell-renderer/index.d.ts +1 -1
  539. package/types/plugins/editable/EditableComponents/ComboBox.d.ts +3 -1
  540. package/types/plugins/editable/EditableComponents/TextBox.d.ts +3 -1
  541. package/types/plugins/editable/getEditorComponent.d.ts +1 -0
  542. package/types/plugins/editable/index.d.ts +2 -2
  543. package/types/plugins/expandable-grid/ExpandableColumn.d.ts +3 -2
  544. package/types/plugins/expandable-grid/ExpandedRow.d.ts +1 -0
  545. package/types/plugins/expandable-grid/ExpandedRowExtra.d.ts +1 -0
  546. package/types/plugins/expandable-grid/index.d.ts +2 -2
  547. package/types/plugins/export-data/index.d.ts +1 -1
  548. package/types/plugins/filterable/components/FilterableHeader.d.ts +15 -15
  549. package/types/plugins/filterable/components/filterable-menus/DateRangeFilterMenu.d.ts +1 -0
  550. package/types/plugins/filterable/components/filterable-menus/SingleDateFilterMenu.d.ts +1 -0
  551. package/types/plugins/filterable/components/filterable-menus/SingleRangeSwitcherMenu.d.ts +2 -1
  552. package/types/plugins/filterable/components/filterable-menus/TextFilterMenu.d.ts +1 -0
  553. package/types/plugins/filterable/components/filterable-menus/getFilterMenuByType.d.ts +2 -1
  554. package/types/plugins/filterable/filterableFormatter.d.ts +3 -2
  555. package/types/plugins/filterable/filtering-helper/filterRowsByQuery.d.ts +2 -1
  556. package/types/plugins/filterable/filtering-helper/strategiesOperators.d.ts +2 -2
  557. package/types/plugins/filterable/index.d.ts +1 -1
  558. package/types/plugins/index.d.ts +16 -16
  559. package/types/plugins/infinite-scrolling/index.d.ts +1 -1
  560. package/types/plugins/pagination/components/Paginator.d.ts +1 -0
  561. package/types/plugins/pagination/components/PerPageDropdown.d.ts +1 -0
  562. package/types/plugins/pagination/helper.d.ts +3 -2
  563. package/types/plugins/pagination/index.d.ts +1 -1
  564. package/types/plugins/resizable/index.d.ts +1 -1
  565. package/types/plugins/row-dnd/index.d.ts +1 -1
  566. package/types/plugins/selectable/index.d.ts +1 -1
  567. package/types/plugins/selectable/selectableFormatter.d.ts +1 -0
  568. package/types/plugins/sortable/index.d.ts +1 -1
  569. package/types/plugins/sortable/sortHeaderFormatter.d.ts +1 -0
  570. package/types/plugins/sortable/sortTree.d.ts +1 -0
  571. package/types/plugins/sortable/sorter.d.ts +1 -1
  572. package/types/plugins/toolbar/index.d.ts +1 -1
  573. package/types/plugins/virtualization/AutoHeightList.d.ts +1 -1
  574. package/types/plugins/virtualization/VirtualizedBody.d.ts +1 -0
  575. package/types/plugins/virtualization/VirtualizedBodyRow.d.ts +2 -2
  576. package/types/plugins/virtualization/index.d.ts +1 -1
  577. package/types/utilities/getPluginsFromProps.d.ts +2 -1
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/plugins/column-sizing/ColumnSizingPlugin.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable no-param-reassign */\n/* eslint-disable react-hooks/rules-of-hooks */\nimport { useRef } from 'react';\nimport { cx } from '@elliemae/ds-utilities';\nimport { createInstancePlugin } from '@elliemae/ds-shared/createDataInstance/createInstancePlugin';\nimport { useStylesheetHelpers } from './useStylesheetHelpers';\nimport { useColumnSizeService } from './useColumnSizeService';\nimport { getTableProps } from './ext-points/getTableProps';\nimport { decorateColumn } from './ext-points/decorateColumn';\n\nconst getHeaderRowProps = (rowProps, { rowsStylesheet }) => {\n rowProps.className = `${rowsStylesheet.getRowClassName()}-header`;\n return rowProps;\n};\n\nconst getRowProps = (rowProps, { rowsStylesheet }) => {\n rowProps.className = cx(rowProps.className, rowsStylesheet.getRowClassName());\n return rowProps;\n};\n\nconst decorateColumns = (columns, grid) => grid.columnsStylesheet.decorateColumns(columns, grid);\n\nconst decorateGrid = (grid) => {\n const isDragging = useRef(false);\n const tableRef = useRef();\n const resizedColumns = useRef({});\n const scrollbarWidth = useRef();\n const bodyWidth = useRef();\n const allColumnsHaveBeenFixed = useRef(false);\n const columnSizeService = useColumnSizeService(grid);\n const { columnsStylesheet, rowsStylesheet } = useStylesheetHelpers(grid);\n\n // row size side-effect\n const updateRowWidth = (width) => {\n const gridWidth = width || tableRef.current.offsetWidth;\n const columnsTotalSize = columnSizeService.computeColumnsTotalSize();\n\n if (columnsTotalSize > gridWidth + 5) {\n if (!allColumnsHaveBeenFixed.current && isDragging.current) {\n columnSizeService.setActualColumnsSizesFixed();\n allColumnsHaveBeenFixed.current = true;\n }\n rowsStylesheet.update(columnsTotalSize);\n } else {\n rowsStylesheet.update(undefined);\n }\n };\n\n return {\n isDragging,\n tableRef,\n bodyWidth,\n scrollbarWidth,\n columnSizeService,\n rowsStylesheet,\n columnsStylesheet,\n resizedColumns,\n updateRowWidth,\n };\n};\n\nexport const ColumnSizingPlugin = createInstancePlugin('column-sizing', {\n decorateGrid,\n decorateColumn,\n getRowProps,\n getHeaderRowProps,\n getTableProps,\n decorateColumns,\n});\n"],
5
+ "mappings": "AAAA;ACEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,MAAM,oBAAoB,CAAC,UAAU,EAAE,qBAAqB;AAC1D,WAAS,YAAY,GAAG,eAAe;AACvC,SAAO;AAAA;AAGT,MAAM,cAAc,CAAC,UAAU,EAAE,qBAAqB;AACpD,WAAS,YAAY,GAAG,SAAS,WAAW,eAAe;AAC3D,SAAO;AAAA;AAGT,MAAM,kBAAkB,CAAC,SAAS,SAAS,KAAK,kBAAkB,gBAAgB,SAAS;AAE3F,MAAM,eAAe,CAAC,SAAS;AAC7B,QAAM,aAAa,OAAO;AAC1B,QAAM,WAAW;AACjB,QAAM,iBAAiB,OAAO;AAC9B,QAAM,iBAAiB;AACvB,QAAM,YAAY;AAClB,QAAM,0BAA0B,OAAO;AACvC,QAAM,oBAAoB,qBAAqB;AAC/C,QAAM,EAAE,mBAAmB,mBAAmB,qBAAqB;AAGnE,QAAM,iBAAiB,CAAC,UAAU;AAChC,UAAM,YAAY,SAAS,SAAS,QAAQ;AAC5C,UAAM,mBAAmB,kBAAkB;AAE3C,QAAI,mBAAmB,YAAY,GAAG;AACpC,UAAI,CAAC,wBAAwB,WAAW,WAAW,SAAS;AAC1D,0BAAkB;AAClB,gCAAwB,UAAU;AAAA;AAEpC,qBAAe,OAAO;AAAA,WACjB;AACL,qBAAe,OAAO;AAAA;AAAA;AAI1B,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA;AAIG,MAAM,qBAAqB,qBAAqB,iBAAiB;AAAA,EACtE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;",
6
+ "names": []
7
+ }
@@ -1,56 +1,27 @@
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
- import 'core-js/modules/esnext.async-iterator.for-each.js';
5
- import 'core-js/modules/esnext.iterator.for-each.js';
6
- import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
7
- import { useRef, useLayoutEffect } from 'react';
8
- import { mergeRefs } from '@elliemae/ds-utilities';
9
-
10
- 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; }
11
-
12
- 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; }
13
- const columnMeasurerTransformer = columnSizeService => function (value, _ref) {
14
- let {
15
- column,
16
- grid
17
- } = _ref;
18
- let props = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
19
- const {
20
- registerColumn
21
- } = columnSizeService;
1
+ import * as React from "react";
2
+ import { useLayoutEffect, useRef } from "react";
3
+ import { mergeRefs } from "@elliemae/ds-utilities";
4
+ const columnMeasurerTransformer = (columnSizeService) => (value, { column, grid }, props = {}) => {
5
+ const { registerColumn } = columnSizeService;
22
6
  const cellRef = useRef();
23
7
  useLayoutEffect(() => {
8
+ const { columns, expandedToContentColumns } = columnSizeService;
24
9
  const {
25
- columns,
26
- expandedToContentColumns
27
- } = columnSizeService;
28
- const {
29
- props: {
30
- minColumnWidth
31
- },
10
+ props: { minColumnWidth },
32
11
  resizedColumns
33
12
  } = grid.getInstance();
34
-
35
13
  if (cellRef.current) {
36
- // FIX: merge
37
- // if (column.width && column.width !== 'string' && !initialUsedSpace[column.property]) {
38
- // increaseUsedSpace(getColumnWidthSize(column.width, minColumnWidth, column), column.property)
39
- // }
40
14
  if (column.expandWidthToContent && !expandedToContentColumns[column.uuid]) {
41
- // measure the content and reset to flex
42
15
  const originalWidth = cellRef.current.offsetWidth;
43
- cellRef.current.style.flex = 'initial';
44
- cellRef.current.style.minWidth = 'initial';
16
+ cellRef.current.style.flex = "initial";
17
+ cellRef.current.style.minWidth = "initial";
45
18
  const calcWidth = cellRef.current.offsetWidth + 20;
46
-
47
19
  if (originalWidth + 20 <= calcWidth) {
48
20
  resizedColumns.current[column.uuid] = calcWidth;
49
21
  columns[column.uuid].minWidth = calcWidth;
50
22
  } else {
51
23
  columns[column.uuid].minWidth = originalWidth;
52
24
  }
53
-
54
25
  expandedToContentColumns[column.uuid] = true;
55
26
  cellRef.current.style.minWidth = null;
56
27
  cellRef.current.style.flex = 1;
@@ -58,9 +29,12 @@ const columnMeasurerTransformer = columnSizeService => function (value, _ref) {
58
29
  }
59
30
  }
60
31
  });
61
- return _objectSpread(_objectSpread({}, props), {}, {
32
+ return {
33
+ ...props,
62
34
  innerRef: mergeRefs(cellRef, props.innerRef, registerColumn(column))
63
- });
35
+ };
36
+ };
37
+ export {
38
+ columnMeasurerTransformer
64
39
  };
65
-
66
- export { columnMeasurerTransformer };
40
+ //# sourceMappingURL=columnMeasurerTransformer.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/plugins/column-sizing/columnMeasurerTransformer.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { useLayoutEffect, useRef } from 'react';\nimport { mergeRefs } from '@elliemae/ds-utilities';\n\nexport const columnMeasurerTransformer =\n (columnSizeService) =>\n (value, { column, grid }, props = {}) => {\n const { registerColumn } = columnSizeService;\n const cellRef = useRef();\n\n useLayoutEffect(() => {\n const { columns, expandedToContentColumns } = columnSizeService;\n const {\n props: { minColumnWidth },\n resizedColumns,\n } = grid.getInstance();\n if (cellRef.current) {\n // FIX: merge\n // if (column.width && column.width !== 'string' && !initialUsedSpace[column.property]) {\n // increaseUsedSpace(getColumnWidthSize(column.width, minColumnWidth, column), column.property)\n // }\n if (column.expandWidthToContent && !expandedToContentColumns[column.uuid]) {\n // measure the content and reset to flex\n const originalWidth = cellRef.current.offsetWidth;\n cellRef.current.style.flex = 'initial';\n cellRef.current.style.minWidth = 'initial';\n const calcWidth = cellRef.current.offsetWidth + 20;\n if (originalWidth + 20 <= calcWidth) {\n resizedColumns.current[column.uuid] = calcWidth;\n columns[column.uuid].minWidth = calcWidth;\n } else {\n columns[column.uuid].minWidth = originalWidth;\n }\n expandedToContentColumns[column.uuid] = true;\n cellRef.current.style.minWidth = null;\n cellRef.current.style.flex = 1;\n column.node = cellRef.current;\n }\n }\n });\n\n return {\n ...props,\n innerRef: mergeRefs(cellRef, props.innerRef, registerColumn(column)),\n };\n };\n"],
5
+ "mappings": "AAAA;ACAA;AACA;AAEO,MAAM,4BACX,CAAC,sBACD,CAAC,OAAO,EAAE,QAAQ,QAAQ,QAAQ,OAAO;AACvC,QAAM,EAAE,mBAAmB;AAC3B,QAAM,UAAU;AAEhB,kBAAgB,MAAM;AACpB,UAAM,EAAE,SAAS,6BAA6B;AAC9C,UAAM;AAAA,MACJ,OAAO,EAAE;AAAA,MACT;AAAA,QACE,KAAK;AACT,QAAI,QAAQ,SAAS;AAKnB,UAAI,OAAO,wBAAwB,CAAC,yBAAyB,OAAO,OAAO;AAEzE,cAAM,gBAAgB,QAAQ,QAAQ;AACtC,gBAAQ,QAAQ,MAAM,OAAO;AAC7B,gBAAQ,QAAQ,MAAM,WAAW;AACjC,cAAM,YAAY,QAAQ,QAAQ,cAAc;AAChD,YAAI,gBAAgB,MAAM,WAAW;AACnC,yBAAe,QAAQ,OAAO,QAAQ;AACtC,kBAAQ,OAAO,MAAM,WAAW;AAAA,eAC3B;AACL,kBAAQ,OAAO,MAAM,WAAW;AAAA;AAElC,iCAAyB,OAAO,QAAQ;AACxC,gBAAQ,QAAQ,MAAM,WAAW;AACjC,gBAAQ,QAAQ,MAAM,OAAO;AAC7B,eAAO,OAAO,QAAQ;AAAA;AAAA;AAAA;AAK5B,SAAO;AAAA,OACF;AAAA,IACH,UAAU,UAAU,SAAS,MAAM,UAAU,eAAe;AAAA;AAAA;",
6
+ "names": []
7
+ }
@@ -1,13 +1,15 @@
1
- import { get, set } from '@elliemae/ds-utilities';
2
- import { columnMeasurerTransformer } from '../columnMeasurerTransformer.js';
3
-
1
+ import * as React from "react";
2
+ import { get, set } from "@elliemae/ds-utilities";
3
+ import { columnMeasurerTransformer } from "../columnMeasurerTransformer";
4
4
  function decorateColumn(column, grid, index) {
5
- const transformsPath = ['header', 'transforms'];
5
+ const transformsPath = ["header", "transforms"];
6
6
  const transforms = get(column, transformsPath, []);
7
- transforms.push(columnMeasurerTransformer(grid.columnSizeService));
7
+ transforms.push(columnMeasurerTransformer(grid.columnSizeService, grid));
8
8
  column.index = index;
9
9
  set(column, transformsPath, transforms);
10
10
  return column;
11
11
  }
12
-
13
- export { decorateColumn };
12
+ export {
13
+ decorateColumn
14
+ };
15
+ //# sourceMappingURL=decorateColumn.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/plugins/column-sizing/ext-points/decorateColumn.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { get, set } from '@elliemae/ds-utilities';\nimport { columnMeasurerTransformer } from '../columnMeasurerTransformer';\n\nexport function decorateColumn(column, grid, index) {\n const transformsPath = ['header', 'transforms'];\n const transforms = get(column, transformsPath, []);\n transforms.push(columnMeasurerTransformer(grid.columnSizeService, grid));\n column.index = index;\n set(column, transformsPath, transforms);\n\n return column;\n}\n"],
5
+ "mappings": "AAAA;ACAA;AACA;AAEO,wBAAwB,QAAQ,MAAM,OAAO;AAClD,QAAM,iBAAiB,CAAC,UAAU;AAClC,QAAM,aAAa,IAAI,QAAQ,gBAAgB;AAC/C,aAAW,KAAK,0BAA0B,KAAK,mBAAmB;AAClE,SAAO,QAAQ;AACf,MAAI,QAAQ,gBAAgB;AAE5B,SAAO;AAAA;",
6
+ "names": []
7
+ }
@@ -1,41 +1,18 @@
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
- import 'core-js/modules/esnext.async-iterator.for-each.js';
5
- import 'core-js/modules/esnext.iterator.for-each.js';
6
- import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
7
- import 'core-js/modules/web.dom-collections.iterator.js';
8
- import { useState, useEffect } from 'react';
9
- import { useResizeObserver, mergeRefs } from '@elliemae/ds-utilities';
10
- import { getScrollbarSizeFromHeaderAndBody } from '../utils.js';
11
-
12
- 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; }
13
-
14
- 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; }
15
- function getTableProps(tableProps, _ref) {
16
- let {
17
- refs,
18
- tableRef,
19
- bodyWidth,
20
- scrollbarWidth,
21
- isDragging,
22
- columnSizeService,
23
- updateRowWidth,
24
- columns
25
- } = _ref;
1
+ import * as React from "react";
2
+ import { useEffect, useState } from "react";
3
+ import { useResizeObserver, mergeRefs } from "@elliemae/ds-utilities";
4
+ import { getScrollbarSizeFromHeaderAndBody } from "../utils";
5
+ function getTableProps(tableProps, { refs, tableRef, bodyWidth, scrollbarWidth, isDragging, columnSizeService, updateRowWidth, columns }) {
26
6
  const [tableNode, tableRefCallback] = useState();
27
- useResizeObserver(_ref2 => {
28
- let {
29
- width
30
- } = _ref2;
31
- if (!refs.header.current) return;
32
- if (typeof scrollbarWidth.current !== 'number') scrollbarWidth.current = getScrollbarSizeFromHeaderAndBody(refs);
33
- if (typeof bodyWidth.current !== 'number') bodyWidth.current = refs.body.offsetWidth; // DataGrid: header with width 0 after redirect from details page (https://jira.elliemae.io/browse/PUI-2162)
34
- // if (scrollbarWidth.current !== 0 && width - scrollbarWidth.current > 0) {
35
- // refs.header.current.style.width = `${width - scrollbarWidth.current}px`
36
- // }
37
-
38
- if (isDragging.current) return;
7
+ useResizeObserver(({ width }) => {
8
+ if (!refs.header.current)
9
+ return;
10
+ if (typeof scrollbarWidth.current !== "number")
11
+ scrollbarWidth.current = getScrollbarSizeFromHeaderAndBody(refs, width);
12
+ if (typeof bodyWidth.current !== "number")
13
+ bodyWidth.current = refs.body.offsetWidth;
14
+ if (isDragging.current)
15
+ return;
39
16
  columnSizeService.updateMissingWidths(width);
40
17
  updateRowWidth(width);
41
18
  }, tableNode);
@@ -44,12 +21,15 @@ function getTableProps(tableProps, _ref) {
44
21
  columnSizeService.updateMissingWidths(tableNode.clientWidth);
45
22
  updateRowWidth(tableNode.clientWidth);
46
23
  }
47
-
48
- if (typeof bodyWidth.current !== 'number') bodyWidth.current = refs.body.clientWidth;
24
+ if (typeof bodyWidth.current !== "number")
25
+ bodyWidth.current = refs.body.clientWidth;
49
26
  }, [columns, tableNode]);
50
- return _objectSpread(_objectSpread({}, tableProps), {}, {
27
+ return {
28
+ ...tableProps,
51
29
  innerRef: mergeRefs(tableRefCallback, tableProps.innerRef, tableRef)
52
- });
30
+ };
53
31
  }
54
-
55
- export { getTableProps };
32
+ export {
33
+ getTableProps
34
+ };
35
+ //# sourceMappingURL=getTableProps.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/plugins/column-sizing/ext-points/getTableProps.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { useEffect, useState } from 'react';\nimport { useResizeObserver, mergeRefs } from '@elliemae/ds-utilities';\nimport { getScrollbarSizeFromHeaderAndBody } from '../utils';\n\nexport function getTableProps(\n tableProps,\n { refs, tableRef, bodyWidth, scrollbarWidth, isDragging, columnSizeService, updateRowWidth, columns },\n) {\n const [tableNode, tableRefCallback] = useState();\n\n useResizeObserver(({ width }) => {\n if (!refs.header.current) return;\n if (typeof scrollbarWidth.current !== 'number')\n scrollbarWidth.current = getScrollbarSizeFromHeaderAndBody(refs, width);\n if (typeof bodyWidth.current !== 'number') bodyWidth.current = refs.body.offsetWidth;\n // DataGrid: header with width 0 after redirect from details page (https://jira.elliemae.io/browse/PUI-2162)\n // if (scrollbarWidth.current !== 0 && width - scrollbarWidth.current > 0) {\n // refs.header.current.style.width = `${width - scrollbarWidth.current}px`\n // }\n\n if (isDragging.current) return;\n columnSizeService.updateMissingWidths(width);\n updateRowWidth(width);\n }, tableNode);\n\n useEffect(() => {\n if (tableNode) {\n columnSizeService.updateMissingWidths(tableNode.clientWidth);\n updateRowWidth(tableNode.clientWidth);\n }\n if (typeof bodyWidth.current !== 'number') bodyWidth.current = refs.body.clientWidth;\n }, [columns, tableNode]);\n\n return {\n ...tableProps,\n innerRef: mergeRefs(tableRefCallback, tableProps.innerRef, tableRef),\n };\n}\n"],
5
+ "mappings": "AAAA;ACAA;AACA;AACA;AAEO,uBACL,YACA,EAAE,MAAM,UAAU,WAAW,gBAAgB,YAAY,mBAAmB,gBAAgB,WAC5F;AACA,QAAM,CAAC,WAAW,oBAAoB;AAEtC,oBAAkB,CAAC,EAAE,YAAY;AAC/B,QAAI,CAAC,KAAK,OAAO;AAAS;AAC1B,QAAI,OAAO,eAAe,YAAY;AACpC,qBAAe,UAAU,kCAAkC,MAAM;AACnE,QAAI,OAAO,UAAU,YAAY;AAAU,gBAAU,UAAU,KAAK,KAAK;AAMzE,QAAI,WAAW;AAAS;AACxB,sBAAkB,oBAAoB;AACtC,mBAAe;AAAA,KACd;AAEH,YAAU,MAAM;AACd,QAAI,WAAW;AACb,wBAAkB,oBAAoB,UAAU;AAChD,qBAAe,UAAU;AAAA;AAE3B,QAAI,OAAO,UAAU,YAAY;AAAU,gBAAU,UAAU,KAAK,KAAK;AAAA,KACxE,CAAC,SAAS;AAEb,SAAO;AAAA,OACF;AAAA,IACH,UAAU,UAAU,kBAAkB,WAAW,UAAU;AAAA;AAAA;",
6
+ "names": []
7
+ }
@@ -1,7 +1,8 @@
1
- import 'core-js/modules/es.string.replace.js';
2
-
3
- function getColumnFromProperty(property) {
4
- return property && property.replace(/\./g, '-');
5
- }
6
-
7
- export { getColumnFromProperty as default };
1
+ import * as React from "react";
2
+ const getColumnNameFromProperty = (property) => property && property.replace(/\./g, "-");
3
+ var getColumnNameFromProperty_default = getColumnNameFromProperty;
4
+ export {
5
+ getColumnNameFromProperty_default as default,
6
+ getColumnNameFromProperty
7
+ };
8
+ //# sourceMappingURL=getColumnNameFromProperty.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/plugins/column-sizing/getColumnNameFromProperty.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export const getColumnNameFromProperty = (property) => property && property.replace(/\\./g, '-');\n\nexport default getColumnNameFromProperty;\n"],
5
+ "mappings": "AAAA;ACAO,MAAM,4BAA4B,CAAC,aAAa,YAAY,SAAS,QAAQ,OAAO;AAE3F,IAAO,oCAAQ;",
6
+ "names": []
7
+ }
@@ -1 +1,6 @@
1
- export { ColumnSizingPlugin } from './ColumnSizingPlugin.js';
1
+ import * as React from "react";
2
+ import { ColumnSizingPlugin } from "./ColumnSizingPlugin";
3
+ export {
4
+ ColumnSizingPlugin
5
+ };
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/plugins/column-sizing/index.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export { ColumnSizingPlugin } from './ColumnSizingPlugin';\n"],
5
+ "mappings": "AAAA;ACAA;",
6
+ "names": []
7
+ }
@@ -1,21 +1,7 @@
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.for-each.js';
4
- import 'core-js/modules/esnext.iterator.constructor.js';
5
- import 'core-js/modules/esnext.iterator.for-each.js';
6
- import 'core-js/modules/esnext.async-iterator.map.js';
7
- import 'core-js/modules/esnext.iterator.map.js';
8
- import 'core-js/modules/esnext.async-iterator.filter.js';
9
- import 'core-js/modules/esnext.iterator.filter.js';
10
- import 'core-js/modules/esnext.async-iterator.reduce.js';
11
- import 'core-js/modules/esnext.iterator.reduce.js';
12
- import { useRef, useState, useLayoutEffect } from 'react';
13
- import { getColumnWidthSize, getPercentageValue } from './utils.js';
14
-
15
- 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; }
16
-
17
- 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; }
18
- function useColumnSizeService(instance) {
1
+ import * as React from "react";
2
+ import { useRef, useState, useLayoutEffect } from "react";
3
+ import { getColumnWidthSize, getPercentageValue } from "./utils";
4
+ const useColumnSizeService = (instance) => {
19
5
  const columns = useRef({});
20
6
  const [expandableGridDetailWidth, setExpandableGridDetailWidth] = useState(0);
21
7
  const [expandableColumnWidth, setExpandableColumnWidth] = useState(0);
@@ -26,118 +12,91 @@ function useColumnSizeService(instance) {
26
12
  amount: 0,
27
13
  percentage: 0
28
14
  });
29
-
30
15
  const increaseUsedSpace = (space, columnUuid) => {
31
- if (typeof space === 'number') {
16
+ if (typeof space === "number") {
32
17
  initialUsedSpace.current.space += space;
33
- } else if (space && space.endsWith('%')) {
18
+ } else if (space && space.endsWith("%")) {
34
19
  initialUsedSpace.current.percentage += Number(space.slice(0, -1));
35
20
  }
36
-
37
21
  initialUsedSpace.current.amount += 1;
38
22
  initialUsedSpace.current[columnUuid] = true;
39
- }; // eslint-disable-next-line no-return-assign
40
-
41
-
42
- const registerColumn = column => node => columns.current[column.uuid] = _objectSpread(_objectSpread({}, column), {}, {
43
- node
44
- });
45
-
46
- const unregisterColumn = column => {
23
+ };
24
+ const registerColumn = (column) => (node) => columns.current[column.uuid] = { ...column, node };
25
+ const unregisterColumn = (column) => {
47
26
  delete columns.current[column.property];
48
27
  };
49
-
50
28
  const setActualColumnsSizesFixed = () => {
51
29
  const columnsArray = Object.values(columns.current);
52
- columnsArray.forEach(column => {
30
+ columnsArray.forEach((column) => {
53
31
  const columnOffsetWidth = column.node.offsetWidth;
54
- column.updateBodyHeaderWidth("".concat(columnOffsetWidth, "px"), "".concat(columnOffsetWidth, "px"));
32
+ column.updateBodyHeaderWidth(`${columnOffsetWidth}px`, `${columnOffsetWidth}px`);
55
33
  });
56
34
  };
57
-
58
- const updateMissingWidths = totalWidth => {
35
+ const updateMissingWidths = (totalWidth) => {
59
36
  if (totalWidth) {
60
37
  previousTotalWidth.current = totalWidth;
61
38
  }
62
-
63
39
  const gridWidth = previousTotalWidth.current - 4;
64
40
  const {
65
- props: {
66
- minColumnWidth,
67
- expandable
68
- },
41
+ props: { minColumnWidth, expandable },
69
42
  resizedColumns,
70
43
  decoratedColumns: columnDefinitions
71
44
  } = instance.getInstance();
72
- if (!initialUsedSpace.current) return;
73
- const columnUuids = columnDefinitions.map(c => c.uuid);
74
- const columnsArray = Object.values(columns.current).filter(c => columnUuids.includes(c.uuid)); // reset the initial space to the last columns
75
-
76
- initialUsedSpace.current = {
77
- space: 0,
78
- amount: 0,
79
- percentage: 0
80
- };
81
- columnsArray.forEach(column => {
82
- if (column.width && column.width !== 'string' && !initialUsedSpace[column.uuid]) {
45
+ if (!initialUsedSpace.current)
46
+ return;
47
+ const columnUuids = columnDefinitions.map((c) => c.uuid);
48
+ const columnsArray = Object.values(columns.current).filter((c) => columnUuids.includes(c.uuid));
49
+ initialUsedSpace.current = { space: 0, amount: 0, percentage: 0 };
50
+ columnsArray.forEach((column) => {
51
+ if (column.width && column.width !== "string" && !initialUsedSpace[column.uuid]) {
83
52
  increaseUsedSpace(getColumnWidthSize(column.width, minColumnWidth, column), column.uuid);
84
53
  }
85
54
  });
86
- const nextColumnDict = {}; // eslint-disable-next-line max-statements
87
-
88
- columnsArray.forEach(column => {
89
- if (typeof column.width === 'number') {
55
+ const nextColumnDict = {};
56
+ columnsArray.forEach((column) => {
57
+ if (typeof column.width === "number") {
90
58
  nextColumnDict[column.uuid] = column;
91
59
  return;
92
60
  }
93
-
94
61
  if (resizedColumns.current[column.uuid]) {
95
62
  nextColumnDict[column.uuid] = column;
96
63
  return;
97
64
  }
98
-
99
65
  const {
100
66
  space: usedSpace,
101
67
  amount: usedAmount,
102
68
  percentage: usedPercentage
103
69
  } = initialUsedSpace.current;
104
- const percentValue = getPercentageValue(column.width); // check if is percentage value
105
-
70
+ const percentValue = getPercentageValue(column.width);
106
71
  if (percentValue) {
107
72
  const pxs = gridWidth * percentValue / 100;
108
- const pxWidths = "".concat(getColumnWidthSize(pxs, minColumnWidth, column), "px");
73
+ const pxWidths = `${getColumnWidthSize(pxs, minColumnWidth, column)}px`;
109
74
  column.updateBodyHeaderWidth(pxWidths, pxWidths);
110
75
  columns.current[column.uuid].computedWidth = pxs;
111
-
112
76
  if (expandable && column.expandableColumn) {
113
77
  setExpandableColumnWidth(pxs);
114
78
  }
115
79
  } else {
116
- // otherwise the values are auto calculated from the total size
117
80
  const columnFixWidth = (gridWidth * (1 - usedPercentage / 100) - usedSpace) / (columnsArray.length - usedAmount);
118
81
  const percentWidth = columnFixWidth / gridWidth * 100;
119
82
  const pxs = gridWidth * percentWidth / 100;
120
83
  const actualWidthAfterChecks = getColumnWidthSize(pxs, minColumnWidth, column);
121
- column.updateBodyHeaderWidth("".concat(actualWidthAfterChecks, "px"), column.minWidth || minColumnWidth ? "".concat(column.minWidth || minColumnWidth, "px") : "".concat(pxs, "px"));
84
+ column.updateBodyHeaderWidth(`${actualWidthAfterChecks}px`, column.minWidth || minColumnWidth ? `${column.minWidth || minColumnWidth}px` : `${pxs}px`);
122
85
  resizedColumns.current[column.uuid] = actualWidthAfterChecks;
123
86
  columns.current[column.uuid].computedWidth = actualWidthAfterChecks;
124
87
  }
125
-
126
88
  nextColumnDict[column.uuid] = column;
127
89
  });
128
90
  columns.current = nextColumnDict;
129
91
  };
130
-
131
92
  useLayoutEffect(() => {
132
93
  const totalWidth = computeColumnsTotalSize();
133
94
  setExpandableGridDetailWidth(totalWidth - expandableColumnWidth);
134
- }, [expandableColumnWidth]); // todo: make this incremental
135
-
95
+ }, [expandableColumnWidth]);
136
96
  const computeColumnsTotalSize = () => {
137
97
  const columnsArray = Object.values(columns.current);
138
98
  return columnsArray.reduce((totalSize, column) => totalSize + column.node.offsetWidth, 0);
139
99
  };
140
-
141
100
  return {
142
101
  columns: columns.current,
143
102
  expandedToContentColumns: expandedToContentColumns.current,
@@ -151,6 +110,10 @@ function useColumnSizeService(instance) {
151
110
  expandableGridDetailWidth,
152
111
  expandableColumnWidth
153
112
  };
154
- }
155
-
156
- export { useColumnSizeService as default };
113
+ };
114
+ var useColumnSizeService_default = useColumnSizeService;
115
+ export {
116
+ useColumnSizeService_default as default,
117
+ useColumnSizeService
118
+ };
119
+ //# sourceMappingURL=useColumnSizeService.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/plugins/column-sizing/useColumnSizeService.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport { useRef, useState, useLayoutEffect } from 'react';\nimport { getColumnWidthSize, getPercentageValue } from './utils';\n\nexport const useColumnSizeService = (instance) => {\n const columns = useRef({});\n const [expandableGridDetailWidth, setExpandableGridDetailWidth] = useState(0);\n const [expandableColumnWidth, setExpandableColumnWidth] = useState(0);\n const expandedToContentColumns = useRef({});\n const previousTotalWidth = useRef(0);\n const initialUsedSpace = useRef({\n space: 0,\n amount: 0,\n percentage: 0,\n });\n\n const increaseUsedSpace = (space, columnUuid) => {\n if (typeof space === 'number') {\n initialUsedSpace.current.space += space;\n } else if (space && space.endsWith('%')) {\n initialUsedSpace.current.percentage += Number(space.slice(0, -1));\n }\n initialUsedSpace.current.amount += 1;\n initialUsedSpace.current[columnUuid] = true;\n };\n\n // eslint-disable-next-line no-return-assign\n const registerColumn = (column) => (node) =>\n (columns.current[column.uuid] = { ...column, node });\n\n const unregisterColumn = (column) => {\n delete columns.current[column.property];\n };\n\n const setActualColumnsSizesFixed = () => {\n const columnsArray = Object.values(columns.current);\n\n columnsArray.forEach((column) => {\n const columnOffsetWidth = column.node.offsetWidth;\n column.updateBodyHeaderWidth(\n `${columnOffsetWidth}px`,\n `${columnOffsetWidth}px`,\n );\n });\n };\n\n const updateMissingWidths = (totalWidth) => {\n if (totalWidth) {\n previousTotalWidth.current = totalWidth;\n }\n const gridWidth = previousTotalWidth.current - 4;\n const {\n props: { minColumnWidth, expandable },\n resizedColumns,\n decoratedColumns: columnDefinitions,\n } = instance.getInstance();\n if (!initialUsedSpace.current) return;\n const columnUuids = columnDefinitions.map((c) => c.uuid);\n const columnsArray = Object.values(columns.current).filter((c) =>\n columnUuids.includes(c.uuid),\n );\n // reset the initial space to the last columns\n initialUsedSpace.current = { space: 0, amount: 0, percentage: 0 };\n columnsArray.forEach((column) => {\n if (\n column.width &&\n column.width !== 'string' &&\n !initialUsedSpace[column.uuid]\n ) {\n increaseUsedSpace(\n getColumnWidthSize(column.width, minColumnWidth, column),\n column.uuid,\n );\n }\n });\n\n const nextColumnDict = {};\n // eslint-disable-next-line max-statements\n columnsArray.forEach((column) => {\n if (typeof column.width === 'number') {\n nextColumnDict[column.uuid] = column;\n return;\n }\n if (resizedColumns.current[column.uuid]) {\n nextColumnDict[column.uuid] = column;\n return;\n }\n const {\n space: usedSpace,\n amount: usedAmount,\n percentage: usedPercentage,\n } = initialUsedSpace.current;\n\n const percentValue = getPercentageValue(column.width);\n // check if is percentage value\n if (percentValue) {\n const pxs = (gridWidth * percentValue) / 100;\n const pxWidths = `${getColumnWidthSize(pxs, minColumnWidth, column)}px`;\n column.updateBodyHeaderWidth(pxWidths, pxWidths);\n columns.current[column.uuid].computedWidth = pxs;\n if (expandable && column.expandableColumn) {\n setExpandableColumnWidth(pxs);\n }\n } else {\n // otherwise the values are auto calculated from the total size\n const columnFixWidth =\n (gridWidth * (1 - usedPercentage / 100) - usedSpace) /\n (columnsArray.length - usedAmount);\n const percentWidth = (columnFixWidth / gridWidth) * 100;\n const pxs = (gridWidth * percentWidth) / 100;\n const actualWidthAfterChecks = getColumnWidthSize(\n pxs,\n minColumnWidth,\n column,\n );\n column.updateBodyHeaderWidth(\n `${actualWidthAfterChecks}px`,\n column.minWidth || minColumnWidth\n ? `${column.minWidth || minColumnWidth}px`\n : `${pxs}px`,\n );\n resizedColumns.current[column.uuid] = actualWidthAfterChecks;\n columns.current[column.uuid].computedWidth = actualWidthAfterChecks;\n }\n nextColumnDict[column.uuid] = column;\n });\n columns.current = nextColumnDict;\n };\n\n useLayoutEffect(() => {\n const totalWidth = computeColumnsTotalSize();\n setExpandableGridDetailWidth(totalWidth - expandableColumnWidth);\n }, [expandableColumnWidth]);\n\n // todo: make this incremental\n const computeColumnsTotalSize = () => {\n const columnsArray = Object.values(columns.current);\n return columnsArray.reduce(\n (totalSize, column) => totalSize + column.node.offsetWidth,\n 0,\n );\n };\n\n return {\n columns: columns.current,\n expandedToContentColumns: expandedToContentColumns.current,\n initialUsedSpace: initialUsedSpace.current,\n increaseUsedSpace,\n registerColumn,\n unregisterColumn,\n updateMissingWidths,\n computeColumnsTotalSize,\n setActualColumnsSizesFixed,\n expandableGridDetailWidth,\n expandableColumnWidth,\n };\n};\n\nexport default useColumnSizeService;\n"],
5
+ "mappings": "AAAA;ACCA;AACA;AAEO,MAAM,uBAAuB,CAAC,aAAa;AAChD,QAAM,UAAU,OAAO;AACvB,QAAM,CAAC,2BAA2B,gCAAgC,SAAS;AAC3E,QAAM,CAAC,uBAAuB,4BAA4B,SAAS;AACnE,QAAM,2BAA2B,OAAO;AACxC,QAAM,qBAAqB,OAAO;AAClC,QAAM,mBAAmB,OAAO;AAAA,IAC9B,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,YAAY;AAAA;AAGd,QAAM,oBAAoB,CAAC,OAAO,eAAe;AAC/C,QAAI,OAAO,UAAU,UAAU;AAC7B,uBAAiB,QAAQ,SAAS;AAAA,eACzB,SAAS,MAAM,SAAS,MAAM;AACvC,uBAAiB,QAAQ,cAAc,OAAO,MAAM,MAAM,GAAG;AAAA;AAE/D,qBAAiB,QAAQ,UAAU;AACnC,qBAAiB,QAAQ,cAAc;AAAA;AAIzC,QAAM,iBAAiB,CAAC,WAAW,CAAC,SACjC,QAAQ,QAAQ,OAAO,QAAQ,KAAK,QAAQ;AAE/C,QAAM,mBAAmB,CAAC,WAAW;AACnC,WAAO,QAAQ,QAAQ,OAAO;AAAA;AAGhC,QAAM,6BAA6B,MAAM;AACvC,UAAM,eAAe,OAAO,OAAO,QAAQ;AAE3C,iBAAa,QAAQ,CAAC,WAAW;AAC/B,YAAM,oBAAoB,OAAO,KAAK;AACtC,aAAO,sBACL,GAAG,uBACH,GAAG;AAAA;AAAA;AAKT,QAAM,sBAAsB,CAAC,eAAe;AAC1C,QAAI,YAAY;AACd,yBAAmB,UAAU;AAAA;AAE/B,UAAM,YAAY,mBAAmB,UAAU;AAC/C,UAAM;AAAA,MACJ,OAAO,EAAE,gBAAgB;AAAA,MACzB;AAAA,MACA,kBAAkB;AAAA,QAChB,SAAS;AACb,QAAI,CAAC,iBAAiB;AAAS;AAC/B,UAAM,cAAc,kBAAkB,IAAI,CAAC,MAAM,EAAE;AACnD,UAAM,eAAe,OAAO,OAAO,QAAQ,SAAS,OAAO,CAAC,MAC1D,YAAY,SAAS,EAAE;AAGzB,qBAAiB,UAAU,EAAE,OAAO,GAAG,QAAQ,GAAG,YAAY;AAC9D,iBAAa,QAAQ,CAAC,WAAW;AAC/B,UACE,OAAO,SACP,OAAO,UAAU,YACjB,CAAC,iBAAiB,OAAO,OACzB;AACA,0BACE,mBAAmB,OAAO,OAAO,gBAAgB,SACjD,OAAO;AAAA;AAAA;AAKb,UAAM,iBAAiB;AAEvB,iBAAa,QAAQ,CAAC,WAAW;AAC/B,UAAI,OAAO,OAAO,UAAU,UAAU;AACpC,uBAAe,OAAO,QAAQ;AAC9B;AAAA;AAEF,UAAI,eAAe,QAAQ,OAAO,OAAO;AACvC,uBAAe,OAAO,QAAQ;AAC9B;AAAA;AAEF,YAAM;AAAA,QACJ,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,YAAY;AAAA,UACV,iBAAiB;AAErB,YAAM,eAAe,mBAAmB,OAAO;AAE/C,UAAI,cAAc;AAChB,cAAM,MAAO,YAAY,eAAgB;AACzC,cAAM,WAAW,GAAG,mBAAmB,KAAK,gBAAgB;AAC5D,eAAO,sBAAsB,UAAU;AACvC,gBAAQ,QAAQ,OAAO,MAAM,gBAAgB;AAC7C,YAAI,cAAc,OAAO,kBAAkB;AACzC,mCAAyB;AAAA;AAAA,aAEtB;AAEL,cAAM,iBACH,aAAa,KAAI,iBAAiB,OAAO,aACzC,cAAa,SAAS;AACzB,cAAM,eAAgB,iBAAiB,YAAa;AACpD,cAAM,MAAO,YAAY,eAAgB;AACzC,cAAM,yBAAyB,mBAC7B,KACA,gBACA;AAEF,eAAO,sBACL,GAAG,4BACH,OAAO,YAAY,iBACf,GAAG,OAAO,YAAY,qBACtB,GAAG;AAET,uBAAe,QAAQ,OAAO,QAAQ;AACtC,gBAAQ,QAAQ,OAAO,MAAM,gBAAgB;AAAA;AAE/C,qBAAe,OAAO,QAAQ;AAAA;AAEhC,YAAQ,UAAU;AAAA;AAGpB,kBAAgB,MAAM;AACpB,UAAM,aAAa;AACnB,iCAA6B,aAAa;AAAA,KACzC,CAAC;AAGJ,QAAM,0BAA0B,MAAM;AACpC,UAAM,eAAe,OAAO,OAAO,QAAQ;AAC3C,WAAO,aAAa,OAClB,CAAC,WAAW,WAAW,YAAY,OAAO,KAAK,aAC/C;AAAA;AAIJ,SAAO;AAAA,IACL,SAAS,QAAQ;AAAA,IACjB,0BAA0B,yBAAyB;AAAA,IACnD,kBAAkB,iBAAiB;AAAA,IACnC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA;AAIJ,IAAO,+BAAQ;",
6
+ "names": []
7
+ }