@elliemae/ds-datagrids 3.16.0 → 3.16.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (468) hide show
  1. package/dist/cjs/DSDataGrid.js +145 -2
  2. package/dist/cjs/DSDataGrid.js.map +2 -2
  3. package/dist/cjs/DataGridImpl.js +15 -11
  4. package/dist/cjs/DataGridImpl.js.map +2 -2
  5. package/dist/cjs/PaginatedDataGrid.js +13 -9
  6. package/dist/cjs/PaginatedDataGrid.js.map +2 -2
  7. package/dist/cjs/blockNames.js +4 -0
  8. package/dist/cjs/blockNames.js.map +1 -1
  9. package/dist/cjs/columns/IconColumn.js +4 -0
  10. package/dist/cjs/columns/IconColumn.js.map +1 -1
  11. package/dist/cjs/columns/NumberColumn.js +4 -0
  12. package/dist/cjs/columns/NumberColumn.js.map +1 -1
  13. package/dist/cjs/components/BodyCell.js +6 -0
  14. package/dist/cjs/components/BodyCell.js.map +1 -1
  15. package/dist/cjs/components/BodyList.js +7 -5
  16. package/dist/cjs/components/BodyList.js.map +2 -2
  17. package/dist/cjs/components/ColumnVisibilityMenuOption.js +5 -6
  18. package/dist/cjs/components/ColumnVisibilityMenuOption.js.map +2 -2
  19. package/dist/cjs/components/ColumnsOptionsMenuSection.js +7 -11
  20. package/dist/cjs/components/ColumnsOptionsMenuSection.js.map +2 -2
  21. package/dist/cjs/components/EmptyState.js +9 -6
  22. package/dist/cjs/components/EmptyState.js.map +3 -3
  23. package/dist/cjs/components/HeaderCell.js +4 -0
  24. package/dist/cjs/components/HeaderCell.js.map +1 -1
  25. package/dist/cjs/components/List.js +6 -2
  26. package/dist/cjs/components/List.js.map +2 -2
  27. package/dist/cjs/components/ListItem.js +7 -6
  28. package/dist/cjs/components/ListItem.js.map +2 -2
  29. package/dist/cjs/components/NoResults.js +8 -10
  30. package/dist/cjs/components/NoResults.js.map +2 -2
  31. package/dist/cjs/components/RowsLoader.js +5 -1
  32. package/dist/cjs/components/RowsLoader.js.map +2 -2
  33. package/dist/cjs/components/Table.js +9 -5
  34. package/dist/cjs/components/Table.js.map +2 -2
  35. package/dist/cjs/components/TableBody.js +6 -7
  36. package/dist/cjs/components/TableBody.js.map +2 -2
  37. package/dist/cjs/components/TableHeader.js +5 -1
  38. package/dist/cjs/components/TableHeader.js.map +2 -2
  39. package/dist/cjs/components/footer/addOptionalFooterComponents.js +5 -1
  40. package/dist/cjs/components/footer/addOptionalFooterComponents.js.map +2 -2
  41. package/dist/cjs/components/header/PrimaryControls.js +4 -0
  42. package/dist/cjs/components/header/PrimaryControls.js.map +1 -1
  43. package/dist/cjs/components/header/addOptionalHeaderComponents.js +4 -0
  44. package/dist/cjs/components/header/addOptionalHeaderComponents.js.map +1 -1
  45. package/dist/cjs/components/index.js +9 -5
  46. package/dist/cjs/components/index.js.map +2 -2
  47. package/dist/cjs/components/renderers/defaultClassedRenderers.js +20 -36
  48. package/dist/cjs/components/renderers/defaultClassedRenderers.js.map +2 -2
  49. package/dist/cjs/components/renderers/index.js +6 -2
  50. package/dist/cjs/components/renderers/index.js.map +2 -2
  51. package/dist/cjs/components/renderers/renderRowsLoader.js +6 -4
  52. package/dist/cjs/components/renderers/renderRowsLoader.js.map +2 -2
  53. package/dist/cjs/components/tableContext.js +4 -0
  54. package/dist/cjs/components/tableContext.js.map +1 -1
  55. package/dist/cjs/defaultPlugins.js +9 -10
  56. package/dist/cjs/defaultPlugins.js.map +2 -2
  57. package/dist/cjs/index.js +13 -9
  58. package/dist/cjs/index.js.map +2 -2
  59. package/dist/cjs/package.json +7 -0
  60. package/dist/cjs/plugins/body-header-scroll-sync/BodyHeaderScrollSyncPlugin.js +26 -18
  61. package/dist/cjs/plugins/body-header-scroll-sync/BodyHeaderScrollSyncPlugin.js.map +2 -2
  62. package/dist/cjs/plugins/body-header-scroll-sync/index.js +5 -1
  63. package/dist/cjs/plugins/body-header-scroll-sync/index.js.map +2 -2
  64. package/dist/cjs/plugins/column-dnd/DndColumnsPlugin.js +5 -1
  65. package/dist/cjs/plugins/column-dnd/DndColumnsPlugin.js.map +2 -2
  66. package/dist/cjs/plugins/column-dnd/decorateGridWithDndColumns.js +4 -0
  67. package/dist/cjs/plugins/column-dnd/decorateGridWithDndColumns.js.map +1 -1
  68. package/dist/cjs/plugins/column-dnd/index.js +5 -1
  69. package/dist/cjs/plugins/column-dnd/index.js.map +2 -2
  70. package/dist/cjs/plugins/column-sizing/ColumnSizingPlugin.js +8 -4
  71. package/dist/cjs/plugins/column-sizing/ColumnSizingPlugin.js.map +2 -2
  72. package/dist/cjs/plugins/column-sizing/columnMeasurerTransformer.js +4 -0
  73. package/dist/cjs/plugins/column-sizing/columnMeasurerTransformer.js.map +1 -1
  74. package/dist/cjs/plugins/column-sizing/ext-points/decorateColumn.js +5 -1
  75. package/dist/cjs/plugins/column-sizing/ext-points/decorateColumn.js.map +2 -2
  76. package/dist/cjs/plugins/column-sizing/ext-points/getTableProps.js +5 -1
  77. package/dist/cjs/plugins/column-sizing/ext-points/getTableProps.js.map +2 -2
  78. package/dist/cjs/plugins/column-sizing/getColumnNameFromProperty.js +4 -0
  79. package/dist/cjs/plugins/column-sizing/getColumnNameFromProperty.js.map +1 -1
  80. package/dist/cjs/plugins/column-sizing/index.js +5 -1
  81. package/dist/cjs/plugins/column-sizing/index.js.map +2 -2
  82. package/dist/cjs/plugins/column-sizing/useColumnSizeService.js +11 -26
  83. package/dist/cjs/plugins/column-sizing/useColumnSizeService.js.map +2 -2
  84. package/dist/cjs/plugins/column-sizing/useStylesheetHelpers.js +7 -2
  85. package/dist/cjs/plugins/column-sizing/useStylesheetHelpers.js.map +2 -2
  86. package/dist/cjs/plugins/column-sizing/utils.js +4 -0
  87. package/dist/cjs/plugins/column-sizing/utils.js.map +1 -1
  88. package/dist/cjs/plugins/custom-cell-renderer/CustomRendererPlugin.js +5 -1
  89. package/dist/cjs/plugins/custom-cell-renderer/CustomRendererPlugin.js.map +2 -2
  90. package/dist/cjs/plugins/custom-cell-renderer/addCustomRendererToCell.js +6 -1
  91. package/dist/cjs/plugins/custom-cell-renderer/addCustomRendererToCell.js.map +2 -2
  92. package/dist/cjs/plugins/custom-cell-renderer/getRendererComponent.js +5 -1
  93. package/dist/cjs/plugins/custom-cell-renderer/getRendererComponent.js.map +2 -2
  94. package/dist/cjs/plugins/custom-cell-renderer/index.js +5 -1
  95. package/dist/cjs/plugins/custom-cell-renderer/index.js.map +2 -2
  96. package/dist/cjs/plugins/editable/EditableComponents/ComboBox.js +4 -0
  97. package/dist/cjs/plugins/editable/EditableComponents/ComboBox.js.map +2 -2
  98. package/dist/cjs/plugins/editable/EditableComponents/TextBox.js +4 -0
  99. package/dist/cjs/plugins/editable/EditableComponents/TextBox.js.map +2 -2
  100. package/dist/cjs/plugins/editable/EditableComponents/index.js +6 -2
  101. package/dist/cjs/plugins/editable/EditableComponents/index.js.map +2 -2
  102. package/dist/cjs/plugins/editable/EditablePlugin.js +5 -1
  103. package/dist/cjs/plugins/editable/EditablePlugin.js.map +2 -2
  104. package/dist/cjs/plugins/editable/decorateEditable.js +5 -1
  105. package/dist/cjs/plugins/editable/decorateEditable.js.map +2 -2
  106. package/dist/cjs/plugins/editable/getEditorComponent.js +7 -16
  107. package/dist/cjs/plugins/editable/getEditorComponent.js.map +2 -2
  108. package/dist/cjs/plugins/editable/index.js +6 -2
  109. package/dist/cjs/plugins/editable/index.js.map +2 -2
  110. package/dist/cjs/plugins/expandable-grid/ExpandableColumn.js +27 -25
  111. package/dist/cjs/plugins/expandable-grid/ExpandableColumn.js.map +2 -2
  112. package/dist/cjs/plugins/expandable-grid/ExpandablePlugin.js +9 -5
  113. package/dist/cjs/plugins/expandable-grid/ExpandablePlugin.js.map +2 -2
  114. package/dist/cjs/plugins/expandable-grid/ExpandedRow.js +10 -6
  115. package/dist/cjs/plugins/expandable-grid/ExpandedRow.js.map +2 -2
  116. package/dist/cjs/plugins/expandable-grid/ExpandedRowExtra.js +16 -8
  117. package/dist/cjs/plugins/expandable-grid/ExpandedRowExtra.js.map +2 -2
  118. package/dist/cjs/plugins/expandable-grid/index.js +6 -2
  119. package/dist/cjs/plugins/expandable-grid/index.js.map +2 -2
  120. package/dist/cjs/plugins/expandable-grid/useExpandGridState.js +4 -0
  121. package/dist/cjs/plugins/expandable-grid/useExpandGridState.js.map +2 -2
  122. package/dist/cjs/plugins/export-data/ExportDataPlugin.js +4 -0
  123. package/dist/cjs/plugins/export-data/ExportDataPlugin.js.map +1 -1
  124. package/dist/cjs/plugins/export-data/index.js +5 -1
  125. package/dist/cjs/plugins/export-data/index.js.map +2 -2
  126. package/dist/cjs/plugins/filterable/FilterablePlugin.js +7 -3
  127. package/dist/cjs/plugins/filterable/FilterablePlugin.js.map +2 -2
  128. package/dist/cjs/plugins/filterable/addFilterToColumn.js +5 -1
  129. package/dist/cjs/plugins/filterable/addFilterToColumn.js.map +2 -2
  130. package/dist/cjs/plugins/filterable/components/FilterableHeader.js +5 -1
  131. package/dist/cjs/plugins/filterable/components/FilterableHeader.js.map +2 -2
  132. package/dist/cjs/plugins/filterable/components/filterable-menus/DateRangeFilterMenu.js +50 -47
  133. package/dist/cjs/plugins/filterable/components/filterable-menus/DateRangeFilterMenu.js.map +2 -2
  134. package/dist/cjs/plugins/filterable/components/filterable-menus/SingleDateFilterMenu.js +50 -48
  135. package/dist/cjs/plugins/filterable/components/filterable-menus/SingleDateFilterMenu.js.map +2 -2
  136. package/dist/cjs/plugins/filterable/components/filterable-menus/SingleRangeSwitcherMenu.js +48 -45
  137. package/dist/cjs/plugins/filterable/components/filterable-menus/SingleRangeSwitcherMenu.js.map +2 -2
  138. package/dist/cjs/plugins/filterable/components/filterable-menus/TextFilterMenu.js +7 -3
  139. package/dist/cjs/plugins/filterable/components/filterable-menus/TextFilterMenu.js.map +2 -2
  140. package/dist/cjs/plugins/filterable/components/filterable-menus/defaultDateFormat.js +4 -0
  141. package/dist/cjs/plugins/filterable/components/filterable-menus/defaultDateFormat.js.map +1 -1
  142. package/dist/cjs/plugins/filterable/components/filterable-menus/getFilterMenuByType.js +9 -7
  143. package/dist/cjs/plugins/filterable/components/filterable-menus/getFilterMenuByType.js.map +2 -2
  144. package/dist/cjs/plugins/filterable/filterableFormatter.js +33 -37
  145. package/dist/cjs/plugins/filterable/filterableFormatter.js.map +2 -2
  146. package/dist/cjs/plugins/filterable/filtering-helper/filterRowsByQuery.js +6 -4
  147. package/dist/cjs/plugins/filterable/filtering-helper/filterRowsByQuery.js.map +2 -2
  148. package/dist/cjs/plugins/filterable/filtering-helper/strategiesOperators.js +4 -0
  149. package/dist/cjs/plugins/filterable/filtering-helper/strategiesOperators.js.map +2 -2
  150. package/dist/cjs/plugins/filterable/helper.js +4 -0
  151. package/dist/cjs/plugins/filterable/helper.js.map +2 -2
  152. package/dist/cjs/plugins/filterable/index.js +5 -1
  153. package/dist/cjs/plugins/filterable/index.js.map +2 -2
  154. package/dist/cjs/plugins/filterable/useFilterableState.js +7 -7
  155. package/dist/cjs/plugins/filterable/useFilterableState.js.map +2 -2
  156. package/dist/cjs/plugins/grouping-by/GroupingByPlugin.js +4 -0
  157. package/dist/cjs/plugins/grouping-by/GroupingByPlugin.js.map +1 -1
  158. package/dist/cjs/plugins/grouping-grid/GroupingPlugin.js +19 -11
  159. package/dist/cjs/plugins/grouping-grid/GroupingPlugin.js.map +2 -2
  160. package/dist/cjs/plugins/grouping-grid/walkStrategy.js +4 -0
  161. package/dist/cjs/plugins/grouping-grid/walkStrategy.js.map +2 -2
  162. package/dist/cjs/plugins/index.js +20 -16
  163. package/dist/cjs/plugins/index.js.map +2 -2
  164. package/dist/cjs/plugins/infinite-scrolling/InfiniteScrollPlugin.js +4 -0
  165. package/dist/cjs/plugins/infinite-scrolling/InfiniteScrollPlugin.js.map +1 -1
  166. package/dist/cjs/plugins/infinite-scrolling/index.js +5 -1
  167. package/dist/cjs/plugins/infinite-scrolling/index.js.map +2 -2
  168. package/dist/cjs/plugins/pagination/PaginationPlugin.js +9 -4
  169. package/dist/cjs/plugins/pagination/PaginationPlugin.js.map +2 -2
  170. package/dist/cjs/plugins/pagination/components/Pagination.js +9 -24
  171. package/dist/cjs/plugins/pagination/components/Pagination.js.map +2 -2
  172. package/dist/cjs/plugins/pagination/components/Paginator.js +15 -10
  173. package/dist/cjs/plugins/pagination/components/Paginator.js.map +2 -2
  174. package/dist/cjs/plugins/pagination/components/PerPageDropdown.js +6 -2
  175. package/dist/cjs/plugins/pagination/components/PerPageDropdown.js.map +2 -2
  176. package/dist/cjs/plugins/pagination/helper.js +4 -0
  177. package/dist/cjs/plugins/pagination/helper.js.map +2 -2
  178. package/dist/cjs/plugins/pagination/index.js +5 -1
  179. package/dist/cjs/plugins/pagination/index.js.map +2 -2
  180. package/dist/cjs/plugins/pagination/usePaginationState.js +5 -1
  181. package/dist/cjs/plugins/pagination/usePaginationState.js.map +2 -2
  182. package/dist/cjs/plugins/resizable/ResizablePlugin.js +5 -1
  183. package/dist/cjs/plugins/resizable/ResizablePlugin.js.map +2 -2
  184. package/dist/cjs/plugins/resizable/decorateResizable.js +8 -2
  185. package/dist/cjs/plugins/resizable/decorateResizable.js.map +2 -2
  186. package/dist/cjs/plugins/resizable/index.js +5 -1
  187. package/dist/cjs/plugins/resizable/index.js.map +2 -2
  188. package/dist/cjs/plugins/resizable/useResizeHandle.js +10 -13
  189. package/dist/cjs/plugins/resizable/useResizeHandle.js.map +2 -2
  190. package/dist/cjs/plugins/resizable/utils.js +4 -0
  191. package/dist/cjs/plugins/resizable/utils.js.map +1 -1
  192. package/dist/cjs/plugins/row-dnd/DndRowsPlugin.js +5 -0
  193. package/dist/cjs/plugins/row-dnd/DndRowsPlugin.js.map +1 -1
  194. package/dist/cjs/plugins/row-dnd/index.js +5 -1
  195. package/dist/cjs/plugins/row-dnd/index.js.map +2 -2
  196. package/dist/cjs/plugins/selectable/SelectablePlugin.js +7 -3
  197. package/dist/cjs/plugins/selectable/SelectablePlugin.js.map +2 -2
  198. package/dist/cjs/plugins/selectable/addSelectableColumn.js +7 -1
  199. package/dist/cjs/plugins/selectable/addSelectableColumn.js.map +2 -2
  200. package/dist/cjs/plugins/selectable/helper.js +4 -0
  201. package/dist/cjs/plugins/selectable/helper.js.map +1 -1
  202. package/dist/cjs/plugins/selectable/index.js +5 -1
  203. package/dist/cjs/plugins/selectable/index.js.map +2 -2
  204. package/dist/cjs/plugins/selectable/selectableFormatter.js +5 -1
  205. package/dist/cjs/plugins/selectable/selectableFormatter.js.map +2 -2
  206. package/dist/cjs/plugins/selectable/useSelectableState.js +7 -1
  207. package/dist/cjs/plugins/selectable/useSelectableState.js.map +2 -2
  208. package/dist/cjs/plugins/sortable/SortablePlugin.js +7 -3
  209. package/dist/cjs/plugins/sortable/SortablePlugin.js.map +2 -2
  210. package/dist/cjs/plugins/sortable/checkIfSortable.js +4 -0
  211. package/dist/cjs/plugins/sortable/checkIfSortable.js.map +1 -1
  212. package/dist/cjs/plugins/sortable/index.js +5 -1
  213. package/dist/cjs/plugins/sortable/index.js.map +2 -2
  214. package/dist/cjs/plugins/sortable/sortHeaderFormatter.js +4 -0
  215. package/dist/cjs/plugins/sortable/sortHeaderFormatter.js.map +1 -1
  216. package/dist/cjs/plugins/sortable/sortTree.js +4 -0
  217. package/dist/cjs/plugins/sortable/sortTree.js.map +2 -2
  218. package/dist/cjs/plugins/sortable/sorter.js +5 -0
  219. package/dist/cjs/plugins/sortable/sorter.js.map +1 -1
  220. package/dist/cjs/plugins/sortable/useSortableState.js +6 -4
  221. package/dist/cjs/plugins/sortable/useSortableState.js.map +2 -2
  222. package/dist/cjs/plugins/toolbar/RowRenderer.js +7 -2
  223. package/dist/cjs/plugins/toolbar/RowRenderer.js.map +2 -2
  224. package/dist/cjs/plugins/toolbar/ToolbarPlugin.js +5 -1
  225. package/dist/cjs/plugins/toolbar/ToolbarPlugin.js.map +2 -2
  226. package/dist/cjs/plugins/toolbar/ToolbarTrigger.js +5 -0
  227. package/dist/cjs/plugins/toolbar/ToolbarTrigger.js.map +1 -1
  228. package/dist/cjs/plugins/toolbar/index.js +5 -1
  229. package/dist/cjs/plugins/toolbar/index.js.map +2 -2
  230. package/dist/cjs/plugins/virtualization/AutoHeightList.js +4 -0
  231. package/dist/cjs/plugins/virtualization/AutoHeightList.js.map +2 -2
  232. package/dist/cjs/plugins/virtualization/VirtualizationPlugin.js +8 -2
  233. package/dist/cjs/plugins/virtualization/VirtualizationPlugin.js.map +2 -2
  234. package/dist/cjs/plugins/virtualization/VirtualizedBody.js +9 -4
  235. package/dist/cjs/plugins/virtualization/VirtualizedBody.js.map +2 -2
  236. package/dist/cjs/plugins/virtualization/VirtualizedBodyRow.js +5 -0
  237. package/dist/cjs/plugins/virtualization/VirtualizedBodyRow.js.map +1 -1
  238. package/dist/cjs/plugins/virtualization/helper.js +4 -0
  239. package/dist/cjs/plugins/virtualization/helper.js.map +1 -1
  240. package/dist/cjs/plugins/virtualization/index.js +5 -1
  241. package/dist/cjs/plugins/virtualization/index.js.map +2 -2
  242. package/dist/cjs/renders/CellWithAddons.js +15 -1
  243. package/dist/cjs/renders/CellWithAddons.js.map +2 -2
  244. package/dist/cjs/renders/index.js +6 -2
  245. package/dist/cjs/renders/index.js.map +2 -2
  246. package/dist/cjs/renders/styled.js +4 -0
  247. package/dist/cjs/renders/styled.js.map +1 -1
  248. package/dist/cjs/rowSizes.js +5 -5
  249. package/dist/cjs/rowSizes.js.map +2 -2
  250. package/dist/cjs/utilities/getPluginsFromProps.js +17 -13
  251. package/dist/cjs/utilities/getPluginsFromProps.js.map +2 -2
  252. package/dist/cjs/utilities/getScrollbarSize.js +4 -0
  253. package/dist/cjs/utilities/getScrollbarSize.js.map +1 -1
  254. package/dist/cjs/utilities/normalizeData.js +4 -0
  255. package/dist/cjs/utilities/normalizeData.js.map +2 -2
  256. package/dist/esm/DSDataGrid.js +141 -2
  257. package/dist/esm/DSDataGrid.js.map +2 -2
  258. package/dist/esm/DataGridImpl.js +11 -11
  259. package/dist/esm/DataGridImpl.js.map +2 -2
  260. package/dist/esm/PaginatedDataGrid.js +9 -9
  261. package/dist/esm/PaginatedDataGrid.js.map +2 -2
  262. package/dist/esm/columns/IconColumn.js.map +1 -1
  263. package/dist/esm/components/BodyCell.js +2 -0
  264. package/dist/esm/components/BodyCell.js.map +1 -1
  265. package/dist/esm/components/BodyList.js +3 -5
  266. package/dist/esm/components/BodyList.js.map +2 -2
  267. package/dist/esm/components/ColumnVisibilityMenuOption.js +1 -6
  268. package/dist/esm/components/ColumnVisibilityMenuOption.js.map +2 -2
  269. package/dist/esm/components/ColumnsOptionsMenuSection.js +3 -11
  270. package/dist/esm/components/ColumnsOptionsMenuSection.js.map +2 -2
  271. package/dist/esm/components/EmptyState.js +1 -2
  272. package/dist/esm/components/EmptyState.js.map +2 -2
  273. package/dist/esm/components/List.js +2 -2
  274. package/dist/esm/components/List.js.map +2 -2
  275. package/dist/esm/components/ListItem.js +3 -6
  276. package/dist/esm/components/ListItem.js.map +2 -2
  277. package/dist/esm/components/NoResults.js +4 -10
  278. package/dist/esm/components/NoResults.js.map +2 -2
  279. package/dist/esm/components/RowsLoader.js +1 -1
  280. package/dist/esm/components/RowsLoader.js.map +1 -1
  281. package/dist/esm/components/Table.js +5 -5
  282. package/dist/esm/components/Table.js.map +2 -2
  283. package/dist/esm/components/TableBody.js +2 -7
  284. package/dist/esm/components/TableBody.js.map +2 -2
  285. package/dist/esm/components/TableHeader.js +1 -1
  286. package/dist/esm/components/TableHeader.js.map +2 -2
  287. package/dist/esm/components/footer/addOptionalFooterComponents.js +1 -1
  288. package/dist/esm/components/footer/addOptionalFooterComponents.js.map +1 -1
  289. package/dist/esm/components/index.js +5 -5
  290. package/dist/esm/components/index.js.map +1 -1
  291. package/dist/esm/components/renderers/defaultClassedRenderers.js +16 -40
  292. package/dist/esm/components/renderers/defaultClassedRenderers.js.map +2 -2
  293. package/dist/esm/components/renderers/index.js +2 -2
  294. package/dist/esm/components/renderers/index.js.map +1 -1
  295. package/dist/esm/components/renderers/renderRowsLoader.js +2 -4
  296. package/dist/esm/components/renderers/renderRowsLoader.js.map +2 -2
  297. package/dist/esm/defaultPlugins.js +5 -10
  298. package/dist/esm/defaultPlugins.js.map +2 -2
  299. package/dist/esm/index.js +9 -9
  300. package/dist/esm/index.js.map +1 -1
  301. package/dist/esm/package.json +7 -0
  302. package/dist/esm/plugins/body-header-scroll-sync/BodyHeaderScrollSyncPlugin.js +22 -18
  303. package/dist/esm/plugins/body-header-scroll-sync/BodyHeaderScrollSyncPlugin.js.map +2 -2
  304. package/dist/esm/plugins/body-header-scroll-sync/index.js +1 -1
  305. package/dist/esm/plugins/body-header-scroll-sync/index.js.map +1 -1
  306. package/dist/esm/plugins/column-dnd/DndColumnsPlugin.js +1 -1
  307. package/dist/esm/plugins/column-dnd/DndColumnsPlugin.js.map +2 -2
  308. package/dist/esm/plugins/column-dnd/index.js +1 -1
  309. package/dist/esm/plugins/column-dnd/index.js.map +1 -1
  310. package/dist/esm/plugins/column-sizing/ColumnSizingPlugin.js +4 -4
  311. package/dist/esm/plugins/column-sizing/ColumnSizingPlugin.js.map +1 -1
  312. package/dist/esm/plugins/column-sizing/columnMeasurerTransformer.js.map +1 -1
  313. package/dist/esm/plugins/column-sizing/ext-points/decorateColumn.js +1 -1
  314. package/dist/esm/plugins/column-sizing/ext-points/decorateColumn.js.map +1 -1
  315. package/dist/esm/plugins/column-sizing/ext-points/getTableProps.js +1 -1
  316. package/dist/esm/plugins/column-sizing/ext-points/getTableProps.js.map +1 -1
  317. package/dist/esm/plugins/column-sizing/index.js +1 -1
  318. package/dist/esm/plugins/column-sizing/index.js.map +1 -1
  319. package/dist/esm/plugins/column-sizing/useColumnSizeService.js +7 -26
  320. package/dist/esm/plugins/column-sizing/useColumnSizeService.js.map +2 -2
  321. package/dist/esm/plugins/column-sizing/useStylesheetHelpers.js +3 -2
  322. package/dist/esm/plugins/column-sizing/useStylesheetHelpers.js.map +2 -2
  323. package/dist/esm/plugins/column-sizing/utils.js.map +1 -1
  324. package/dist/esm/plugins/custom-cell-renderer/CustomRendererPlugin.js +1 -1
  325. package/dist/esm/plugins/custom-cell-renderer/CustomRendererPlugin.js.map +1 -1
  326. package/dist/esm/plugins/custom-cell-renderer/addCustomRendererToCell.js +2 -1
  327. package/dist/esm/plugins/custom-cell-renderer/addCustomRendererToCell.js.map +2 -2
  328. package/dist/esm/plugins/custom-cell-renderer/getRendererComponent.js +1 -1
  329. package/dist/esm/plugins/custom-cell-renderer/getRendererComponent.js.map +2 -2
  330. package/dist/esm/plugins/custom-cell-renderer/index.js +1 -1
  331. package/dist/esm/plugins/custom-cell-renderer/index.js.map +1 -1
  332. package/dist/esm/plugins/editable/EditableComponents/ComboBox.js.map +1 -1
  333. package/dist/esm/plugins/editable/EditableComponents/TextBox.js.map +1 -1
  334. package/dist/esm/plugins/editable/EditableComponents/index.js +2 -2
  335. package/dist/esm/plugins/editable/EditableComponents/index.js.map +1 -1
  336. package/dist/esm/plugins/editable/EditablePlugin.js +1 -1
  337. package/dist/esm/plugins/editable/EditablePlugin.js.map +2 -2
  338. package/dist/esm/plugins/editable/decorateEditable.js +1 -1
  339. package/dist/esm/plugins/editable/decorateEditable.js.map +2 -2
  340. package/dist/esm/plugins/editable/getEditorComponent.js +3 -16
  341. package/dist/esm/plugins/editable/getEditorComponent.js.map +2 -2
  342. package/dist/esm/plugins/editable/index.js +2 -2
  343. package/dist/esm/plugins/editable/index.js.map +1 -1
  344. package/dist/esm/plugins/expandable-grid/ExpandableColumn.js +23 -25
  345. package/dist/esm/plugins/expandable-grid/ExpandableColumn.js.map +2 -2
  346. package/dist/esm/plugins/expandable-grid/ExpandablePlugin.js +5 -5
  347. package/dist/esm/plugins/expandable-grid/ExpandablePlugin.js.map +2 -2
  348. package/dist/esm/plugins/expandable-grid/ExpandedRow.js +6 -6
  349. package/dist/esm/plugins/expandable-grid/ExpandedRow.js.map +2 -2
  350. package/dist/esm/plugins/expandable-grid/ExpandedRowExtra.js +12 -8
  351. package/dist/esm/plugins/expandable-grid/ExpandedRowExtra.js.map +2 -2
  352. package/dist/esm/plugins/expandable-grid/index.js +2 -2
  353. package/dist/esm/plugins/expandable-grid/index.js.map +1 -1
  354. package/dist/esm/plugins/expandable-grid/useExpandGridState.js.map +2 -2
  355. package/dist/esm/plugins/export-data/ExportDataPlugin.js.map +1 -1
  356. package/dist/esm/plugins/export-data/index.js +1 -1
  357. package/dist/esm/plugins/export-data/index.js.map +1 -1
  358. package/dist/esm/plugins/filterable/FilterablePlugin.js +3 -3
  359. package/dist/esm/plugins/filterable/FilterablePlugin.js.map +2 -2
  360. package/dist/esm/plugins/filterable/addFilterToColumn.js +1 -1
  361. package/dist/esm/plugins/filterable/addFilterToColumn.js.map +1 -1
  362. package/dist/esm/plugins/filterable/components/FilterableHeader.js +1 -1
  363. package/dist/esm/plugins/filterable/components/FilterableHeader.js.map +2 -2
  364. package/dist/esm/plugins/filterable/components/filterable-menus/DateRangeFilterMenu.js +46 -47
  365. package/dist/esm/plugins/filterable/components/filterable-menus/DateRangeFilterMenu.js.map +2 -2
  366. package/dist/esm/plugins/filterable/components/filterable-menus/SingleDateFilterMenu.js +46 -48
  367. package/dist/esm/plugins/filterable/components/filterable-menus/SingleDateFilterMenu.js.map +2 -2
  368. package/dist/esm/plugins/filterable/components/filterable-menus/SingleRangeSwitcherMenu.js +44 -45
  369. package/dist/esm/plugins/filterable/components/filterable-menus/SingleRangeSwitcherMenu.js.map +2 -2
  370. package/dist/esm/plugins/filterable/components/filterable-menus/TextFilterMenu.js +3 -3
  371. package/dist/esm/plugins/filterable/components/filterable-menus/TextFilterMenu.js.map +2 -2
  372. package/dist/esm/plugins/filterable/components/filterable-menus/getFilterMenuByType.js +5 -7
  373. package/dist/esm/plugins/filterable/components/filterable-menus/getFilterMenuByType.js.map +2 -2
  374. package/dist/esm/plugins/filterable/filterableFormatter.js +29 -37
  375. package/dist/esm/plugins/filterable/filterableFormatter.js.map +2 -2
  376. package/dist/esm/plugins/filterable/filtering-helper/filterRowsByQuery.js +2 -4
  377. package/dist/esm/plugins/filterable/filtering-helper/filterRowsByQuery.js.map +2 -2
  378. package/dist/esm/plugins/filterable/filtering-helper/strategiesOperators.js.map +2 -2
  379. package/dist/esm/plugins/filterable/helper.js +1 -7
  380. package/dist/esm/plugins/filterable/helper.js.map +2 -2
  381. package/dist/esm/plugins/filterable/index.js +1 -1
  382. package/dist/esm/plugins/filterable/index.js.map +1 -1
  383. package/dist/esm/plugins/filterable/useFilterableState.js +3 -11
  384. package/dist/esm/plugins/filterable/useFilterableState.js.map +2 -2
  385. package/dist/esm/plugins/grouping-by/GroupingByPlugin.js.map +1 -1
  386. package/dist/esm/plugins/grouping-grid/GroupingPlugin.js +15 -11
  387. package/dist/esm/plugins/grouping-grid/GroupingPlugin.js.map +2 -2
  388. package/dist/esm/plugins/grouping-grid/walkStrategy.js.map +2 -2
  389. package/dist/esm/plugins/index.js +16 -16
  390. package/dist/esm/plugins/index.js.map +1 -1
  391. package/dist/esm/plugins/infinite-scrolling/InfiniteScrollPlugin.js.map +1 -1
  392. package/dist/esm/plugins/infinite-scrolling/index.js +1 -1
  393. package/dist/esm/plugins/infinite-scrolling/index.js.map +1 -1
  394. package/dist/esm/plugins/pagination/PaginationPlugin.js +5 -4
  395. package/dist/esm/plugins/pagination/PaginationPlugin.js.map +2 -2
  396. package/dist/esm/plugins/pagination/components/Pagination.js +5 -24
  397. package/dist/esm/plugins/pagination/components/Pagination.js.map +2 -2
  398. package/dist/esm/plugins/pagination/components/Paginator.js +12 -11
  399. package/dist/esm/plugins/pagination/components/Paginator.js.map +2 -2
  400. package/dist/esm/plugins/pagination/components/PerPageDropdown.js +2 -2
  401. package/dist/esm/plugins/pagination/components/PerPageDropdown.js.map +2 -2
  402. package/dist/esm/plugins/pagination/helper.js.map +2 -2
  403. package/dist/esm/plugins/pagination/index.js +1 -1
  404. package/dist/esm/plugins/pagination/index.js.map +1 -1
  405. package/dist/esm/plugins/pagination/usePaginationState.js +1 -1
  406. package/dist/esm/plugins/pagination/usePaginationState.js.map +1 -1
  407. package/dist/esm/plugins/resizable/ResizablePlugin.js +1 -1
  408. package/dist/esm/plugins/resizable/ResizablePlugin.js.map +2 -2
  409. package/dist/esm/plugins/resizable/decorateResizable.js +4 -2
  410. package/dist/esm/plugins/resizable/decorateResizable.js.map +2 -2
  411. package/dist/esm/plugins/resizable/index.js +1 -1
  412. package/dist/esm/plugins/resizable/index.js.map +1 -1
  413. package/dist/esm/plugins/resizable/useResizeHandle.js +6 -13
  414. package/dist/esm/plugins/resizable/useResizeHandle.js.map +2 -2
  415. package/dist/esm/plugins/row-dnd/DndRowsPlugin.js +1 -0
  416. package/dist/esm/plugins/row-dnd/DndRowsPlugin.js.map +1 -1
  417. package/dist/esm/plugins/row-dnd/index.js +1 -1
  418. package/dist/esm/plugins/row-dnd/index.js.map +1 -1
  419. package/dist/esm/plugins/selectable/SelectablePlugin.js +3 -3
  420. package/dist/esm/plugins/selectable/SelectablePlugin.js.map +2 -2
  421. package/dist/esm/plugins/selectable/addSelectableColumn.js +3 -1
  422. package/dist/esm/plugins/selectable/addSelectableColumn.js.map +2 -2
  423. package/dist/esm/plugins/selectable/helper.js.map +1 -1
  424. package/dist/esm/plugins/selectable/index.js +1 -1
  425. package/dist/esm/plugins/selectable/index.js.map +1 -1
  426. package/dist/esm/plugins/selectable/selectableFormatter.js +1 -1
  427. package/dist/esm/plugins/selectable/selectableFormatter.js.map +2 -2
  428. package/dist/esm/plugins/selectable/useSelectableState.js +3 -5
  429. package/dist/esm/plugins/selectable/useSelectableState.js.map +2 -2
  430. package/dist/esm/plugins/sortable/SortablePlugin.js +3 -3
  431. package/dist/esm/plugins/sortable/SortablePlugin.js.map +2 -2
  432. package/dist/esm/plugins/sortable/checkIfSortable.js.map +1 -1
  433. package/dist/esm/plugins/sortable/index.js +1 -1
  434. package/dist/esm/plugins/sortable/index.js.map +1 -1
  435. package/dist/esm/plugins/sortable/sortHeaderFormatter.js.map +1 -1
  436. package/dist/esm/plugins/sortable/sortTree.js.map +2 -2
  437. package/dist/esm/plugins/sortable/sorter.js +1 -0
  438. package/dist/esm/plugins/sortable/sorter.js.map +1 -1
  439. package/dist/esm/plugins/sortable/useSortableState.js +2 -4
  440. package/dist/esm/plugins/sortable/useSortableState.js.map +2 -2
  441. package/dist/esm/plugins/toolbar/RowRenderer.js +3 -2
  442. package/dist/esm/plugins/toolbar/RowRenderer.js.map +2 -2
  443. package/dist/esm/plugins/toolbar/ToolbarPlugin.js +1 -1
  444. package/dist/esm/plugins/toolbar/ToolbarPlugin.js.map +2 -2
  445. package/dist/esm/plugins/toolbar/ToolbarTrigger.js +1 -0
  446. package/dist/esm/plugins/toolbar/ToolbarTrigger.js.map +1 -1
  447. package/dist/esm/plugins/toolbar/index.js +1 -1
  448. package/dist/esm/plugins/toolbar/index.js.map +1 -1
  449. package/dist/esm/plugins/virtualization/AutoHeightList.js.map +2 -2
  450. package/dist/esm/plugins/virtualization/VirtualizationPlugin.js +4 -2
  451. package/dist/esm/plugins/virtualization/VirtualizationPlugin.js.map +2 -2
  452. package/dist/esm/plugins/virtualization/VirtualizedBody.js +5 -4
  453. package/dist/esm/plugins/virtualization/VirtualizedBody.js.map +2 -2
  454. package/dist/esm/plugins/virtualization/VirtualizedBodyRow.js +1 -0
  455. package/dist/esm/plugins/virtualization/VirtualizedBodyRow.js.map +1 -1
  456. package/dist/esm/plugins/virtualization/index.js +1 -1
  457. package/dist/esm/plugins/virtualization/index.js.map +1 -1
  458. package/dist/esm/renders/CellWithAddons.js +11 -1
  459. package/dist/esm/renders/CellWithAddons.js.map +2 -2
  460. package/dist/esm/renders/index.js +2 -2
  461. package/dist/esm/renders/index.js.map +1 -1
  462. package/dist/esm/renders/styled.js.map +1 -1
  463. package/dist/esm/rowSizes.js +1 -5
  464. package/dist/esm/rowSizes.js.map +2 -2
  465. package/dist/esm/utilities/getPluginsFromProps.js +13 -13
  466. package/dist/esm/utilities/getPluginsFromProps.js.map +2 -2
  467. package/dist/esm/utilities/normalizeData.js.map +2 -2
  468. package/package.json +25 -25
@@ -1,5 +1,5 @@
1
1
  import * as React from "react";
2
- import { SortablePlugin } from "./SortablePlugin";
2
+ import { SortablePlugin } from "./SortablePlugin.js";
3
3
  export {
4
4
  SortablePlugin
5
5
  };
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/plugins/sortable/index.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export { SortablePlugin } from './SortablePlugin';\n"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export { SortablePlugin } from './SortablePlugin.js';\n"],
5
5
  "mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,sBAAsB;",
6
6
  "names": []
7
7
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/plugins/sortable/sortHeaderFormatter.tsx"],
4
4
  "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport { ArrowheadDown, ArrowheadUp } from '@elliemae/ds-icons';\n\nconst blockName = 'data-grid-sort-header';\n\nconst SortHeaderContainer = aggregatedClasses('div')(blockName);\n\nconst iconColor = ['brand-primary', 800];\n\nconst SortHeader = React.memo(({ value, onClick, sortState }) => {\n const sortIndicator = sortState === 'asc' ? <ArrowheadUp color={iconColor} /> : <ArrowheadDown color={iconColor} />;\n return (\n <SortHeaderContainer onClick={onClick}>\n <span className=\"header-value\">{value}</span>\n {sortState && sortIndicator}\n </SortHeaderContainer>\n );\n});\n\nconst sortHeaderFormatter =\n (sortable, grid) =>\n (value, { columnIndex, property }) => {\n const {\n state: { sortingColumns },\n } = grid.getInstance();\n const { onClick, className } = sortable(value, { columnIndex, property });\n return (\n <SortHeader\n className={className}\n onClick={onClick}\n sortState={sortingColumns[property] && sortingColumns[property].direction}\n value={value}\n />\n );\n };\n\nexport { sortHeaderFormatter };\nexport default sortHeaderFormatter;\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACWuB,cAE1C,YAF0C;AAX9C,OAAOA,YAAW;AAClB,SAAS,yBAAyB;AAClC,SAAS,eAAe,mBAAmB;AAE3C,MAAM,YAAY;AAElB,MAAM,sBAAsB,kBAAkB,KAAK,EAAE,SAAS;AAE9D,MAAM,YAAY,CAAC,iBAAiB,GAAG;AAEvC,MAAM,aAAaA,OAAM,KAAK,CAAC,EAAE,OAAO,SAAS,UAAU,MAAM;AAC/D,QAAM,gBAAgB,cAAc,QAAQ,oBAAC,eAAY,OAAO,WAAW,IAAK,oBAAC,iBAAc,OAAO,WAAW;AACjH,SACE,qBAAC,uBAAoB,SACnB;AAAA,wBAAC,UAAK,WAAU,gBAAgB,iBAAM;AAAA,IACrC,aAAa;AAAA,KAChB;AAEJ,CAAC;AAED,MAAM,sBACJ,CAAC,UAAU,SACX,CAAC,OAAO,EAAE,aAAa,SAAS,MAAM;AACpC,QAAM;AAAA,IACJ,OAAO,EAAE,eAAe;AAAA,EAC1B,IAAI,KAAK,YAAY;AACrB,QAAM,EAAE,SAAS,UAAU,IAAI,SAAS,OAAO,EAAE,aAAa,SAAS,CAAC;AACxE,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA,WAAW,eAAe,aAAa,eAAe,UAAU;AAAA,MAChE;AAAA;AAAA,EACF;AAEJ;AAGF,IAAO,8BAAQ;",
5
+ "mappings": "AAAA,YAAY,WAAW;ACWuB,cAE1C,YAF0C;AAX9C,OAAOA,YAAW;AAClB,SAAS,yBAAyB;AAClC,SAAS,eAAe,mBAAmB;AAE3C,MAAM,YAAY;AAElB,MAAM,sBAAsB,kBAAkB,KAAK,EAAE,SAAS;AAE9D,MAAM,YAAY,CAAC,iBAAiB,GAAG;AAEvC,MAAM,aAAaA,OAAM,KAAK,CAAC,EAAE,OAAO,SAAS,UAAU,MAAM;AAC/D,QAAM,gBAAgB,cAAc,QAAQ,oBAAC,eAAY,OAAO,WAAW,IAAK,oBAAC,iBAAc,OAAO,WAAW;AACjH,SACE,qBAAC,uBAAoB,SACnB;AAAA,wBAAC,UAAK,WAAU,gBAAgB,iBAAM;AAAA,IACrC,aAAa;AAAA,KAChB;AAEJ,CAAC;AAED,MAAM,sBACJ,CAAC,UAAU,SACX,CAAC,OAAO,EAAE,aAAa,SAAS,MAAM;AACpC,QAAM;AAAA,IACJ,OAAO,EAAE,eAAe;AAAA,EAC1B,IAAI,KAAK,YAAY;AACrB,QAAM,EAAE,SAAS,UAAU,IAAI,SAAS,OAAO,EAAE,aAAa,SAAS,CAAC;AACxE,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA,WAAW,eAAe,QAAQ,KAAK,eAAe,QAAQ,EAAE;AAAA,MAChE;AAAA;AAAA,EACF;AAEJ;AAGF,IAAO,8BAAQ;",
6
6
  "names": ["React"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/plugins/sortable/sortTree.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import * as sort from 'sortabular';\n\nconst deepSorting = (sortConfig, rows = []) =>\n sort.sorter(sortConfig)(\n rows.map(row =>\n row.children && row.children.length\n ? {\n ...row,\n children: deepSorting(sortConfig, row.children),\n }\n : row,\n ),\n );\nfunction sortTree(sortConfig) {\n return rows => deepSorting(sortConfig, rows);\n}\n\nexport { sortTree };\nexport default sortTree;\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACAvB,YAAY,UAAU;AAEtB,MAAM,cAAc,CAAC,YAAY,OAAO,CAAC,MACvC,KAAK,OAAO,UAAU;AAAA,EACpB,KAAK;AAAA,IAAI,SACP,IAAI,YAAY,IAAI,SAAS,SACzB;AAAA,MACE,GAAG;AAAA,MACH,UAAU,YAAY,YAAY,IAAI,QAAQ;AAAA,IAChD,IACA;AAAA,EACN;AACF;AACF,SAAS,SAAS,YAAY;AAC5B,SAAO,UAAQ,YAAY,YAAY,IAAI;AAC7C;AAGA,IAAO,mBAAQ;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import * as sort from 'sortabular';\n\nconst deepSorting = (sortConfig, rows = []) =>\n sort.sorter(sortConfig)(\n rows.map((row) =>\n row.children && row.children.length\n ? {\n ...row,\n children: deepSorting(sortConfig, row.children),\n }\n : row,\n ),\n );\nfunction sortTree(sortConfig) {\n return (rows) => deepSorting(sortConfig, rows);\n}\n\nexport { sortTree };\nexport default sortTree;\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACAvB,YAAY,UAAU;AAEtB,MAAM,cAAc,CAAC,YAAY,OAAO,CAAC,MACvC,KAAK,OAAO,UAAU;AAAA,EACpB,KAAK;AAAA,IAAI,CAAC,QACR,IAAI,YAAY,IAAI,SAAS,SACzB;AAAA,MACE,GAAG;AAAA,MACH,UAAU,YAAY,YAAY,IAAI,QAAQ;AAAA,IAChD,IACA;AAAA,EACN;AACF;AACF,SAAS,SAAS,YAAY;AAC5B,SAAO,CAAC,SAAS,YAAY,YAAY,IAAI;AAC/C;AAGA,IAAO,mBAAQ;",
6
6
  "names": []
7
7
  }
@@ -97,6 +97,7 @@ const sorterGroups = ({ columns, sortingColumns, sort, emptyLast } = {}) => (dat
97
97
  columnIndexList,
98
98
  orderList
99
99
  )
100
+ // sort internally
100
101
  };
101
102
  });
102
103
  const sorted = actualSortFunction(
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/plugins/sortable/sorter.tsx"],
4
4
  "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\n/* eslint-disable max-statements */\nimport { get } from '@elliemae/ds-utilities';\nimport moment from 'moment';\n\nexport const sorter =\n ({ columns, sortingColumns, sort, emptyLast } = {}) =>\n (data) => {\n if (!columns) {\n throw new Error('sort.sorter - Missing \"columns\" argument!');\n }\n\n if (!sort) {\n throw new Error('sort.sorter - Missing \"sort\" argument!');\n }\n\n if (!sortingColumns) {\n return data;\n }\n const columnIndexList = new Array(sortingColumns.length);\n const orderList = new Array(sortingColumns.length);\n\n let actualSortFunction = sort;\n if (emptyLast) {\n actualSortFunction = (innerData, innerColumnIndexList, innerOrderList) => {\n const sortedData = sort(innerData, innerColumnIndexList, innerOrderList);\n\n const keys = Object.keys(sortingColumns);\n\n const withData = sortedData.filter((r) => keys.some((key) => !!r[key]));\n const withoutData = sortedData.filter((r) => keys.some((key) => !r[key]));\n\n return [...withData, ...withoutData];\n };\n }\n\n Object.keys(sortingColumns).forEach((sortingColumnKey) => {\n const realColumn = columns.find((column) => column.property === sortingColumnKey);\n if (!realColumn) return;\n const columnSorter =\n realColumn.sort ||\n function resolveValue(row) {\n const { property, sortBy } = realColumn;\n const value = row[sortBy || property];\n // Pick resolved value by convention\n const resolvedValue = get(row, `_${property}`, value);\n\n if (realColumn.type === 'DateTime') {\n return moment(resolvedValue);\n }\n\n return typeof resolvedValue === 'string' ? resolvedValue.toLowerCase() : resolvedValue;\n };\n\n const sortingColumn = sortingColumns[sortingColumnKey];\n\n columnIndexList[sortingColumn.position] = columnSorter;\n\n orderList[sortingColumn.position] = sortingColumn.direction;\n });\n return actualSortFunction(data, columnIndexList, orderList);\n };\n\nexport const sorterGroups =\n ({ columns, sortingColumns, sort, emptyLast } = {}) =>\n (data, rowsData) => {\n if (!columns) {\n throw new Error('sort.sorter - Missing \"columns\" argument!');\n }\n\n if (!sort) {\n throw new Error('sort.sorter - Missing \"sort\" argument!');\n }\n\n if (!sortingColumns) {\n return data;\n }\n\n const columnIndexList = new Array(sortingColumns.length);\n const orderList = new Array(sortingColumns.length);\n\n let actualSortFunction = sort;\n if (emptyLast) {\n actualSortFunction = (innerData, innerColumnIndexList, innerOrderList) => {\n const sortedData = sort(innerData, innerColumnIndexList, innerOrderList);\n\n const keys = Object.keys(sortingColumns);\n\n const withData = sortedData.filter((r) => keys.some((key) => !!r[key]));\n const withoutData = sortedData.filter((r) => keys.some((key) => !r[key]));\n\n return [...withData, ...withoutData];\n };\n }\n\n Object.keys(sortingColumns).forEach((sortingColumnKey) => {\n const realColumn = columns.find((column) => column.property === sortingColumnKey);\n if (!realColumn) return;\n const columnSorter =\n realColumn.sort ||\n function resolveValue(row) {\n const { property, sortBy } = realColumn;\n const value = row[sortBy || property];\n // Pick resolved value by convention\n const resolvedValue = get(row, `_${property}`, value);\n\n if (realColumn.type === 'DateTime') {\n return moment(resolvedValue);\n }\n\n return typeof resolvedValue === 'string' ? resolvedValue.toLowerCase() : resolvedValue;\n };\n\n const sortingColumn = sortingColumns[sortingColumnKey];\n\n columnIndexList[sortingColumn.position] = columnSorter;\n\n orderList[sortingColumn.position] = sortingColumn.direction;\n });\n\n const groups = {};\n const preserveData = {};\n data.forEach((c) => {\n preserveData[c.id] = { ...c };\n });\n\n rowsData.forEach((group) => {\n groups[group.id] = {\n children: actualSortFunction(\n group.children.map((c) => ({\n parentNode: preserveData[c.id].parentNode,\n data: c,\n ...c,\n })),\n columnIndexList,\n orderList,\n ), // sort internally\n };\n });\n\n const sorted = actualSortFunction(\n data.map((r) => ({\n ...r.data,\n ...r,\n })),\n columnIndexList,\n orderList,\n ); // sort global\n let ssortGlobal = [];\n sorted\n .filter((s) => !s.isGroup)\n .forEach((sr) => {\n if (groups[sr.parentNode.id]) {\n ssortGlobal = [...ssortGlobal, preserveData[sr.parentNode.id], ...groups[sr.parentNode.id].children];\n delete groups[sr.parentNode.id];\n }\n });\n return ssortGlobal;\n };\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,12 +1,10 @@
1
1
  import * as React from "react";
2
2
  import * as sortabular from "sortabular/dist/index.js";
3
3
  import { useDerivedStateFromProps } from "@elliemae/ds-utilities";
4
- import { checkIfSortable } from "./checkIfSortable";
4
+ import { checkIfSortable } from "./checkIfSortable.js";
5
5
  function useSortableState(grid) {
6
6
  const { onSort, sortingColumns: sortingColumnsProp, pagination } = grid.props;
7
- const [sortingColumns, setSortingColumns] = useDerivedStateFromProps(
8
- sortingColumnsProp
9
- );
7
+ const [sortingColumns, setSortingColumns] = useDerivedStateFromProps(sortingColumnsProp);
10
8
  const handleSort = (selectedColumn) => {
11
9
  const { composedRows = {}, props } = grid.getInstance();
12
10
  const { allRows, rows } = composedRows;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/plugins/sortable/useSortableState.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import * as sortabular from 'sortabular/dist/index.js';\nimport { useDerivedStateFromProps } from '@elliemae/ds-utilities';\nimport { checkIfSortable } from './checkIfSortable';\n\nexport function useSortableState(grid) {\n const { onSort, sortingColumns: sortingColumnsProp, pagination } = grid.props;\n\n const [sortingColumns, setSortingColumns] = useDerivedStateFromProps(\n sortingColumnsProp,\n );\n\n const handleSort = selectedColumn => {\n // support for pagination\n const { composedRows = {}, props } = grid.getInstance();\n const { allRows, rows } = composedRows;\n const serverSidePagination =\n pagination &&\n composedRows.amount !== (composedRows.rows && composedRows.rows.length);\n if (\n props.serverSideData ||\n serverSidePagination ||\n checkIfSortable(selectedColumn, allRows || rows || composedRows)\n ) {\n setSortingColumns(prevSortingColumns => {\n const nextSortingColumns = sortabular.byColumn({\n sortingColumns: prevSortingColumns,\n sortingOrder: {\n FIRST: 'asc',\n asc: 'desc',\n desc: 'asc',\n },\n selectedColumn,\n });\n const { columns } = grid.getInstance();\n let columnSorted = columns.find(col => col.property === selectedColumn);\n columnSorted = {\n ...columnSorted,\n originalProperty: columnSorted.property,\n };\n onSort(nextSortingColumns, selectedColumn, columnSorted);\n return nextSortingColumns;\n });\n }\n };\n\n return {\n state: { sortingColumns },\n actions: {\n sort: handleSort,\n },\n };\n}\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACAvB,YAAY,gBAAgB;AAC5B,SAAS,gCAAgC;AACzC,SAAS,uBAAuB;AAEzB,SAAS,iBAAiB,MAAM;AACrC,QAAM,EAAE,QAAQ,gBAAgB,oBAAoB,WAAW,IAAI,KAAK;AAExE,QAAM,CAAC,gBAAgB,iBAAiB,IAAI;AAAA,IAC1C;AAAA,EACF;AAEA,QAAM,aAAa,oBAAkB;AAEnC,UAAM,EAAE,eAAe,CAAC,GAAG,MAAM,IAAI,KAAK,YAAY;AACtD,UAAM,EAAE,SAAS,KAAK,IAAI;AAC1B,UAAM,uBACJ,cACA,aAAa,YAAY,aAAa,QAAQ,aAAa,KAAK;AAClE,QACE,MAAM,kBACN,wBACA,gBAAgB,gBAAgB,WAAW,QAAQ,YAAY,GAC/D;AACA,wBAAkB,wBAAsB;AACtC,cAAM,qBAAqB,WAAW,SAAS;AAAA,UAC7C,gBAAgB;AAAA,UAChB,cAAc;AAAA,YACZ,OAAO;AAAA,YACP,KAAK;AAAA,YACL,MAAM;AAAA,UACR;AAAA,UACA;AAAA,QACF,CAAC;AACD,cAAM,EAAE,QAAQ,IAAI,KAAK,YAAY;AACrC,YAAI,eAAe,QAAQ,KAAK,SAAO,IAAI,aAAa,cAAc;AACtE,uBAAe;AAAA,UACb,GAAG;AAAA,UACH,kBAAkB,aAAa;AAAA,QACjC;AACA,eAAO,oBAAoB,gBAAgB,YAAY;AACvD,eAAO;AAAA,MACT,CAAC;AAAA,IACH;AAAA,EACF;AAEA,SAAO;AAAA,IACL,OAAO,EAAE,eAAe;AAAA,IACxB,SAAS;AAAA,MACP,MAAM;AAAA,IACR;AAAA,EACF;AACF;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import * as sortabular from 'sortabular/dist/index.js';\nimport { useDerivedStateFromProps } from '@elliemae/ds-utilities';\nimport { checkIfSortable } from './checkIfSortable.js';\n\nexport function useSortableState(grid) {\n const { onSort, sortingColumns: sortingColumnsProp, pagination } = grid.props;\n\n const [sortingColumns, setSortingColumns] = useDerivedStateFromProps(sortingColumnsProp);\n\n const handleSort = (selectedColumn) => {\n // support for pagination\n const { composedRows = {}, props } = grid.getInstance();\n const { allRows, rows } = composedRows;\n const serverSidePagination = pagination && composedRows.amount !== (composedRows.rows && composedRows.rows.length);\n if (\n props.serverSideData ||\n serverSidePagination ||\n checkIfSortable(selectedColumn, allRows || rows || composedRows)\n ) {\n setSortingColumns((prevSortingColumns) => {\n const nextSortingColumns = sortabular.byColumn({\n sortingColumns: prevSortingColumns,\n sortingOrder: {\n FIRST: 'asc',\n asc: 'desc',\n desc: 'asc',\n },\n selectedColumn,\n });\n const { columns } = grid.getInstance();\n let columnSorted = columns.find((col) => col.property === selectedColumn);\n columnSorted = {\n ...columnSorted,\n originalProperty: columnSorted.property,\n };\n onSort(nextSortingColumns, selectedColumn, columnSorted);\n return nextSortingColumns;\n });\n }\n };\n\n return {\n state: { sortingColumns },\n actions: {\n sort: handleSort,\n },\n };\n}\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACAvB,YAAY,gBAAgB;AAC5B,SAAS,gCAAgC;AACzC,SAAS,uBAAuB;AAEzB,SAAS,iBAAiB,MAAM;AACrC,QAAM,EAAE,QAAQ,gBAAgB,oBAAoB,WAAW,IAAI,KAAK;AAExE,QAAM,CAAC,gBAAgB,iBAAiB,IAAI,yBAAyB,kBAAkB;AAEvF,QAAM,aAAa,CAAC,mBAAmB;AAErC,UAAM,EAAE,eAAe,CAAC,GAAG,MAAM,IAAI,KAAK,YAAY;AACtD,UAAM,EAAE,SAAS,KAAK,IAAI;AAC1B,UAAM,uBAAuB,cAAc,aAAa,YAAY,aAAa,QAAQ,aAAa,KAAK;AAC3G,QACE,MAAM,kBACN,wBACA,gBAAgB,gBAAgB,WAAW,QAAQ,YAAY,GAC/D;AACA,wBAAkB,CAAC,uBAAuB;AACxC,cAAM,qBAAqB,WAAW,SAAS;AAAA,UAC7C,gBAAgB;AAAA,UAChB,cAAc;AAAA,YACZ,OAAO;AAAA,YACP,KAAK;AAAA,YACL,MAAM;AAAA,UACR;AAAA,UACA;AAAA,QACF,CAAC;AACD,cAAM,EAAE,QAAQ,IAAI,KAAK,YAAY;AACrC,YAAI,eAAe,QAAQ,KAAK,CAAC,QAAQ,IAAI,aAAa,cAAc;AACxE,uBAAe;AAAA,UACb,GAAG;AAAA,UACH,kBAAkB,aAAa;AAAA,QACjC;AACA,eAAO,oBAAoB,gBAAgB,YAAY;AACvD,eAAO;AAAA,MACT,CAAC;AAAA,IACH;AAAA,EACF;AAEA,SAAO;AAAA,IACL,OAAO,EAAE,eAAe;AAAA,IACxB,SAAS;AAAA,MACP,MAAM;AAAA,IACR;AAAA,EACF;AACF;",
6
6
  "names": []
7
7
  }
@@ -4,8 +4,8 @@ import { useEffect, useRef, useState } from "react";
4
4
  import PropTypes from "prop-types";
5
5
  import { isEmpty } from "lodash";
6
6
  import { omit } from "@elliemae/ds-utilities";
7
- import { ToolbarTrigger } from "./ToolbarTrigger";
8
- import { RowSizes } from "../../rowSizes";
7
+ import { ToolbarTrigger } from "./ToolbarTrigger.js";
8
+ import { RowSizes } from "../../rowSizes.js";
9
9
  const RowRenderer = (Row, grid) => {
10
10
  const Wrapped = (props) => {
11
11
  const ref = useRef();
@@ -48,6 +48,7 @@ const RowRenderer = (Row, grid) => {
48
48
  style: {
49
49
  height: !wrapText ? RowSizes[gridInstance.props.rowSize] : "auto",
50
50
  position: style ? "auto" : "relative"
51
+ // top: isDragging ? rowStyle.top - RowSizes[gridInstance.props.rowSize] : 'auto',
51
52
  },
52
53
  children: [
53
54
  /* @__PURE__ */ jsx(Row, { ref, ...props, style: rowStyle }),
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/plugins/toolbar/RowRenderer.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable react-hooks/rules-of-hooks */\n/* eslint-disable max-statements */\n/* eslint-disable react/prop-types */\nimport React, { useEffect, useRef, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { isEmpty } from 'lodash';\nimport { omit } from '@elliemae/ds-utilities';\nimport { ToolbarTrigger } from './ToolbarTrigger';\nimport { RowSizes } from '../../rowSizes';\n\nexport const RowRenderer = (Row, grid) => {\n const Wrapped = (props) => {\n const ref = useRef();\n const { rowData = {}, index, rowIndex, style } = props;\n const {\n props: { wrapText },\n } = grid.getInstance();\n const [popStyle, setPopStyle] = useState({});\n const [rowStyle, setRowStyle] = useState(style);\n const gridInstance = grid.getInstance();\n const { refs, isRowDragging } = gridInstance;\n const [hasVerticalScrollBar, setHasVerticalScrollBar] = useState(\n refs.body.current && refs.body.current.offsetWidth > refs.body.current.clientWidth,\n );\n\n useEffect(() => {\n const shouldOmit = isRowDragging ? ['top'] : [];\n setPopStyle({\n ...popStyle,\n ...{ top: style && !isRowDragging ? style.top : '0' },\n });\n if (style) {\n // style defined means it has virtualization\n setHasVerticalScrollBar(true);\n } else {\n setHasVerticalScrollBar(false);\n }\n setRowStyle(\n omit(\n style || {\n height: !wrapText ? RowSizes[gridInstance.props.rowSize] : 'auto',\n position: 'relative',\n },\n [shouldOmit],\n ),\n );\n }, [style, isRowDragging]);\n return (\n <div\n className=\"row-renderer-fixed-height\"\n style={{\n height: !wrapText ? RowSizes[gridInstance.props.rowSize] : 'auto',\n position: style ? 'auto' : 'relative',\n // top: isDragging ? rowStyle.top - RowSizes[gridInstance.props.rowSize] : 'auto',\n }}\n >\n <Row ref={ref} {...props} style={rowStyle} />\n {isEmpty(rowData) && !rowData.index && !rowData.rowIndex ? null : (\n <div className={`toolbar-trigger-container ${style ? 'move' : 'stay'}`} style={{ ...popStyle }}>\n <ToolbarTrigger\n grid={grid}\n rowData={{ rowData, index, rowIndex }}\n hasScrollBar={hasVerticalScrollBar}\n rowRef={ref}\n />\n </div>\n )}\n </div>\n );\n };\n\n Wrapped.propTypes = {\n rowData: PropTypes.any,\n index: PropTypes.number,\n rowIndex: PropTypes.number,\n style: PropTypes.any,\n };\n\n return Wrapped;\n};\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACgDjB,SAQE,KARF;AA7CN,SAAgB,WAAW,QAAQ,gBAAgB;AACnD,OAAO,eAAe;AACtB,SAAS,eAAe;AACxB,SAAS,YAAY;AACrB,SAAS,sBAAsB;AAC/B,SAAS,gBAAgB;AAElB,MAAM,cAAc,CAAC,KAAK,SAAS;AACxC,QAAM,UAAU,CAAC,UAAU;AACzB,UAAM,MAAM,OAAO;AACnB,UAAM,EAAE,UAAU,CAAC,GAAG,OAAO,UAAU,MAAM,IAAI;AACjD,UAAM;AAAA,MACJ,OAAO,EAAE,SAAS;AAAA,IACpB,IAAI,KAAK,YAAY;AACrB,UAAM,CAAC,UAAU,WAAW,IAAI,SAAS,CAAC,CAAC;AAC3C,UAAM,CAAC,UAAU,WAAW,IAAI,SAAS,KAAK;AAC9C,UAAM,eAAe,KAAK,YAAY;AACtC,UAAM,EAAE,MAAM,cAAc,IAAI;AAChC,UAAM,CAAC,sBAAsB,uBAAuB,IAAI;AAAA,MACtD,KAAK,KAAK,WAAW,KAAK,KAAK,QAAQ,cAAc,KAAK,KAAK,QAAQ;AAAA,IACzE;AAEA,cAAU,MAAM;AACd,YAAM,aAAa,gBAAgB,CAAC,KAAK,IAAI,CAAC;AAC9C,kBAAY;AAAA,QACV,GAAG;AAAA,QACH,GAAG,EAAE,KAAK,SAAS,CAAC,gBAAgB,MAAM,MAAM,IAAI;AAAA,MACtD,CAAC;AACD,UAAI,OAAO;AAET,gCAAwB,IAAI;AAAA,MAC9B,OAAO;AACL,gCAAwB,KAAK;AAAA,MAC/B;AACA;AAAA,QACE;AAAA,UACE,SAAS;AAAA,YACP,QAAQ,CAAC,WAAW,SAAS,aAAa,MAAM,WAAW;AAAA,YAC3D,UAAU;AAAA,UACZ;AAAA,UACA,CAAC,UAAU;AAAA,QACb;AAAA,MACF;AAAA,IACF,GAAG,CAAC,OAAO,aAAa,CAAC;AACzB,WACE;AAAA,MAAC;AAAA;AAAA,QACC,WAAU;AAAA,QACV,OAAO;AAAA,UACL,QAAQ,CAAC,WAAW,SAAS,aAAa,MAAM,WAAW;AAAA,UAC3D,UAAU,QAAQ,SAAS;AAAA,QAE7B;AAAA,QAEA;AAAA,8BAAC,OAAI,KAAW,GAAG,OAAO,OAAO,UAAU;AAAA,UAC1C,QAAQ,OAAO,KAAK,CAAC,QAAQ,SAAS,CAAC,QAAQ,WAAW,OACzD,oBAAC,SAAI,WAAW,6BAA6B,QAAQ,SAAS,UAAU,OAAO,EAAE,GAAG,SAAS,GAC3F;AAAA,YAAC;AAAA;AAAA,cACC;AAAA,cACA,SAAS,EAAE,SAAS,OAAO,SAAS;AAAA,cACpC,cAAc;AAAA,cACd,QAAQ;AAAA;AAAA,UACV,GACF;AAAA;AAAA;AAAA,IAEJ;AAAA,EAEJ;AAEA,UAAQ,YAAY;AAAA,IAClB,SAAS,UAAU;AAAA,IACnB,OAAO,UAAU;AAAA,IACjB,UAAU,UAAU;AAAA,IACpB,OAAO,UAAU;AAAA,EACnB;AAEA,SAAO;AACT;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable react-hooks/rules-of-hooks */\n/* eslint-disable max-statements */\n/* eslint-disable react/prop-types */\nimport React, { useEffect, useRef, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { isEmpty } from 'lodash';\nimport { omit } from '@elliemae/ds-utilities';\nimport { ToolbarTrigger } from './ToolbarTrigger.js';\nimport { RowSizes } from '../../rowSizes.js';\n\nexport const RowRenderer = (Row, grid) => {\n const Wrapped = (props) => {\n const ref = useRef();\n const { rowData = {}, index, rowIndex, style } = props;\n const {\n props: { wrapText },\n } = grid.getInstance();\n const [popStyle, setPopStyle] = useState({});\n const [rowStyle, setRowStyle] = useState(style);\n const gridInstance = grid.getInstance();\n const { refs, isRowDragging } = gridInstance;\n const [hasVerticalScrollBar, setHasVerticalScrollBar] = useState(\n refs.body.current && refs.body.current.offsetWidth > refs.body.current.clientWidth,\n );\n\n useEffect(() => {\n const shouldOmit = isRowDragging ? ['top'] : [];\n setPopStyle({\n ...popStyle,\n ...{ top: style && !isRowDragging ? style.top : '0' },\n });\n if (style) {\n // style defined means it has virtualization\n setHasVerticalScrollBar(true);\n } else {\n setHasVerticalScrollBar(false);\n }\n setRowStyle(\n omit(\n style || {\n height: !wrapText ? RowSizes[gridInstance.props.rowSize] : 'auto',\n position: 'relative',\n },\n [shouldOmit],\n ),\n );\n }, [style, isRowDragging]);\n return (\n <div\n className=\"row-renderer-fixed-height\"\n style={{\n height: !wrapText ? RowSizes[gridInstance.props.rowSize] : 'auto',\n position: style ? 'auto' : 'relative',\n // top: isDragging ? rowStyle.top - RowSizes[gridInstance.props.rowSize] : 'auto',\n }}\n >\n <Row ref={ref} {...props} style={rowStyle} />\n {isEmpty(rowData) && !rowData.index && !rowData.rowIndex ? null : (\n <div className={`toolbar-trigger-container ${style ? 'move' : 'stay'}`} style={{ ...popStyle }}>\n <ToolbarTrigger\n grid={grid}\n rowData={{ rowData, index, rowIndex }}\n hasScrollBar={hasVerticalScrollBar}\n rowRef={ref}\n />\n </div>\n )}\n </div>\n );\n };\n\n Wrapped.propTypes = {\n rowData: PropTypes.any,\n index: PropTypes.number,\n rowIndex: PropTypes.number,\n style: PropTypes.any,\n };\n\n return Wrapped;\n};\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACgDjB,SAQE,KARF;AA7CN,SAAgB,WAAW,QAAQ,gBAAgB;AACnD,OAAO,eAAe;AACtB,SAAS,eAAe;AACxB,SAAS,YAAY;AACrB,SAAS,sBAAsB;AAC/B,SAAS,gBAAgB;AAElB,MAAM,cAAc,CAAC,KAAK,SAAS;AACxC,QAAM,UAAU,CAAC,UAAU;AACzB,UAAM,MAAM,OAAO;AACnB,UAAM,EAAE,UAAU,CAAC,GAAG,OAAO,UAAU,MAAM,IAAI;AACjD,UAAM;AAAA,MACJ,OAAO,EAAE,SAAS;AAAA,IACpB,IAAI,KAAK,YAAY;AACrB,UAAM,CAAC,UAAU,WAAW,IAAI,SAAS,CAAC,CAAC;AAC3C,UAAM,CAAC,UAAU,WAAW,IAAI,SAAS,KAAK;AAC9C,UAAM,eAAe,KAAK,YAAY;AACtC,UAAM,EAAE,MAAM,cAAc,IAAI;AAChC,UAAM,CAAC,sBAAsB,uBAAuB,IAAI;AAAA,MACtD,KAAK,KAAK,WAAW,KAAK,KAAK,QAAQ,cAAc,KAAK,KAAK,QAAQ;AAAA,IACzE;AAEA,cAAU,MAAM;AACd,YAAM,aAAa,gBAAgB,CAAC,KAAK,IAAI,CAAC;AAC9C,kBAAY;AAAA,QACV,GAAG;AAAA,QACH,GAAG,EAAE,KAAK,SAAS,CAAC,gBAAgB,MAAM,MAAM,IAAI;AAAA,MACtD,CAAC;AACD,UAAI,OAAO;AAET,gCAAwB,IAAI;AAAA,MAC9B,OAAO;AACL,gCAAwB,KAAK;AAAA,MAC/B;AACA;AAAA,QACE;AAAA,UACE,SAAS;AAAA,YACP,QAAQ,CAAC,WAAW,SAAS,aAAa,MAAM,OAAO,IAAI;AAAA,YAC3D,UAAU;AAAA,UACZ;AAAA,UACA,CAAC,UAAU;AAAA,QACb;AAAA,MACF;AAAA,IACF,GAAG,CAAC,OAAO,aAAa,CAAC;AACzB,WACE;AAAA,MAAC;AAAA;AAAA,QACC,WAAU;AAAA,QACV,OAAO;AAAA,UACL,QAAQ,CAAC,WAAW,SAAS,aAAa,MAAM,OAAO,IAAI;AAAA,UAC3D,UAAU,QAAQ,SAAS;AAAA;AAAA,QAE7B;AAAA,QAEA;AAAA,8BAAC,OAAI,KAAW,GAAG,OAAO,OAAO,UAAU;AAAA,UAC1C,QAAQ,OAAO,KAAK,CAAC,QAAQ,SAAS,CAAC,QAAQ,WAAW,OACzD,oBAAC,SAAI,WAAW,6BAA6B,QAAQ,SAAS,UAAU,OAAO,EAAE,GAAG,SAAS,GAC3F;AAAA,YAAC;AAAA;AAAA,cACC;AAAA,cACA,SAAS,EAAE,SAAS,OAAO,SAAS;AAAA,cACpC,cAAc;AAAA,cACd,QAAQ;AAAA;AAAA,UACV,GACF;AAAA;AAAA;AAAA,IAEJ;AAAA,EAEJ;AAEA,UAAQ,YAAY;AAAA,IAClB,SAAS,UAAU;AAAA,IACnB,OAAO,UAAU;AAAA,IACjB,UAAU,UAAU;AAAA,IACpB,OAAO,UAAU;AAAA,EACnB;AAEA,SAAO;AACT;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  import * as React from "react";
2
2
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
3
3
  import { createInstancePlugin, appendCellFormatter } from "@elliemae/ds-shared";
4
- import { RowRenderer } from "./RowRenderer";
4
+ import { RowRenderer } from "./RowRenderer.js";
5
5
  const decorateColumns = (columns) => {
6
6
  const lastColumn = columns[columns.length - 1];
7
7
  return [
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/plugins/toolbar/ToolbarPlugin.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { createInstancePlugin, appendCellFormatter } from '@elliemae/ds-shared';\nimport { RowRenderer } from './RowRenderer';\n\nconst decorateColumns = (columns) => {\n const lastColumn = columns[columns.length - 1];\n return [\n ...columns.slice(0, -1),\n appendCellFormatter(\n [\n (value) => (\n <>\n {value}\n <div style={{ width: 34, maxWidth: 34, overflow: 'hidden' }} />\n </>\n ),\n ],\n lastColumn,\n 'fixedFormatters',\n ),\n ];\n};\n\nconst decorateRenderers = (renderers, grid) => {\n const Row = renderers.body.row;\n renderers.body.row = RowRenderer(Row, grid);\n return renderers;\n};\n\nexport const ToolbarPlugin = createInstancePlugin('toolbar', {\n decorateRenderers,\n decorateColumns,\n});\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACWb,mBAEE,KAFF;AAVV,SAAS,sBAAsB,2BAA2B;AAC1D,SAAS,mBAAmB;AAE5B,MAAM,kBAAkB,CAAC,YAAY;AACnC,QAAM,aAAa,QAAQ,QAAQ,SAAS;AAC5C,SAAO;AAAA,IACL,GAAG,QAAQ,MAAM,GAAG,EAAE;AAAA,IACtB;AAAA,MACE;AAAA,QACE,CAAC,UACC,iCACG;AAAA;AAAA,UACD,oBAAC,SAAI,OAAO,EAAE,OAAO,IAAI,UAAU,IAAI,UAAU,SAAS,GAAG;AAAA,WAC/D;AAAA,MAEJ;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;AAEA,MAAM,oBAAoB,CAAC,WAAW,SAAS;AAC7C,QAAM,MAAM,UAAU,KAAK;AAC3B,YAAU,KAAK,MAAM,YAAY,KAAK,IAAI;AAC1C,SAAO;AACT;AAEO,MAAM,gBAAgB,qBAAqB,WAAW;AAAA,EAC3D;AAAA,EACA;AACF,CAAC;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { createInstancePlugin, appendCellFormatter } from '@elliemae/ds-shared';\nimport { RowRenderer } from './RowRenderer.js';\n\nconst decorateColumns = (columns) => {\n const lastColumn = columns[columns.length - 1];\n return [\n ...columns.slice(0, -1),\n appendCellFormatter(\n [\n (value) => (\n <>\n {value}\n <div style={{ width: 34, maxWidth: 34, overflow: 'hidden' }} />\n </>\n ),\n ],\n lastColumn,\n 'fixedFormatters',\n ),\n ];\n};\n\nconst decorateRenderers = (renderers, grid) => {\n const Row = renderers.body.row;\n renderers.body.row = RowRenderer(Row, grid);\n return renderers;\n};\n\nexport const ToolbarPlugin = createInstancePlugin('toolbar', {\n decorateRenderers,\n decorateColumns,\n});\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACWb,mBAEE,KAFF;AAVV,SAAS,sBAAsB,2BAA2B;AAC1D,SAAS,mBAAmB;AAE5B,MAAM,kBAAkB,CAAC,YAAY;AACnC,QAAM,aAAa,QAAQ,QAAQ,SAAS,CAAC;AAC7C,SAAO;AAAA,IACL,GAAG,QAAQ,MAAM,GAAG,EAAE;AAAA,IACtB;AAAA,MACE;AAAA,QACE,CAAC,UACC,iCACG;AAAA;AAAA,UACD,oBAAC,SAAI,OAAO,EAAE,OAAO,IAAI,UAAU,IAAI,UAAU,SAAS,GAAG;AAAA,WAC/D;AAAA,MAEJ;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;AAEA,MAAM,oBAAoB,CAAC,WAAW,SAAS;AAC7C,QAAM,MAAM,UAAU,KAAK;AAC3B,YAAU,KAAK,MAAM,YAAY,KAAK,IAAI;AAC1C,SAAO;AACT;AAEO,MAAM,gBAAgB,qBAAqB,WAAW;AAAA,EAC3D;AAAA,EACA;AACF,CAAC;",
6
6
  "names": []
7
7
  }
@@ -42,6 +42,7 @@ const ToolbarPosition = styled.div`
42
42
  const ToolbarTrigger = ({ grid, rowData, hasScrollBar, rowRef }) => {
43
43
  const {
44
44
  props: { renderToolbar, rowSize }
45
+ // eslint-disable-next-line react/prop-types
45
46
  } = grid.getInstance();
46
47
  const [show, setShow] = useState(false);
47
48
  const toolbar = show ? renderToolbar({
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/plugins/toolbar/ToolbarTrigger.tsx"],
4
4
  "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useState } from 'react';\nimport { styled } from '@elliemae/ds-system';\nimport { DSButton } from '@elliemae/ds-button';\nimport { MoreOptionsVert } from '@elliemae/ds-icons';\n\nconst ToolbarBtns = styled.div`\n & > .em-ds-toolbar {\n box-shadow: none;\n }\n`;\n\nconst ToolbarWrapper = styled.div`\n display: flex;\n align-items: center;\n height: ${(props) => (props.rowSize === 'normal' ? '36px' : '28px')};\n margin-left: -4px;\n margin-right: ${(props) => (props.hasScrollBar ? '0' : '-10px')};\n padding-right: 4px;\n pointer-events: all;\n background: white;\n ${(props) =>\n props.showShadow\n ? `box-shadow: -1px 0px 1px 0px rgba(0, 0, 0, 0.2),\n 1px 0px 2px 0px rgba(0, 0, 0, 0.2);`\n : ''}\n &:hover {\n box-shadow: -1px 0px 1px 0px rgba(0, 0, 0, 0.2), 1px 0px 2px 0px rgba(0, 0, 0, 0.2);\n & > .toolbar-trigger {\n border: none;\n }\n }\n`;\n\nconst ToolbarPosition = styled.div`\n position: absolute;\n z-index: 10;\n display: flex;\n justify-content: flex-end;\n align-items: center;\n width: 0;\n pointer-events: none;\n top: 0;\n height: ${(props) => (props.rowRef.current ? `${props.rowRef.current.offsetHeight}px` : '36px')};\n margin-top: ${(props) => (props.rowSize === 'normal' ? '0' : '0')};\n`;\n\n// eslint-disable-next-line react/prop-types\nexport const ToolbarTrigger = ({ grid, rowData, hasScrollBar, rowRef }) => {\n const {\n props: { renderToolbar, rowSize },\n // eslint-disable-next-line react/prop-types\n } = grid.getInstance();\n const [show, setShow] = useState(false);\n /* eslint-disable indent */\n const toolbar = show\n ? renderToolbar({\n ...rowData,\n size: rowSize,\n isToolbarShown: show,\n setToolbarShow: setShow,\n })\n : null;\n /* eslint-enable indent */\n return (\n <ToolbarPosition rowSize={rowSize} rowRef={rowRef}>\n <ToolbarWrapper\n onMouseEnter={() => setShow(true)}\n onMouseLeave={() => setShow(false)}\n showShadow={show}\n rowSize={rowSize}\n hasScrollBar={hasScrollBar}\n >\n {show && <ToolbarBtns>{toolbar}</ToolbarBtns>}\n <DSButton\n buttonType=\"text\"\n className=\"toolbar-trigger\"\n data-testid=\"toolbar-trigger\"\n icon={<MoreOptionsVert />}\n // eslint-disable-next-line react/prop-types\n index={rowData.index}\n onClick={() => setShow(true)}\n tabIndex={-1}\n />\n </ToolbarWrapper>\n </ToolbarPosition>\n );\n};\n\nexport default ToolbarTrigger;\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACiEjB,SAOW,KAPX;AAjEN,SAAgB,gBAAgB;AAChC,SAAS,cAAc;AACvB,SAAS,gBAAgB;AACzB,SAAS,uBAAuB;AAEhC,MAAM,cAAc,OAAO;AAAA;AAAA;AAAA;AAAA;AAM3B,MAAM,iBAAiB,OAAO;AAAA;AAAA;AAAA,YAGlB,CAAC,UAAW,MAAM,YAAY,WAAW,SAAS;AAAA;AAAA,kBAE5C,CAAC,UAAW,MAAM,eAAe,MAAM;AAAA;AAAA;AAAA;AAAA,IAIrD,CAAC,UACD,MAAM,aACF;AAAA,yCAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASR,MAAM,kBAAkB,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YASnB,CAAC,UAAW,MAAM,OAAO,UAAU,GAAG,MAAM,OAAO,QAAQ,mBAAmB;AAAA,gBAC1E,CAAC,UAAW,MAAM,YAAY,WAAW,MAAM;AAAA;AAIxD,MAAM,iBAAiB,CAAC,EAAE,MAAM,SAAS,cAAc,OAAO,MAAM;AACzE,QAAM;AAAA,IACJ,OAAO,EAAE,eAAe,QAAQ;AAAA,EAElC,IAAI,KAAK,YAAY;AACrB,QAAM,CAAC,MAAM,OAAO,IAAI,SAAS,KAAK;AAEtC,QAAM,UAAU,OACZ,cAAc;AAAA,IACZ,GAAG;AAAA,IACH,MAAM;AAAA,IACN,gBAAgB;AAAA,IAChB,gBAAgB;AAAA,EAClB,CAAC,IACD;AAEJ,SACE,oBAAC,mBAAgB,SAAkB,QACjC;AAAA,IAAC;AAAA;AAAA,MACC,cAAc,MAAM,QAAQ,IAAI;AAAA,MAChC,cAAc,MAAM,QAAQ,KAAK;AAAA,MACjC,YAAY;AAAA,MACZ;AAAA,MACA;AAAA,MAEC;AAAA,gBAAQ,oBAAC,eAAa,mBAAQ;AAAA,QAC/B;AAAA,UAAC;AAAA;AAAA,YACC,YAAW;AAAA,YACX,WAAU;AAAA,YACV,eAAY;AAAA,YACZ,MAAM,oBAAC,mBAAgB;AAAA,YAEvB,OAAO,QAAQ;AAAA,YACf,SAAS,MAAM,QAAQ,IAAI;AAAA,YAC3B,UAAU;AAAA;AAAA,QACZ;AAAA;AAAA;AAAA,EACF,GACF;AAEJ;AAEA,IAAO,yBAAQ;",
5
+ "mappings": "AAAA,YAAY,WAAW;ACiEjB,SAOW,KAPX;AAjEN,SAAgB,gBAAgB;AAChC,SAAS,cAAc;AACvB,SAAS,gBAAgB;AACzB,SAAS,uBAAuB;AAEhC,MAAM,cAAc,OAAO;AAAA;AAAA;AAAA;AAAA;AAM3B,MAAM,iBAAiB,OAAO;AAAA;AAAA;AAAA,YAGlB,CAAC,UAAW,MAAM,YAAY,WAAW,SAAS;AAAA;AAAA,kBAE5C,CAAC,UAAW,MAAM,eAAe,MAAM;AAAA;AAAA;AAAA;AAAA,IAIrD,CAAC,UACD,MAAM,aACF;AAAA,yCAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASR,MAAM,kBAAkB,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YASnB,CAAC,UAAW,MAAM,OAAO,UAAU,GAAG,MAAM,OAAO,QAAQ,mBAAmB;AAAA,gBAC1E,CAAC,UAAW,MAAM,YAAY,WAAW,MAAM;AAAA;AAIxD,MAAM,iBAAiB,CAAC,EAAE,MAAM,SAAS,cAAc,OAAO,MAAM;AACzE,QAAM;AAAA,IACJ,OAAO,EAAE,eAAe,QAAQ;AAAA;AAAA,EAElC,IAAI,KAAK,YAAY;AACrB,QAAM,CAAC,MAAM,OAAO,IAAI,SAAS,KAAK;AAEtC,QAAM,UAAU,OACZ,cAAc;AAAA,IACZ,GAAG;AAAA,IACH,MAAM;AAAA,IACN,gBAAgB;AAAA,IAChB,gBAAgB;AAAA,EAClB,CAAC,IACD;AAEJ,SACE,oBAAC,mBAAgB,SAAkB,QACjC;AAAA,IAAC;AAAA;AAAA,MACC,cAAc,MAAM,QAAQ,IAAI;AAAA,MAChC,cAAc,MAAM,QAAQ,KAAK;AAAA,MACjC,YAAY;AAAA,MACZ;AAAA,MACA;AAAA,MAEC;AAAA,gBAAQ,oBAAC,eAAa,mBAAQ;AAAA,QAC/B;AAAA,UAAC;AAAA;AAAA,YACC,YAAW;AAAA,YACX,WAAU;AAAA,YACV,eAAY;AAAA,YACZ,MAAM,oBAAC,mBAAgB;AAAA,YAEvB,OAAO,QAAQ;AAAA,YACf,SAAS,MAAM,QAAQ,IAAI;AAAA,YAC3B,UAAU;AAAA;AAAA,QACZ;AAAA;AAAA;AAAA,EACF,GACF;AAEJ;AAEA,IAAO,yBAAQ;",
6
6
  "names": []
7
7
  }
@@ -1,5 +1,5 @@
1
1
  import * as React from "react";
2
- import { ToolbarPlugin } from "./ToolbarPlugin";
2
+ import { ToolbarPlugin } from "./ToolbarPlugin.js";
3
3
  export {
4
4
  ToolbarPlugin
5
5
  };
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/plugins/toolbar/index.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export { ToolbarPlugin } from './ToolbarPlugin';\n"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export { ToolbarPlugin } from './ToolbarPlugin.js';\n"],
5
5
  "mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,qBAAqB;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/plugins/virtualization/AutoHeightList.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { forwardRef, useRef } from 'react';\nimport { FixedSizeList as List } from 'react-window';\nimport { mergeRefs, useWindowScrollerList, cx } from '@elliemae/ds-utilities';\n\n// eslint-disable-next-line react/display-name\nexport const AutoHeightList = forwardRef(\n (\n {\n itemCount,\n className,\n innerRef,\n itemData,\n itemKey,\n itemSize,\n outerRef,\n component: ListComponent = List,\n ...otherProps\n },\n ref,\n ) => {\n const listRef = useRef();\n const outerListRef = useRef();\n\n useWindowScrollerList({\n listInstance: listRef,\n outerListRef,\n });\n\n return (\n <ListComponent\n {...otherProps}\n ref={mergeRefs(ref, listRef)}\n className={cx(className, 'window-scroller-override')}\n height={window.innerHeight}\n innerRef={innerRef}\n itemCount={itemCount}\n itemData={itemData}\n itemKey={itemKey}\n itemSize={itemSize}\n outerRef={mergeRefs(outerListRef, outerRef)}\n overscanCount={10}\n useIsScrolling\n />\n );\n },\n);\n\nexport default AutoHeightList;\n"],
5
- "mappings": "AAAA,YAAY,WAAW;AC6BjB;AA7BN,SAAgB,YAAY,cAAc;AAC1C,SAAS,iBAAiB,YAAY;AACtC,SAAS,WAAW,uBAAuB,UAAU;AAG9C,MAAM,iBAAiB;AAAA,EAC5B,CACE;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW,gBAAgB;AAAA,OACxB;AAAA,EACL,GACA,QACG;AACH,UAAM,UAAU,OAAO;AACvB,UAAM,eAAe,OAAO;AAE5B,0BAAsB;AAAA,MACpB,cAAc;AAAA,MACd;AAAA,IACF,CAAC;AAED,WACE;AAAA,MAAC;AAAA;AAAA,QACE,GAAG;AAAA,QACJ,KAAK,UAAU,KAAK,OAAO;AAAA,QAC3B,WAAW,GAAG,WAAW,0BAA0B;AAAA,QACnD,QAAQ,OAAO;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,UAAU,UAAU,cAAc,QAAQ;AAAA,QAC1C,eAAe;AAAA,QACf,gBAAc;AAAA;AAAA,IAChB;AAAA,EAEJ;AACF;AAEA,IAAO,yBAAQ;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { forwardRef, useRef } from 'react';\nimport { FixedSizeList as List } from 'react-window';\nimport { mergeRefs, useWindowScrollerList, cx } from '@elliemae/ds-utilities';\n\n// eslint-disable-next-line react/display-name\nexport const AutoHeightList = forwardRef(\n (\n {\n itemCount,\n className,\n innerRef,\n itemData,\n itemKey,\n itemSize,\n outerRef,\n component: ListComponent = List,\n ...otherProps\n },\n ref,\n ) => {\n const listRef = useRef();\n const outerListRef = useRef();\n\n useWindowScrollerList({\n listInstance: listRef,\n outerListRef,\n });\n return (\n <ListComponent\n {...otherProps}\n ref={mergeRefs(ref, listRef)}\n className={cx(className, 'window-scroller-override')}\n height={window.innerHeight}\n innerRef={innerRef}\n itemCount={itemCount}\n itemData={itemData}\n itemKey={itemKey}\n itemSize={itemSize}\n outerRef={mergeRefs(outerListRef, outerRef)}\n overscanCount={10}\n useIsScrolling\n />\n );\n },\n);\n\nexport default AutoHeightList;\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;AC4BjB;AA5BN,SAAgB,YAAY,cAAc;AAC1C,SAAS,iBAAiB,YAAY;AACtC,SAAS,WAAW,uBAAuB,UAAU;AAG9C,MAAM,iBAAiB;AAAA,EAC5B,CACE;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW,gBAAgB;AAAA,IAC3B,GAAG;AAAA,EACL,GACA,QACG;AACH,UAAM,UAAU,OAAO;AACvB,UAAM,eAAe,OAAO;AAE5B,0BAAsB;AAAA,MACpB,cAAc;AAAA,MACd;AAAA,IACF,CAAC;AACD,WACE;AAAA,MAAC;AAAA;AAAA,QACE,GAAG;AAAA,QACJ,KAAK,UAAU,KAAK,OAAO;AAAA,QAC3B,WAAW,GAAG,WAAW,0BAA0B;AAAA,QACnD,QAAQ,OAAO;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,UAAU,UAAU,cAAc,QAAQ;AAAA,QAC1C,eAAe;AAAA,QACf,gBAAc;AAAA;AAAA,IAChB;AAAA,EAEJ;AACF;AAEA,IAAO,yBAAQ;",
6
6
  "names": []
7
7
  }
@@ -4,12 +4,12 @@ import { useMemo, useRef } from "react";
4
4
  import { get } from "lodash";
5
5
  import { runAll, mergeRefs } from "@elliemae/ds-utilities";
6
6
  import { createInstancePlugin, FocusGrid } from "@elliemae/ds-shared";
7
- import { VirtualizedBody } from "./VirtualizedBody";
7
+ import { VirtualizedBody } from "./VirtualizedBody.js";
8
8
  const VirtualizationPlugin = createInstancePlugin("virtualization", {
9
9
  decorateRenderers(renderers, grid) {
10
10
  const BodyWrapper = renderers.body.wrapper;
11
11
  renderers.body.wrapper = useMemo(
12
- () => (props) => {
12
+ () => function(props) {
13
13
  const { listProps = {}, rows } = props;
14
14
  const {
15
15
  hotKeys,
@@ -29,6 +29,8 @@ const VirtualizationPlugin = createInstancePlugin("virtualization", {
29
29
  hotKeys,
30
30
  keyBindings: ({ defaultBindings }) => ({
31
31
  ...defaultBindings,
32
+ // todo: this is kind of hacky, since it's virtualized and there's
33
+ // the possibility that the firsts or lasts rows aren't rendered
32
34
  Home: runAll((e) => {
33
35
  if (e.ctrlKey) {
34
36
  listRef.current.scrollToItem(0);
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/plugins/virtualization/VirtualizationPlugin.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable no-param-reassign */\n/* eslint-disable react/prop-types */\n/* eslint-disable react-hooks/rules-of-hooks */\nimport React, { useMemo, useRef } from 'react';\nimport { get } from 'lodash';\nimport { runAll, mergeRefs } from '@elliemae/ds-utilities';\nimport { createInstancePlugin, FocusGrid } from '@elliemae/ds-shared';\nimport { VirtualizedBody } from './VirtualizedBody';\n\nexport const VirtualizationPlugin = createInstancePlugin('virtualization', {\n decorateRenderers(renderers, grid) {\n const BodyWrapper = renderers.body.wrapper;\n // eslint-disable-next-line react/display-name\n renderers.body.wrapper = useMemo(\n () => (props) => {\n const { listProps = {}, rows } = props;\n const {\n hotKeys,\n props: { autoHeight, autoScrollToId, expandable, overscanCount, rowSize },\n refs: { innerBody },\n setHasScroll,\n state: { filters },\n } = grid.getInstance();\n\n const listRef = useRef();\n const nextListProps = {\n ...listProps,\n ref: mergeRefs(listRef, listProps.ref),\n };\n return (\n <FocusGrid\n hotKeys={hotKeys}\n keyBindings={({ defaultBindings }) => ({\n ...defaultBindings,\n // todo: this is kind of hacky, since it's virtualized and there's\n // the possibility that the firsts or lasts rows aren't rendered\n Home: runAll((e) => {\n if (e.ctrlKey) {\n listRef.current.scrollToItem(0);\n setTimeout(() => defaultBindings.Home(e), 10);\n } else {\n defaultBindings.Home(e);\n }\n }),\n End: runAll((e) => {\n if (e.ctrlKey) {\n listRef.current.scrollToItem(rows.length - 1);\n setTimeout(() => defaultBindings.End(e), 10);\n } else {\n defaultBindings.End(e);\n }\n }),\n })}\n shouldRefocus={false}\n >\n <VirtualizedBody\n {...props}\n autoScrollToId={autoScrollToId}\n autoHeight={autoHeight}\n component={BodyWrapper}\n expandable={expandable}\n innerBody={innerBody}\n listProps={nextListProps}\n overscanCount={overscanCount}\n rowSize={rowSize}\n setHasScroll={setHasScroll}\n filters={filters}\n />\n </FocusGrid>\n );\n },\n [get(grid.getInstance(), 'rows.length')],\n );\n return renderers;\n },\n});\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACuDX;AApDZ,SAAgB,SAAS,cAAc;AACvC,SAAS,WAAW;AACpB,SAAS,QAAQ,iBAAiB;AAClC,SAAS,sBAAsB,iBAAiB;AAChD,SAAS,uBAAuB;AAEzB,MAAM,uBAAuB,qBAAqB,kBAAkB;AAAA,EACzE,kBAAkB,WAAW,MAAM;AACjC,UAAM,cAAc,UAAU,KAAK;AAEnC,cAAU,KAAK,UAAU;AAAA,MACvB,MAAM,CAAC,UAAU;AACf,cAAM,EAAE,YAAY,CAAC,GAAG,KAAK,IAAI;AACjC,cAAM;AAAA,UACJ;AAAA,UACA,OAAO,EAAE,YAAY,gBAAgB,YAAY,eAAe,QAAQ;AAAA,UACxE,MAAM,EAAE,UAAU;AAAA,UAClB;AAAA,UACA,OAAO,EAAE,QAAQ;AAAA,QACnB,IAAI,KAAK,YAAY;AAErB,cAAM,UAAU,OAAO;AACvB,cAAM,gBAAgB;AAAA,UACpB,GAAG;AAAA,UACH,KAAK,UAAU,SAAS,UAAU,GAAG;AAAA,QACvC;AACA,eACE;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACA,aAAa,CAAC,EAAE,gBAAgB,OAAO;AAAA,cACrC,GAAG;AAAA,cAGH,MAAM,OAAO,CAAC,MAAM;AAClB,oBAAI,EAAE,SAAS;AACb,0BAAQ,QAAQ,aAAa,CAAC;AAC9B,6BAAW,MAAM,gBAAgB,KAAK,CAAC,GAAG,EAAE;AAAA,gBAC9C,OAAO;AACL,kCAAgB,KAAK,CAAC;AAAA,gBACxB;AAAA,cACF,CAAC;AAAA,cACD,KAAK,OAAO,CAAC,MAAM;AACjB,oBAAI,EAAE,SAAS;AACb,0BAAQ,QAAQ,aAAa,KAAK,SAAS,CAAC;AAC5C,6BAAW,MAAM,gBAAgB,IAAI,CAAC,GAAG,EAAE;AAAA,gBAC7C,OAAO;AACL,kCAAgB,IAAI,CAAC;AAAA,gBACvB;AAAA,cACF,CAAC;AAAA,YACH;AAAA,YACA,eAAe;AAAA,YAEf;AAAA,cAAC;AAAA;AAAA,gBACE,GAAG;AAAA,gBACJ;AAAA,gBACA;AAAA,gBACA,WAAW;AAAA,gBACX;AAAA,gBACA;AAAA,gBACA,WAAW;AAAA,gBACX;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA;AAAA,YACF;AAAA;AAAA,QACF;AAAA,MAEJ;AAAA,MACA,CAAC,IAAI,KAAK,YAAY,GAAG,aAAa,CAAC;AAAA,IACzC;AACA,WAAO;AAAA,EACT;AACF,CAAC;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable no-param-reassign */\n/* eslint-disable react/prop-types */\n/* eslint-disable react-hooks/rules-of-hooks */\nimport React, { useMemo, useRef } from 'react';\nimport { get } from 'lodash';\nimport { runAll, mergeRefs } from '@elliemae/ds-utilities';\nimport { createInstancePlugin, FocusGrid } from '@elliemae/ds-shared';\nimport { VirtualizedBody } from './VirtualizedBody.js';\n\nexport const VirtualizationPlugin = createInstancePlugin('virtualization', {\n decorateRenderers(renderers, grid) {\n const BodyWrapper = renderers.body.wrapper;\n // eslint-disable-next-line react/display-name\n renderers.body.wrapper = useMemo(\n () =>\n function (props) {\n const { listProps = {}, rows } = props;\n const {\n hotKeys,\n props: { autoHeight, autoScrollToId, expandable, overscanCount, rowSize },\n refs: { innerBody },\n setHasScroll,\n state: { filters },\n } = grid.getInstance();\n\n const listRef = useRef();\n const nextListProps = {\n ...listProps,\n ref: mergeRefs(listRef, listProps.ref),\n };\n return (\n <FocusGrid\n hotKeys={hotKeys}\n keyBindings={({ defaultBindings }) => ({\n ...defaultBindings,\n // todo: this is kind of hacky, since it's virtualized and there's\n // the possibility that the firsts or lasts rows aren't rendered\n Home: runAll((e) => {\n if (e.ctrlKey) {\n listRef.current.scrollToItem(0);\n setTimeout(() => defaultBindings.Home(e), 10);\n } else {\n defaultBindings.Home(e);\n }\n }),\n End: runAll((e) => {\n if (e.ctrlKey) {\n listRef.current.scrollToItem(rows.length - 1);\n setTimeout(() => defaultBindings.End(e), 10);\n } else {\n defaultBindings.End(e);\n }\n }),\n })}\n shouldRefocus={false}\n >\n <VirtualizedBody\n {...props}\n autoScrollToId={autoScrollToId}\n autoHeight={autoHeight}\n component={BodyWrapper}\n expandable={expandable}\n innerBody={innerBody}\n listProps={nextListProps}\n overscanCount={overscanCount}\n rowSize={rowSize}\n setHasScroll={setHasScroll}\n filters={filters}\n />\n </FocusGrid>\n );\n },\n [get(grid.getInstance(), 'rows.length')],\n );\n return renderers;\n },\n});\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACwDT;AArDd,SAAgB,SAAS,cAAc;AACvC,SAAS,WAAW;AACpB,SAAS,QAAQ,iBAAiB;AAClC,SAAS,sBAAsB,iBAAiB;AAChD,SAAS,uBAAuB;AAEzB,MAAM,uBAAuB,qBAAqB,kBAAkB;AAAA,EACzE,kBAAkB,WAAW,MAAM;AACjC,UAAM,cAAc,UAAU,KAAK;AAEnC,cAAU,KAAK,UAAU;AAAA,MACvB,MACE,SAAU,OAAO;AACf,cAAM,EAAE,YAAY,CAAC,GAAG,KAAK,IAAI;AACjC,cAAM;AAAA,UACJ;AAAA,UACA,OAAO,EAAE,YAAY,gBAAgB,YAAY,eAAe,QAAQ;AAAA,UACxE,MAAM,EAAE,UAAU;AAAA,UAClB;AAAA,UACA,OAAO,EAAE,QAAQ;AAAA,QACnB,IAAI,KAAK,YAAY;AAErB,cAAM,UAAU,OAAO;AACvB,cAAM,gBAAgB;AAAA,UACpB,GAAG;AAAA,UACH,KAAK,UAAU,SAAS,UAAU,GAAG;AAAA,QACvC;AACA,eACE;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACA,aAAa,CAAC,EAAE,gBAAgB,OAAO;AAAA,cACrC,GAAG;AAAA;AAAA;AAAA,cAGH,MAAM,OAAO,CAAC,MAAM;AAClB,oBAAI,EAAE,SAAS;AACb,0BAAQ,QAAQ,aAAa,CAAC;AAC9B,6BAAW,MAAM,gBAAgB,KAAK,CAAC,GAAG,EAAE;AAAA,gBAC9C,OAAO;AACL,kCAAgB,KAAK,CAAC;AAAA,gBACxB;AAAA,cACF,CAAC;AAAA,cACD,KAAK,OAAO,CAAC,MAAM;AACjB,oBAAI,EAAE,SAAS;AACb,0BAAQ,QAAQ,aAAa,KAAK,SAAS,CAAC;AAC5C,6BAAW,MAAM,gBAAgB,IAAI,CAAC,GAAG,EAAE;AAAA,gBAC7C,OAAO;AACL,kCAAgB,IAAI,CAAC;AAAA,gBACvB;AAAA,cACF,CAAC;AAAA,YACH;AAAA,YACA,eAAe;AAAA,YAEf;AAAA,cAAC;AAAA;AAAA,gBACE,GAAG;AAAA,gBACJ;AAAA,gBACA;AAAA,gBACA,WAAW;AAAA,gBACX;AAAA,gBACA;AAAA,gBACA,WAAW;AAAA,gBACX;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA;AAAA,YACF;AAAA;AAAA,QACF;AAAA,MAEJ;AAAA,MACF,CAAC,IAAI,KAAK,YAAY,GAAG,aAAa,CAAC;AAAA,IACzC;AACA,WAAO;AAAA,EACT;AACF,CAAC;",
6
6
  "names": []
7
7
  }
@@ -3,10 +3,10 @@ import { jsx } from "react/jsx-runtime";
3
3
  import { useEffect, useState, useCallback, useRef, useLayoutEffect } from "react";
4
4
  import PropTypes from "prop-types";
5
5
  import { mergeRefs, debounce, isNaN } from "@elliemae/ds-utilities";
6
- import { NoResults } from "../../components/NoResults";
7
- import { VirtualizedBodyRow } from "./VirtualizedBodyRow";
8
- import { RowSizes } from "../../rowSizes";
9
- import { isSafari } from "./helper";
6
+ import { NoResults } from "../../components/NoResults.js";
7
+ import { VirtualizedBodyRow } from "./VirtualizedBodyRow.js";
8
+ import { RowSizes } from "../../rowSizes.js";
9
+ import { isSafari } from "./helper.js";
10
10
  const wrapperSafari = {};
11
11
  const wrapperGeneric = { overflowY: "auto", overflowX: "visible" };
12
12
  const VirtualizedBody = (props) => {
@@ -28,6 +28,7 @@ const VirtualizedBody = (props) => {
28
28
  rowSize,
29
29
  setHasScroll,
30
30
  filters
31
+ // hack to reset the scrollTop to 0 if filters change
31
32
  } = props;
32
33
  const rowHeight = defaultRowHeight || RowSizes[rowSize];
33
34
  const [scrollTop, setScrollTop] = useState(0);
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/plugins/virtualization/VirtualizedBody.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\n/* eslint-disable max-statements */\nimport React, { useEffect, useState, useCallback, useRef, useLayoutEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { mergeRefs, debounce, isNaN } from '@elliemae/ds-utilities';\nimport { NoResults } from '../../components/NoResults';\nimport { VirtualizedBodyRow } from './VirtualizedBodyRow';\nimport { RowSizes } from '../../rowSizes';\nimport { isSafari } from './helper';\n\nconst wrapperSafari = {};\nconst wrapperGeneric = { overflowY: 'auto', overflowX: 'visible' };\n\nconst VirtualizedBody = (props) => {\n const {\n autoScrollToId,\n columns,\n component: Component,\n expandable,\n innerRef,\n innerBody,\n isPlaceholderActive,\n listProps,\n noResultsPlaceholder,\n overscanCount,\n rows,\n rowHeight: defaultRowHeight,\n rowKey,\n rowRenderer,\n rowSize,\n setHasScroll,\n filters, // hack to reset the scrollTop to 0 if filters change\n } = props;\n const rowHeight = defaultRowHeight || RowSizes[rowSize];\n const [scrollTop, setScrollTop] = useState(0);\n const [visibleHeight, setVisibleHeight] = useState(0);\n const [hasScrollBar, setHasScrollBar] = useState(false);\n const rowStyleCache = useRef({});\n const [renderedIndexes, setRenderedIndexes] = useState([0, 30]);\n\n const getCalculatedHeightBetweenIndexes = (start, end) => {\n const { itemSize = () => rowHeight } = listProps;\n if (expandable) {\n return rows\n .slice(start, end)\n .map((_, idx) => idx)\n .map((idx) => itemSize(idx))\n .reduce((acc, curr) => acc + curr, 0);\n }\n return (end - start) * rowHeight;\n };\n\n const generateRowPositionMap = () => rows.map((row, idx) => getCalculatedHeightBetweenIndexes(0, idx));\n\n const rowPositionMap = useRef(generateRowPositionMap());\n const [virtualizedBodyRef, setVirtualizedBodyRef] = useState(null);\n const handlerRef = useRef();\n\n const autoScrollTo = useCallback(\n (scrollHeight) => {\n const { itemSize = () => rowHeight } = listProps;\n const idx = rows.findIndex((item) => item[rowKey] === autoScrollToId);\n let val = rowPositionMap.current[idx] || 0;\n const lastPositionIdx = rowPositionMap.current.length - 1;\n let lastPosition = 0;\n if (lastPositionIdx > -1) {\n lastPosition = rowPositionMap.current[lastPositionIdx] - scrollHeight + itemSize(lastPositionIdx);\n }\n if (lastPosition < val) {\n val = lastPosition;\n }\n if (virtualizedBodyRef) {\n if (idx > -1) {\n setScrollTop(val);\n virtualizedBodyRef.scrollTop = val;\n }\n }\n },\n [rows, virtualizedBodyRef],\n );\n\n useEffect(() => {\n autoScrollTo(visibleHeight);\n }, [autoScrollToId, visibleHeight]);\n\n const handler = useCallback(\n debounce(({ target }) => {\n // Update coordinates\n setScrollTop(target.scrollTop || 0);\n }, 100),\n [setScrollTop],\n );\n\n useEffect(() => {\n setScrollTop(0);\n }, [filters]);\n\n useEffect(() => {\n handlerRef.current = handler;\n }, [handler]);\n\n useLayoutEffect(() => {\n let top = Math.ceil(scrollTop / rowHeight);\n let bot = Math.ceil((scrollTop + visibleHeight) / rowHeight);\n if (expandable) {\n // updateMapperFirst\n rowPositionMap.current = generateRowPositionMap();\n top = rowPositionMap.current.findIndex((item) => item > scrollTop);\n bot = rowPositionMap.current.findIndex((item) => item > scrollTop + visibleHeight);\n if (bot === -1) bot = rowPositionMap.current.length;\n }\n let upperBound = top - 1 - overscanCount;\n let lowerBound = bot - 1 + overscanCount;\n if (upperBound < 0) {\n upperBound = 0;\n }\n if (lowerBound - upperBound < overscanCount) {\n lowerBound = upperBound + overscanCount;\n }\n if (lowerBound > rows.length) {\n lowerBound = rows.length;\n }\n setHasScrollBar(visibleHeight < getHeight());\n setHasScroll(visibleHeight < getHeight());\n setRenderedIndexes([upperBound, lowerBound]);\n }, [visibleHeight, scrollTop, rows]);\n\n useLayoutEffect(() => {\n if (virtualizedBodyRef) {\n const parsedVisibleHeight = parseFloat(\n window.getComputedStyle(virtualizedBodyRef, null).getPropertyValue('height'),\n );\n // eslint-disable-next-line no-restricted-globals\n if (!isNaN(parsedVisibleHeight)) {\n setVisibleHeight(parsedVisibleHeight);\n autoScrollTo(parsedVisibleHeight);\n }\n }\n }, [rows, virtualizedBodyRef]);\n\n useEffect(() => {\n if (virtualizedBodyRef) {\n const eventListener = (event) => handlerRef.current(event);\n virtualizedBodyRef.addEventListener('scroll', eventListener);\n\n return () => {\n virtualizedBodyRef.removeEventListener('scroll', eventListener);\n };\n }\n return () => null;\n }, [virtualizedBodyRef]);\n\n const getHeight = () => {\n let returnHeight = 0;\n if (expandable) {\n returnHeight = getCalculatedHeightBetweenIndexes(0, rows.length) + 8;\n } else {\n returnHeight = rows.length * rowHeight + 8;\n }\n // if (visibleHeight > returnHeight) {\n // return visibleHeight;\n // }\n if (virtualizedBodyRef && virtualizedBodyRef.scrollHeight > virtualizedBodyRef.clientHeight) {\n return returnHeight + 10;\n }\n return returnHeight;\n };\n\n const getRowStyle = (row, index, specificRowHeight) => {\n const { itemSize } = listProps;\n\n if (!expandable && rowStyleCache.current[index]) {\n return rowStyleCache.current[index];\n }\n rowStyleCache.current[index] = {\n height: itemSize ? itemSize(index) : specificRowHeight,\n left: 0,\n right: 0,\n top: getCalculatedHeightBetweenIndexes(0, index),\n position: 'absolute',\n };\n return rowStyleCache.current[index];\n };\n\n const generateRenderedRows = () =>\n rows.slice(renderedIndexes[0], renderedIndexes[1] + 1).map((_, index) => (\n <VirtualizedBodyRow\n data={{\n rows,\n columns,\n rowKey,\n renderer: { rowRenderer },\n }}\n index={renderedIndexes[0] + index}\n key={rows[renderedIndexes[0] + index][rowKey]}\n style={getRowStyle(rows[renderedIndexes[0] + index], renderedIndexes[0] + index, rowHeight)}\n ></VirtualizedBodyRow>\n ));\n\n const wrapperStyle = {\n height: '100%',\n ...(isSafari ? wrapperSafari : wrapperGeneric),\n };\n const bodyStyle = {\n height: getHeight(),\n willChange: 'transform',\n backfaceVisibility: 'hidden',\n };\n\n return (\n <Component {...props} innerRef={innerRef}>\n {!isPlaceholderActive ? (\n <div\n className=\"virtualized-body-wrapper\"\n style={wrapperStyle}\n ref={(elem) => {\n if (elem) {\n if (isSafari) {\n setVirtualizedBodyRef(elem.parentElement);\n // eslint-disable-next-line no-param-reassign\n elem.parentElement.scrollTop = scrollTop;\n mergeRefs(listProps.outerRef)(elem.parentElement);\n } else {\n setVirtualizedBodyRef(elem);\n mergeRefs(listProps.outerRef)(elem);\n }\n }\n }}\n >\n <div\n data-testid=\"virtualized-body\"\n className={`virtualized-body${hasScrollBar ? ' with-scrollbar' : ''}`}\n style={bodyStyle}\n ref={(r) => {\n mergeRefs(innerBody)(r);\n }}\n >\n {generateRenderedRows()}\n </div>\n </div>\n ) : (\n <NoResults innerRef={innerRef} rowRenderer={rowRenderer}>\n {noResultsPlaceholder}\n </NoResults>\n )}\n </Component>\n );\n};\n\nVirtualizedBody.defaultProps = {\n rows: [],\n overscanCount: 10,\n};\n\nVirtualizedBody.propTypes = {\n autoScrollToId: PropTypes.number,\n columns: PropTypes.arrayOf(PropTypes.shape({})),\n component: PropTypes.element,\n expandable: PropTypes.bool,\n filters: PropTypes.any,\n innerRef: PropTypes.any,\n innerBody: PropTypes.any,\n isPlaceholderActive: PropTypes.bool,\n listProps: PropTypes.shape({\n itemSize: PropTypes.func,\n outerRef: PropTypes.any,\n }),\n noResultsPlaceholder: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n overscanCount: PropTypes.number,\n rows: PropTypes.arrayOf(PropTypes.shape({})),\n rowHeight: PropTypes.number,\n rowKey: PropTypes.string,\n rowRenderer: PropTypes.element,\n rowSize: PropTypes.any,\n setHasScroll: PropTypes.func,\n};\n\nexport { VirtualizedBody };\nexport default VirtualizedBody;\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\n/* eslint-disable max-statements */\nimport React, { useEffect, useState, useCallback, useRef, useLayoutEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { mergeRefs, debounce, isNaN } from '@elliemae/ds-utilities';\nimport { NoResults } from '../../components/NoResults.js';\nimport { VirtualizedBodyRow } from './VirtualizedBodyRow.js';\nimport { RowSizes } from '../../rowSizes.js';\nimport { isSafari } from './helper.js';\n\nconst wrapperSafari = {};\nconst wrapperGeneric = { overflowY: 'auto', overflowX: 'visible' };\n\nconst VirtualizedBody = (props) => {\n const {\n autoScrollToId,\n columns,\n component: Component,\n expandable,\n innerRef,\n innerBody,\n isPlaceholderActive,\n listProps,\n noResultsPlaceholder,\n overscanCount,\n rows,\n rowHeight: defaultRowHeight,\n rowKey,\n rowRenderer,\n rowSize,\n setHasScroll,\n filters, // hack to reset the scrollTop to 0 if filters change\n } = props;\n const rowHeight = defaultRowHeight || RowSizes[rowSize];\n const [scrollTop, setScrollTop] = useState(0);\n const [visibleHeight, setVisibleHeight] = useState(0);\n const [hasScrollBar, setHasScrollBar] = useState(false);\n const rowStyleCache = useRef({});\n const [renderedIndexes, setRenderedIndexes] = useState([0, 30]);\n\n const getCalculatedHeightBetweenIndexes = (start, end) => {\n const { itemSize = () => rowHeight } = listProps;\n if (expandable) {\n return rows\n .slice(start, end)\n .map((_, idx) => idx)\n .map((idx) => itemSize(idx))\n .reduce((acc, curr) => acc + curr, 0);\n }\n return (end - start) * rowHeight;\n };\n\n const generateRowPositionMap = () => rows.map((row, idx) => getCalculatedHeightBetweenIndexes(0, idx));\n\n const rowPositionMap = useRef(generateRowPositionMap());\n const [virtualizedBodyRef, setVirtualizedBodyRef] = useState(null);\n const handlerRef = useRef();\n\n const autoScrollTo = useCallback(\n (scrollHeight) => {\n const { itemSize = () => rowHeight } = listProps;\n const idx = rows.findIndex((item) => item[rowKey] === autoScrollToId);\n let val = rowPositionMap.current[idx] || 0;\n const lastPositionIdx = rowPositionMap.current.length - 1;\n let lastPosition = 0;\n if (lastPositionIdx > -1) {\n lastPosition = rowPositionMap.current[lastPositionIdx] - scrollHeight + itemSize(lastPositionIdx);\n }\n if (lastPosition < val) {\n val = lastPosition;\n }\n if (virtualizedBodyRef) {\n if (idx > -1) {\n setScrollTop(val);\n virtualizedBodyRef.scrollTop = val;\n }\n }\n },\n [rows, virtualizedBodyRef],\n );\n\n useEffect(() => {\n autoScrollTo(visibleHeight);\n }, [autoScrollToId, visibleHeight]);\n\n const handler = useCallback(\n debounce(({ target }) => {\n // Update coordinates\n setScrollTop(target.scrollTop || 0);\n }, 100),\n [setScrollTop],\n );\n\n useEffect(() => {\n setScrollTop(0);\n }, [filters]);\n\n useEffect(() => {\n handlerRef.current = handler;\n }, [handler]);\n\n useLayoutEffect(() => {\n let top = Math.ceil(scrollTop / rowHeight);\n let bot = Math.ceil((scrollTop + visibleHeight) / rowHeight);\n if (expandable) {\n // updateMapperFirst\n rowPositionMap.current = generateRowPositionMap();\n top = rowPositionMap.current.findIndex((item) => item > scrollTop);\n bot = rowPositionMap.current.findIndex((item) => item > scrollTop + visibleHeight);\n if (bot === -1) bot = rowPositionMap.current.length;\n }\n let upperBound = top - 1 - overscanCount;\n let lowerBound = bot - 1 + overscanCount;\n if (upperBound < 0) {\n upperBound = 0;\n }\n if (lowerBound - upperBound < overscanCount) {\n lowerBound = upperBound + overscanCount;\n }\n if (lowerBound > rows.length) {\n lowerBound = rows.length;\n }\n setHasScrollBar(visibleHeight < getHeight());\n setHasScroll(visibleHeight < getHeight());\n setRenderedIndexes([upperBound, lowerBound]);\n }, [visibleHeight, scrollTop, rows]);\n\n useLayoutEffect(() => {\n if (virtualizedBodyRef) {\n const parsedVisibleHeight = parseFloat(\n window.getComputedStyle(virtualizedBodyRef, null).getPropertyValue('height'),\n );\n // eslint-disable-next-line no-restricted-globals\n if (!isNaN(parsedVisibleHeight)) {\n setVisibleHeight(parsedVisibleHeight);\n autoScrollTo(parsedVisibleHeight);\n }\n }\n }, [rows, virtualizedBodyRef]);\n\n useEffect(() => {\n if (virtualizedBodyRef) {\n const eventListener = (event) => handlerRef.current(event);\n virtualizedBodyRef.addEventListener('scroll', eventListener);\n\n return () => {\n virtualizedBodyRef.removeEventListener('scroll', eventListener);\n };\n }\n return () => null;\n }, [virtualizedBodyRef]);\n\n const getHeight = () => {\n let returnHeight = 0;\n if (expandable) {\n returnHeight = getCalculatedHeightBetweenIndexes(0, rows.length) + 8;\n } else {\n returnHeight = rows.length * rowHeight + 8;\n }\n // if (visibleHeight > returnHeight) {\n // return visibleHeight;\n // }\n if (virtualizedBodyRef && virtualizedBodyRef.scrollHeight > virtualizedBodyRef.clientHeight) {\n return returnHeight + 10;\n }\n return returnHeight;\n };\n\n const getRowStyle = (row, index, specificRowHeight) => {\n const { itemSize } = listProps;\n\n if (!expandable && rowStyleCache.current[index]) {\n return rowStyleCache.current[index];\n }\n rowStyleCache.current[index] = {\n height: itemSize ? itemSize(index) : specificRowHeight,\n left: 0,\n right: 0,\n top: getCalculatedHeightBetweenIndexes(0, index),\n position: 'absolute',\n };\n return rowStyleCache.current[index];\n };\n\n const generateRenderedRows = () =>\n rows.slice(renderedIndexes[0], renderedIndexes[1] + 1).map((_, index) => (\n <VirtualizedBodyRow\n data={{\n rows,\n columns,\n rowKey,\n renderer: { rowRenderer },\n }}\n index={renderedIndexes[0] + index}\n key={rows[renderedIndexes[0] + index][rowKey]}\n style={getRowStyle(rows[renderedIndexes[0] + index], renderedIndexes[0] + index, rowHeight)}\n ></VirtualizedBodyRow>\n ));\n\n const wrapperStyle = {\n height: '100%',\n ...(isSafari ? wrapperSafari : wrapperGeneric),\n };\n const bodyStyle = {\n height: getHeight(),\n willChange: 'transform',\n backfaceVisibility: 'hidden',\n };\n\n return (\n <Component {...props} innerRef={innerRef}>\n {!isPlaceholderActive ? (\n <div\n className=\"virtualized-body-wrapper\"\n style={wrapperStyle}\n ref={(elem) => {\n if (elem) {\n if (isSafari) {\n setVirtualizedBodyRef(elem.parentElement);\n // eslint-disable-next-line no-param-reassign\n elem.parentElement.scrollTop = scrollTop;\n mergeRefs(listProps.outerRef)(elem.parentElement);\n } else {\n setVirtualizedBodyRef(elem);\n mergeRefs(listProps.outerRef)(elem);\n }\n }\n }}\n >\n <div\n data-testid=\"virtualized-body\"\n className={`virtualized-body${hasScrollBar ? ' with-scrollbar' : ''}`}\n style={bodyStyle}\n ref={(r) => {\n mergeRefs(innerBody)(r);\n }}\n >\n {generateRenderedRows()}\n </div>\n </div>\n ) : (\n <NoResults innerRef={innerRef} rowRenderer={rowRenderer}>\n {noResultsPlaceholder}\n </NoResults>\n )}\n </Component>\n );\n};\n\nVirtualizedBody.defaultProps = {\n rows: [],\n overscanCount: 10,\n};\n\nVirtualizedBody.propTypes = {\n autoScrollToId: PropTypes.number,\n columns: PropTypes.arrayOf(PropTypes.shape({})),\n component: PropTypes.element,\n expandable: PropTypes.bool,\n filters: PropTypes.any,\n innerRef: PropTypes.any,\n innerBody: PropTypes.any,\n isPlaceholderActive: PropTypes.bool,\n listProps: PropTypes.shape({\n itemSize: PropTypes.func,\n outerRef: PropTypes.any,\n }),\n noResultsPlaceholder: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n overscanCount: PropTypes.number,\n rows: PropTypes.arrayOf(PropTypes.shape({})),\n rowHeight: PropTypes.number,\n rowKey: PropTypes.string,\n rowRenderer: PropTypes.element,\n rowSize: PropTypes.any,\n setHasScroll: PropTypes.func,\n};\n\nexport { VirtualizedBody };\nexport default VirtualizedBody;\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -14,6 +14,7 @@ const VirtualizedBodyRow = ({ data, index, style, key, isScrolling }) => {
14
14
  key
15
15
  },
16
16
  {
17
+ // eslint-disable-next-line no-underscore-dangle
17
18
  rowIndex: index,
18
19
  isScrolling
19
20
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/plugins/virtualization/VirtualizedBodyRow.tsx"],
4
4
  "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export const VirtualizedBodyRow = ({ data, index, style, key, isScrolling }) => {\n const {\n rows,\n renderer: { rowRenderer },\n } = data;\n const rowData = rows[index];\n\n return rowRenderer(\n rowData,\n {\n style,\n index,\n rowIndex: index,\n key,\n },\n {\n // eslint-disable-next-line no-underscore-dangle\n rowIndex: index,\n isScrolling,\n },\n );\n};\n\nexport default VirtualizedBodyRow;\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACAhB,MAAM,qBAAqB,CAAC,EAAE,MAAM,OAAO,OAAO,KAAK,YAAY,MAAM;AAC9E,QAAM;AAAA,IACJ;AAAA,IACA,UAAU,EAAE,YAAY;AAAA,EAC1B,IAAI;AACJ,QAAM,UAAU,KAAK;AAErB,SAAO;AAAA,IACL;AAAA,IACA;AAAA,MACE;AAAA,MACA;AAAA,MACA,UAAU;AAAA,MACV;AAAA,IACF;AAAA,IACA;AAAA,MAEE,UAAU;AAAA,MACV;AAAA,IACF;AAAA,EACF;AACF;AAEA,IAAO,6BAAQ;",
5
+ "mappings": "AAAA,YAAY,WAAW;ACAhB,MAAM,qBAAqB,CAAC,EAAE,MAAM,OAAO,OAAO,KAAK,YAAY,MAAM;AAC9E,QAAM;AAAA,IACJ;AAAA,IACA,UAAU,EAAE,YAAY;AAAA,EAC1B,IAAI;AACJ,QAAM,UAAU,KAAK,KAAK;AAE1B,SAAO;AAAA,IACL;AAAA,IACA;AAAA,MACE;AAAA,MACA;AAAA,MACA,UAAU;AAAA,MACV;AAAA,IACF;AAAA,IACA;AAAA;AAAA,MAEE,UAAU;AAAA,MACV;AAAA,IACF;AAAA,EACF;AACF;AAEA,IAAO,6BAAQ;",
6
6
  "names": []
7
7
  }
@@ -1,5 +1,5 @@
1
1
  import * as React from "react";
2
- import { VirtualizationPlugin } from "./VirtualizationPlugin";
2
+ import { VirtualizationPlugin } from "./VirtualizationPlugin.js";
3
3
  export {
4
4
  VirtualizationPlugin
5
5
  };
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/plugins/virtualization/index.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export { VirtualizationPlugin } from './VirtualizationPlugin';\n"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export { VirtualizationPlugin } from './VirtualizationPlugin.js';\n"],
5
5
  "mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,4BAA4B;",
6
6
  "names": []
7
7
  }
@@ -4,7 +4,7 @@ import { get } from "lodash";
4
4
  import PropTypes from "prop-types";
5
5
  import { Grid } from "@elliemae/ds-grid";
6
6
  import { DSTruncatedTooltipText } from "@elliemae/ds-truncated-tooltip-text";
7
- import { CellWrapper, ValueWrapper } from "./styled";
7
+ import { CellWrapper, ValueWrapper } from "./styled.js";
8
8
  const CellWithAddons = ({
9
9
  leftAddon,
10
10
  keepLeftPadding,
@@ -42,15 +42,25 @@ const CellWithAddons = ({
42
42
  );
43
43
  };
44
44
  CellWithAddons.propTypes = {
45
+ /** Text to render inside the cell */
45
46
  value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
47
+ /** Left Icon */
46
48
  leftAddon: PropTypes.element,
49
+ /** keep the left spacing even if no left addons is addded */
47
50
  keepLeftPadding: PropTypes.bool,
51
+ /** Right Icon Button or Dropdown */
48
52
  rightAddon: PropTypes.element,
53
+ /** TextBox/InputMask/ComboBox */
49
54
  editComponent: PropTypes.element,
55
+ /** if is true it will show editComponent */
50
56
  isEdit: PropTypes.bool,
57
+ /** Shows a blue mark in the top left corner */
51
58
  badgeAddon: PropTypes.bool,
59
+ /** change background color to light blue */
52
60
  highLight: PropTypes.bool,
61
+ /** change text color to light gray */
53
62
  neutralText: PropTypes.bool,
63
+ /** data grid meta-information */
54
64
  metaData: PropTypes.shape({
55
65
  className: PropTypes.string,
56
66
  column: PropTypes.object,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/renders/CellWithAddons.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { get } from 'lodash';\nimport PropTypes from 'prop-types';\nimport { Grid } from '@elliemae/ds-grid';\nimport { DSTruncatedTooltipText } from '@elliemae/ds-truncated-tooltip-text';\nimport { CellWrapper, ValueWrapper } from './styled';\n\n// eslint-disable-next-line complexity\nexport const CellWithAddons = ({\n leftAddon,\n keepLeftPadding,\n rightAddon,\n badgeAddon,\n highLight,\n isEdit,\n editComponent,\n value,\n neutralText,\n metaData,\n}) => {\n const hasLeftAddon = !!leftAddon || keepLeftPadding;\n const hasRightAddon = !!rightAddon && !isEdit;\n const cols = [1];\n const shouldBeGray = neutralText || get(metaData, 'rowData.customRowProps.neutralText');\n if (hasLeftAddon) cols.unshift('auto');\n if (hasRightAddon) cols.push('auto');\n return (\n <CellWrapper\n noPadding={hasLeftAddon || badgeAddon || highLight || hasRightAddon}\n hasLeftAddon={hasLeftAddon}\n hasRightAddon={hasRightAddon}\n badgeAddon={badgeAddon}\n highLight={highLight}\n >\n <Grid height=\"100%\" cols={cols}>\n {hasLeftAddon && (\n <Grid alignItems=\"center\" pl=\"xxs\" pr=\"xxs\" width={keepLeftPadding ? '32px' : undefined}>\n {hasLeftAddon && leftAddon}\n </Grid>\n )}\n <Grid alignItems=\"center\">\n <ValueWrapper grayText={shouldBeGray}>\n {isEdit ? editComponent : <DSTruncatedTooltipText value={value} />}\n </ValueWrapper>\n </Grid>\n {hasRightAddon && (\n <Grid alignItems=\"center\" pl=\"xxs\">\n {rightAddon}\n </Grid>\n )}\n </Grid>\n </CellWrapper>\n );\n};\n\nCellWithAddons.propTypes = {\n /** Text to render inside the cell */\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n /** Left Icon */\n leftAddon: PropTypes.element,\n /** keep the left spacing even if no left addons is addded */\n keepLeftPadding: PropTypes.bool,\n /** Right Icon Button or Dropdown */\n rightAddon: PropTypes.element,\n /** TextBox/InputMask/ComboBox */\n editComponent: PropTypes.element,\n /** if is true it will show editComponent */\n isEdit: PropTypes.bool,\n /** Shows a blue mark in the top left corner */\n badgeAddon: PropTypes.bool,\n /** change background color to light blue */\n highLight: PropTypes.bool,\n /** change text color to light gray */\n neutralText: PropTypes.bool,\n /** data grid meta-information */\n metaData: PropTypes.shape({\n className: PropTypes.string,\n column: PropTypes.object,\n columnIndex: PropTypes.number,\n index: PropTypes.number,\n isScrolling: PropTypes.bool,\n key: PropTypes.string,\n parentRowData: PropTypes.any,\n property: PropTypes.string,\n registerFocus: PropTypes.func,\n rowData: PropTypes.object,\n rowIndex: PropTypes.number,\n rowKey: PropTypes.string,\n style: PropTypes.object,\n }),\n};\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACkCjB,SAEI,KAFJ;AAjCN,SAAS,WAAW;AACpB,OAAO,eAAe;AACtB,SAAS,YAAY;AACrB,SAAS,8BAA8B;AACvC,SAAS,aAAa,oBAAoB;AAGnC,MAAM,iBAAiB,CAAC;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,eAAe,CAAC,CAAC,aAAa;AACpC,QAAM,gBAAgB,CAAC,CAAC,cAAc,CAAC;AACvC,QAAM,OAAO,CAAC,CAAC;AACf,QAAM,eAAe,eAAe,IAAI,UAAU,oCAAoC;AACtF,MAAI;AAAc,SAAK,QAAQ,MAAM;AACrC,MAAI;AAAe,SAAK,KAAK,MAAM;AACnC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,gBAAgB,cAAc,aAAa;AAAA,MACtD;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MAEA,+BAAC,QAAK,QAAO,QAAO,MACjB;AAAA,wBACC,oBAAC,QAAK,YAAW,UAAS,IAAG,OAAM,IAAG,OAAM,OAAO,kBAAkB,SAAS,QAC3E,0BAAgB,WACnB;AAAA,QAEF,oBAAC,QAAK,YAAW,UACf,8BAAC,gBAAa,UAAU,cACrB,mBAAS,gBAAgB,oBAAC,0BAAuB,OAAc,GAClE,GACF;AAAA,QACC,iBACC,oBAAC,QAAK,YAAW,UAAS,IAAG,OAC1B,sBACH;AAAA,SAEJ;AAAA;AAAA,EACF;AAEJ;AAEA,eAAe,YAAY;AAAA,EAEzB,OAAO,UAAU,UAAU,CAAC,UAAU,QAAQ,UAAU,MAAM,CAAC;AAAA,EAE/D,WAAW,UAAU;AAAA,EAErB,iBAAiB,UAAU;AAAA,EAE3B,YAAY,UAAU;AAAA,EAEtB,eAAe,UAAU;AAAA,EAEzB,QAAQ,UAAU;AAAA,EAElB,YAAY,UAAU;AAAA,EAEtB,WAAW,UAAU;AAAA,EAErB,aAAa,UAAU;AAAA,EAEvB,UAAU,UAAU,MAAM;AAAA,IACxB,WAAW,UAAU;AAAA,IACrB,QAAQ,UAAU;AAAA,IAClB,aAAa,UAAU;AAAA,IACvB,OAAO,UAAU;AAAA,IACjB,aAAa,UAAU;AAAA,IACvB,KAAK,UAAU;AAAA,IACf,eAAe,UAAU;AAAA,IACzB,UAAU,UAAU;AAAA,IACpB,eAAe,UAAU;AAAA,IACzB,SAAS,UAAU;AAAA,IACnB,UAAU,UAAU;AAAA,IACpB,QAAQ,UAAU;AAAA,IAClB,OAAO,UAAU;AAAA,EACnB,CAAC;AACH;",
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { get } from 'lodash';\nimport PropTypes from 'prop-types';\nimport { Grid } from '@elliemae/ds-grid';\nimport { DSTruncatedTooltipText } from '@elliemae/ds-truncated-tooltip-text';\nimport { CellWrapper, ValueWrapper } from './styled.js';\n\n// eslint-disable-next-line complexity\nexport const CellWithAddons = ({\n leftAddon,\n keepLeftPadding,\n rightAddon,\n badgeAddon,\n highLight,\n isEdit,\n editComponent,\n value,\n neutralText,\n metaData,\n}) => {\n const hasLeftAddon = !!leftAddon || keepLeftPadding;\n const hasRightAddon = !!rightAddon && !isEdit;\n const cols = [1];\n const shouldBeGray = neutralText || get(metaData, 'rowData.customRowProps.neutralText');\n if (hasLeftAddon) cols.unshift('auto');\n if (hasRightAddon) cols.push('auto');\n return (\n <CellWrapper\n noPadding={hasLeftAddon || badgeAddon || highLight || hasRightAddon}\n hasLeftAddon={hasLeftAddon}\n hasRightAddon={hasRightAddon}\n badgeAddon={badgeAddon}\n highLight={highLight}\n >\n <Grid height=\"100%\" cols={cols}>\n {hasLeftAddon && (\n <Grid alignItems=\"center\" pl=\"xxs\" pr=\"xxs\" width={keepLeftPadding ? '32px' : undefined}>\n {hasLeftAddon && leftAddon}\n </Grid>\n )}\n <Grid alignItems=\"center\">\n <ValueWrapper grayText={shouldBeGray}>\n {isEdit ? editComponent : <DSTruncatedTooltipText value={value} />}\n </ValueWrapper>\n </Grid>\n {hasRightAddon && (\n <Grid alignItems=\"center\" pl=\"xxs\">\n {rightAddon}\n </Grid>\n )}\n </Grid>\n </CellWrapper>\n );\n};\n\nCellWithAddons.propTypes = {\n /** Text to render inside the cell */\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n /** Left Icon */\n leftAddon: PropTypes.element,\n /** keep the left spacing even if no left addons is addded */\n keepLeftPadding: PropTypes.bool,\n /** Right Icon Button or Dropdown */\n rightAddon: PropTypes.element,\n /** TextBox/InputMask/ComboBox */\n editComponent: PropTypes.element,\n /** if is true it will show editComponent */\n isEdit: PropTypes.bool,\n /** Shows a blue mark in the top left corner */\n badgeAddon: PropTypes.bool,\n /** change background color to light blue */\n highLight: PropTypes.bool,\n /** change text color to light gray */\n neutralText: PropTypes.bool,\n /** data grid meta-information */\n metaData: PropTypes.shape({\n className: PropTypes.string,\n column: PropTypes.object,\n columnIndex: PropTypes.number,\n index: PropTypes.number,\n isScrolling: PropTypes.bool,\n key: PropTypes.string,\n parentRowData: PropTypes.any,\n property: PropTypes.string,\n registerFocus: PropTypes.func,\n rowData: PropTypes.object,\n rowIndex: PropTypes.number,\n rowKey: PropTypes.string,\n style: PropTypes.object,\n }),\n};\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACkCjB,SAEI,KAFJ;AAjCN,SAAS,WAAW;AACpB,OAAO,eAAe;AACtB,SAAS,YAAY;AACrB,SAAS,8BAA8B;AACvC,SAAS,aAAa,oBAAoB;AAGnC,MAAM,iBAAiB,CAAC;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,eAAe,CAAC,CAAC,aAAa;AACpC,QAAM,gBAAgB,CAAC,CAAC,cAAc,CAAC;AACvC,QAAM,OAAO,CAAC,CAAC;AACf,QAAM,eAAe,eAAe,IAAI,UAAU,oCAAoC;AACtF,MAAI;AAAc,SAAK,QAAQ,MAAM;AACrC,MAAI;AAAe,SAAK,KAAK,MAAM;AACnC,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,gBAAgB,cAAc,aAAa;AAAA,MACtD;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MAEA,+BAAC,QAAK,QAAO,QAAO,MACjB;AAAA,wBACC,oBAAC,QAAK,YAAW,UAAS,IAAG,OAAM,IAAG,OAAM,OAAO,kBAAkB,SAAS,QAC3E,0BAAgB,WACnB;AAAA,QAEF,oBAAC,QAAK,YAAW,UACf,8BAAC,gBAAa,UAAU,cACrB,mBAAS,gBAAgB,oBAAC,0BAAuB,OAAc,GAClE,GACF;AAAA,QACC,iBACC,oBAAC,QAAK,YAAW,UAAS,IAAG,OAC1B,sBACH;AAAA,SAEJ;AAAA;AAAA,EACF;AAEJ;AAEA,eAAe,YAAY;AAAA;AAAA,EAEzB,OAAO,UAAU,UAAU,CAAC,UAAU,QAAQ,UAAU,MAAM,CAAC;AAAA;AAAA,EAE/D,WAAW,UAAU;AAAA;AAAA,EAErB,iBAAiB,UAAU;AAAA;AAAA,EAE3B,YAAY,UAAU;AAAA;AAAA,EAEtB,eAAe,UAAU;AAAA;AAAA,EAEzB,QAAQ,UAAU;AAAA;AAAA,EAElB,YAAY,UAAU;AAAA;AAAA,EAEtB,WAAW,UAAU;AAAA;AAAA,EAErB,aAAa,UAAU;AAAA;AAAA,EAEvB,UAAU,UAAU,MAAM;AAAA,IACxB,WAAW,UAAU;AAAA,IACrB,QAAQ,UAAU;AAAA,IAClB,aAAa,UAAU;AAAA,IACvB,OAAO,UAAU;AAAA,IACjB,aAAa,UAAU;AAAA,IACvB,KAAK,UAAU;AAAA,IACf,eAAe,UAAU;AAAA,IACzB,UAAU,UAAU;AAAA,IACpB,eAAe,UAAU;AAAA,IACzB,SAAS,UAAU;AAAA,IACnB,UAAU,UAAU;AAAA,IACpB,QAAQ,UAAU;AAAA,IAClB,OAAO,UAAU;AAAA,EACnB,CAAC;AACH;",
6
6
  "names": []
7
7
  }
@@ -1,6 +1,6 @@
1
1
  import * as React from "react";
2
- import { CellWithAddons } from "./CellWithAddons";
3
- import { CellContainer } from "./styled";
2
+ import { CellWithAddons } from "./CellWithAddons.js";
3
+ import { CellContainer } from "./styled.js";
4
4
  export {
5
5
  CellContainer,
6
6
  CellWithAddons
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/renders/index.tsx"],
4
- "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export { CellWithAddons } from './CellWithAddons';\nexport { CellContainer } from './styled';\n"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "export { CellWithAddons } from './CellWithAddons.js';\nexport { CellContainer } from './styled.js';\n"],
5
5
  "mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,sBAAsB;AAC/B,SAAS,qBAAqB;",
6
6
  "names": []
7
7
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/renders/styled.tsx"],
4
4
  "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { styled } from '@elliemae/ds-system';\nimport { Grid } from '@elliemae/ds-grid';\n\nconst m = '0.61538rem';\nconst m2 = '1.23076rem';\n\nexport const CellWrapper = styled.div`\n max-height: 36px;\n height: 100%;\n width: ${(props) => (props.noPadding ? `calc(100% + ${m2})` : '100%')};\n margin-left: ${(props) => (props.noPadding ? `-${m}` : '0')};\n margin-right: ${(props) => (props.noPadding ? `-${m}` : '0')};\n padding-left: ${(props) =>\n !props.hasLeftAddon && (props.badgeAddon || props.highLight || props.hasRightAddon) ? m : '0'};\n padding-right: ${(props) =>\n !props.hasRightAddon && (props.badgeAddon || props.highLight || props.hasLeftAddon) ? m : '0'};\n ${(props) => (props.highLight ? `background: ${props.theme.colors.brand['200']}` : '')};\n ${(props) =>\n props.badgeAddon\n ? `\n position: relative; \n &::before {\n display: block;\n content: '';\n position: absolute;\n top: 0;\n left:0;\n border-style: solid;\n border-width: ${props.theme.space.xxs} ${props.theme.space.xxs} ${props.theme.space.xxs} 0;\n border-color: ${props.theme.colors.brand['600']} transparent transparent ${props.theme.colors.brand['600']};\n }\n `\n : ''}\n`;\n\nexport const ValueWrapper = styled.div`\n display: flex;\n align-items: center;\n overflow: hidden;\n & > span {\n display: inline-flex;\n align-items: center;\n }\n ${(props) => (props.grayText ? `color: ${props.theme.colors.neutral['500']};` : '')}\n`;\n\nexport const CellContainer = styled(Grid)`\n padding-left: ${m};\n padding-right: ${m};\n position: relative;\n`;\n"],
5
- "mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,cAAc;AACvB,SAAS,YAAY;AAErB,MAAM,IAAI;AACV,MAAM,KAAK;AAEJ,MAAM,cAAc,OAAO;AAAA;AAAA;AAAA,WAGvB,CAAC,UAAW,MAAM,YAAY,eAAe,QAAQ;AAAA,iBAC/C,CAAC,UAAW,MAAM,YAAY,IAAI,MAAM;AAAA,kBACvC,CAAC,UAAW,MAAM,YAAY,IAAI,MAAM;AAAA,kBACxC,CAAC,UACf,CAAC,MAAM,iBAAiB,MAAM,cAAc,MAAM,aAAa,MAAM,iBAAiB,IAAI;AAAA,mBAC3E,CAAC,UAChB,CAAC,MAAM,kBAAkB,MAAM,cAAc,MAAM,aAAa,MAAM,gBAAgB,IAAI;AAAA,IAC1F,CAAC,UAAW,MAAM,YAAY,eAAe,MAAM,MAAM,OAAO,MAAM,WAAW;AAAA,IACjF,CAAC,UACD,MAAM,aACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBASa,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,QAAQ,MAAM,MAAM,MAAM;AAAA,oBACtE,MAAM,MAAM,OAAO,MAAM,mCAAmC,MAAM,MAAM,OAAO,MAAM;AAAA;AAAA,MAGjG;AAAA;AAGD,MAAM,eAAe,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQ/B,CAAC,UAAW,MAAM,WAAW,UAAU,MAAM,MAAM,OAAO,QAAQ,YAAY;AAAA;AAG3E,MAAM,gBAAgB,OAAO,IAAI;AAAA,kBACtB;AAAA,mBACC;AAAA;AAAA;",
5
+ "mappings": "AAAA,YAAY,WAAW;ACAvB,SAAS,cAAc;AACvB,SAAS,YAAY;AAErB,MAAM,IAAI;AACV,MAAM,KAAK;AAEJ,MAAM,cAAc,OAAO;AAAA;AAAA;AAAA,WAGvB,CAAC,UAAW,MAAM,YAAY,eAAe,QAAQ;AAAA,iBAC/C,CAAC,UAAW,MAAM,YAAY,IAAI,MAAM;AAAA,kBACvC,CAAC,UAAW,MAAM,YAAY,IAAI,MAAM;AAAA,kBACxC,CAAC,UACf,CAAC,MAAM,iBAAiB,MAAM,cAAc,MAAM,aAAa,MAAM,iBAAiB,IAAI;AAAA,mBAC3E,CAAC,UAChB,CAAC,MAAM,kBAAkB,MAAM,cAAc,MAAM,aAAa,MAAM,gBAAgB,IAAI;AAAA,IAC1F,CAAC,UAAW,MAAM,YAAY,eAAe,MAAM,MAAM,OAAO,MAAM,KAAK,MAAM;AAAA,IACjF,CAAC,UACD,MAAM,aACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBASa,MAAM,MAAM,MAAM,OAAO,MAAM,MAAM,MAAM,QAAQ,MAAM,MAAM,MAAM;AAAA,oBACtE,MAAM,MAAM,OAAO,MAAM,KAAK,8BAA8B,MAAM,MAAM,OAAO,MAAM,KAAK;AAAA;AAAA,MAGtG;AAAA;AAGD,MAAM,eAAe,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQ/B,CAAC,UAAW,MAAM,WAAW,UAAU,MAAM,MAAM,OAAO,QAAQ,KAAK,OAAO;AAAA;AAG3E,MAAM,gBAAgB,OAAO,IAAI;AAAA,kBACtB;AAAA,mBACC;AAAA;AAAA;",
6
6
  "names": []
7
7
  }
@@ -9,11 +9,7 @@ const RowSizesOptions = {
9
9
  normal: "normal",
10
10
  extend: "extend"
11
11
  };
12
- const RowSizesOptionsArr = [
13
- RowSizesOptions.compact,
14
- RowSizesOptions.normal,
15
- RowSizesOptions.extend
16
- ];
12
+ const RowSizesOptionsArr = [RowSizesOptions.compact, RowSizesOptions.normal, RowSizesOptions.extend];
17
13
  export {
18
14
  RowSizes,
19
15
  RowSizesOptions,