@elliemae/ds-datagrids 1.56.0 → 1.57.0-rc.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (355) hide show
  1. package/cjs/DSDataGrid.js +12 -29
  2. package/cjs/DSDataGrid.js.map +1 -1
  3. package/cjs/DataGridImpl.js +12 -29
  4. package/cjs/DataGridImpl.js.map +1 -1
  5. package/cjs/PaginatedDataGrid.js +12 -26
  6. package/cjs/PaginatedDataGrid.js.map +1 -1
  7. package/cjs/columns/IconColumn.js +3 -3
  8. package/cjs/columns/IconColumn.js.map +1 -1
  9. package/cjs/components/BodyCell.js +1 -1
  10. package/cjs/components/BodyCell.js.map +1 -1
  11. package/cjs/components/EmptyState.js +4 -5
  12. package/cjs/components/EmptyState.js.map +1 -1
  13. package/cjs/components/HeaderCell.js +1 -1
  14. package/cjs/components/HeaderCell.js.map +1 -1
  15. package/cjs/components/RowsLoader.js +1 -1
  16. package/cjs/components/RowsLoader.js.map +1 -1
  17. package/cjs/components/Table.js +1 -1
  18. package/cjs/components/footer/addOptionalFooterComponents.js +2 -2
  19. package/cjs/components/header/PrimaryControls.js +2 -3
  20. package/cjs/components/header/PrimaryControls.js.map +1 -1
  21. package/cjs/components/index.js +1 -1
  22. package/cjs/components/renderers/index.js +2 -2
  23. package/cjs/components/renderers/renderRowsLoader.js +1 -1
  24. package/cjs/defaultPlugins.js +5 -11
  25. package/cjs/defaultPlugins.js.map +1 -1
  26. package/cjs/{index-9d448b9a.js → index-0be12eb8.js} +1 -1
  27. package/cjs/{index-9d448b9a.js.map → index-0be12eb8.js.map} +1 -1
  28. package/cjs/index.js +12 -29
  29. package/cjs/index.js.map +1 -1
  30. package/cjs/plugins/body-header-scroll-sync/BodyHeaderScrollSyncPlugin.js +3 -3
  31. package/cjs/plugins/body-header-scroll-sync/BodyHeaderScrollSyncPlugin.js.map +1 -1
  32. package/cjs/plugins/body-header-scroll-sync/index.js +1 -1
  33. package/cjs/plugins/column-dnd/DndColumnsPlugin.js +5 -6
  34. package/cjs/plugins/column-dnd/DndColumnsPlugin.js.map +1 -1
  35. package/cjs/plugins/column-dnd/decorateGridWithDndColumns.js +2 -3
  36. package/cjs/plugins/column-dnd/decorateGridWithDndColumns.js.map +1 -1
  37. package/cjs/plugins/column-dnd/index.js +2 -3
  38. package/cjs/plugins/column-dnd/index.js.map +1 -1
  39. package/cjs/plugins/column-sizing/ColumnSizingPlugin.js +2 -4
  40. package/cjs/plugins/column-sizing/ColumnSizingPlugin.js.map +1 -1
  41. package/cjs/plugins/column-sizing/columnMeasurerTransformer.js +2 -2
  42. package/cjs/plugins/column-sizing/columnMeasurerTransformer.js.map +1 -1
  43. package/cjs/plugins/column-sizing/ext-points/decorateColumn.js +3 -4
  44. package/cjs/plugins/column-sizing/ext-points/decorateColumn.js.map +1 -1
  45. package/cjs/plugins/column-sizing/ext-points/getTableProps.js +3 -6
  46. package/cjs/plugins/column-sizing/ext-points/getTableProps.js.map +1 -1
  47. package/cjs/plugins/column-sizing/index.js +1 -3
  48. package/cjs/plugins/column-sizing/index.js.map +1 -1
  49. package/cjs/plugins/column-sizing/useColumnSizeService.js +1 -1
  50. package/cjs/plugins/column-sizing/useStylesheetHelpers.js +3 -3
  51. package/cjs/plugins/column-sizing/useStylesheetHelpers.js.map +1 -1
  52. package/cjs/plugins/column-sizing/utils.js +3 -3
  53. package/cjs/plugins/column-sizing/utils.js.map +1 -1
  54. package/cjs/plugins/custom-cell-renderer/CustomRendererPlugin.js +5 -9
  55. package/cjs/plugins/custom-cell-renderer/CustomRendererPlugin.js.map +1 -1
  56. package/cjs/plugins/custom-cell-renderer/addCustomRendererToCell.js +8 -12
  57. package/cjs/plugins/custom-cell-renderer/addCustomRendererToCell.js.map +1 -1
  58. package/cjs/plugins/custom-cell-renderer/getRendererComponent.js +9 -18
  59. package/cjs/plugins/custom-cell-renderer/getRendererComponent.js.map +1 -1
  60. package/cjs/plugins/custom-cell-renderer/index.js +5 -9
  61. package/cjs/plugins/custom-cell-renderer/index.js.map +1 -1
  62. package/cjs/plugins/editable/EditableComponents/ComboBox.js +2 -3
  63. package/cjs/plugins/editable/EditableComponents/ComboBox.js.map +1 -1
  64. package/cjs/plugins/editable/EditableComponents/TextBox.js +2 -3
  65. package/cjs/plugins/editable/EditableComponents/TextBox.js.map +1 -1
  66. package/cjs/plugins/editable/EditableComponents/index.js +1 -2
  67. package/cjs/plugins/editable/EditableComponents/index.js.map +1 -1
  68. package/cjs/plugins/editable/EditablePlugin.js +5 -8
  69. package/cjs/plugins/editable/EditablePlugin.js.map +1 -1
  70. package/cjs/plugins/editable/decorateEditable.js +5 -7
  71. package/cjs/plugins/editable/decorateEditable.js.map +1 -1
  72. package/cjs/plugins/editable/getEditorComponent.js +1 -2
  73. package/cjs/plugins/editable/getEditorComponent.js.map +1 -1
  74. package/cjs/plugins/editable/index.js +3 -5
  75. package/cjs/plugins/editable/index.js.map +1 -1
  76. package/cjs/plugins/expandable-grid/ExpandableColumn.js +4 -7
  77. package/cjs/plugins/expandable-grid/ExpandableColumn.js.map +1 -1
  78. package/cjs/plugins/expandable-grid/ExpandablePlugin.js +11 -18
  79. package/cjs/plugins/expandable-grid/ExpandablePlugin.js.map +1 -1
  80. package/cjs/plugins/expandable-grid/ExpandedRow.js +7 -10
  81. package/cjs/plugins/expandable-grid/ExpandedRow.js.map +1 -1
  82. package/cjs/plugins/expandable-grid/ExpandedRowExtra.js +3 -3
  83. package/cjs/plugins/expandable-grid/ExpandedRowExtra.js.map +1 -1
  84. package/cjs/plugins/expandable-grid/index.js +7 -12
  85. package/cjs/plugins/expandable-grid/index.js.map +1 -1
  86. package/cjs/plugins/expandable-grid/useExpandGridState.js +3 -5
  87. package/cjs/plugins/expandable-grid/useExpandGridState.js.map +1 -1
  88. package/cjs/plugins/export-data/ExportDataPlugin.js +2 -2
  89. package/cjs/plugins/export-data/ExportDataPlugin.js.map +1 -1
  90. package/cjs/plugins/export-data/index.js +1 -1
  91. package/cjs/plugins/filterable/FilterablePlugin.js +10 -11
  92. package/cjs/plugins/filterable/FilterablePlugin.js.map +1 -1
  93. package/cjs/plugins/filterable/addFilterToColumn.js +8 -9
  94. package/cjs/plugins/filterable/addFilterToColumn.js.map +1 -1
  95. package/cjs/plugins/filterable/components/FilterableHeader.js +13 -15
  96. package/cjs/plugins/filterable/components/FilterableHeader.js.map +1 -1
  97. package/cjs/plugins/filterable/components/filterable-menus/DateRangeFilterMenu.js +9 -8
  98. package/cjs/plugins/filterable/components/filterable-menus/DateRangeFilterMenu.js.map +1 -1
  99. package/cjs/plugins/filterable/components/filterable-menus/SingleDateFilterMenu.js +4 -5
  100. package/cjs/plugins/filterable/components/filterable-menus/SingleDateFilterMenu.js.map +1 -1
  101. package/cjs/plugins/filterable/components/filterable-menus/SingleRangeSwitcherMenu.js +133 -168
  102. package/cjs/plugins/filterable/components/filterable-menus/SingleRangeSwitcherMenu.js.map +1 -1
  103. package/cjs/plugins/filterable/components/filterable-menus/TextFilterMenu.js +4 -5
  104. package/cjs/plugins/filterable/components/filterable-menus/TextFilterMenu.js.map +1 -1
  105. package/cjs/plugins/filterable/components/filterable-menus/getFilterMenuByType.js +7 -7
  106. package/cjs/plugins/filterable/filterableFormatter.js +9 -10
  107. package/cjs/plugins/filterable/filterableFormatter.js.map +1 -1
  108. package/cjs/plugins/filterable/filtering-helper/filterRowsByQuery.js +3 -3
  109. package/cjs/plugins/filterable/filtering-helper/filterRowsByQuery.js.map +1 -1
  110. package/cjs/plugins/filterable/helper.js +7 -7
  111. package/cjs/plugins/filterable/helper.js.map +1 -1
  112. package/cjs/plugins/filterable/index.js +8 -9
  113. package/cjs/plugins/filterable/index.js.map +1 -1
  114. package/cjs/plugins/filterable/useFilterableState.js +1 -1
  115. package/cjs/plugins/index.js +11 -26
  116. package/cjs/plugins/index.js.map +1 -1
  117. package/cjs/plugins/infinite-scrolling/InfiniteScrollPlugin.js.map +1 -1
  118. package/cjs/plugins/pagination/PaginationPlugin.js +2 -3
  119. package/cjs/plugins/pagination/PaginationPlugin.js.map +1 -1
  120. package/cjs/plugins/pagination/components/Pagination.js +2 -2
  121. package/cjs/plugins/pagination/components/PerPageDropdown.js +5 -6
  122. package/cjs/plugins/pagination/components/PerPageDropdown.js.map +1 -1
  123. package/cjs/plugins/pagination/index.js +1 -2
  124. package/cjs/plugins/pagination/index.js.map +1 -1
  125. package/cjs/plugins/pagination/usePaginationState.js +2 -3
  126. package/cjs/plugins/pagination/usePaginationState.js.map +1 -1
  127. package/cjs/plugins/resizable/ResizablePlugin.js +2 -2
  128. package/cjs/plugins/resizable/ResizablePlugin.js.map +1 -1
  129. package/cjs/plugins/resizable/index.js +1 -1
  130. package/cjs/plugins/resizable/utils.js +3 -3
  131. package/cjs/plugins/resizable/utils.js.map +1 -1
  132. package/cjs/plugins/row-dnd/DndRowsPlugin.js +4 -5
  133. package/cjs/plugins/row-dnd/DndRowsPlugin.js.map +1 -1
  134. package/cjs/plugins/row-dnd/index.js +2 -2
  135. package/cjs/plugins/selectable/SelectablePlugin.js +3 -5
  136. package/cjs/plugins/selectable/SelectablePlugin.js.map +1 -1
  137. package/cjs/plugins/selectable/addSelectableColumn.js +2 -3
  138. package/cjs/plugins/selectable/addSelectableColumn.js.map +1 -1
  139. package/cjs/plugins/selectable/helper.js +3 -3
  140. package/cjs/plugins/selectable/helper.js.map +1 -1
  141. package/cjs/plugins/selectable/index.js +2 -4
  142. package/cjs/plugins/selectable/index.js.map +1 -1
  143. package/cjs/plugins/selectable/selectableFormatter.js +4 -7
  144. package/cjs/plugins/selectable/selectableFormatter.js.map +1 -1
  145. package/cjs/plugins/selectable/useSelectableState.js +6 -8
  146. package/cjs/plugins/selectable/useSelectableState.js.map +1 -1
  147. package/cjs/plugins/sortable/SortablePlugin.js +5 -7
  148. package/cjs/plugins/sortable/SortablePlugin.js.map +1 -1
  149. package/cjs/plugins/sortable/index.js +2 -4
  150. package/cjs/plugins/sortable/index.js.map +1 -1
  151. package/cjs/plugins/sortable/sortHeaderFormatter.js +3 -6
  152. package/cjs/plugins/sortable/sortHeaderFormatter.js.map +1 -1
  153. package/cjs/plugins/sortable/sorter.js +3 -3
  154. package/cjs/plugins/sortable/sorter.js.map +1 -1
  155. package/cjs/plugins/sortable/useSortableState.js +2 -3
  156. package/cjs/plugins/sortable/useSortableState.js.map +1 -1
  157. package/cjs/plugins/toolbar/RowRenderer.js +4 -4
  158. package/cjs/plugins/toolbar/RowRenderer.js.map +1 -1
  159. package/cjs/plugins/toolbar/ToolbarPlugin.js +3 -3
  160. package/cjs/plugins/toolbar/ToolbarTrigger.js +3 -4
  161. package/cjs/plugins/toolbar/ToolbarTrigger.js.map +1 -1
  162. package/cjs/plugins/toolbar/index.js +3 -3
  163. package/cjs/plugins/virtualization/AutoHeightList.js +5 -8
  164. package/cjs/plugins/virtualization/AutoHeightList.js.map +1 -1
  165. package/cjs/plugins/virtualization/VirtualizationPlugin.js +4 -5
  166. package/cjs/plugins/virtualization/VirtualizationPlugin.js.map +1 -1
  167. package/cjs/plugins/virtualization/VirtualizedBody.js +6 -7
  168. package/cjs/plugins/virtualization/VirtualizedBody.js.map +1 -1
  169. package/cjs/plugins/virtualization/index.js +1 -2
  170. package/cjs/plugins/virtualization/index.js.map +1 -1
  171. package/cjs/renders/CellWithAddons.js +7 -6
  172. package/cjs/renders/CellWithAddons.js.map +1 -1
  173. package/cjs/renders/index.js +2 -2
  174. package/cjs/renders/styled.js +3 -2
  175. package/cjs/renders/styled.js.map +1 -1
  176. package/cjs/utilities/getPluginsFromProps.js +12 -26
  177. package/cjs/utilities/getPluginsFromProps.js.map +1 -1
  178. package/esm/DSDataGrid.js +12 -29
  179. package/esm/DSDataGrid.js.map +1 -1
  180. package/esm/DataGridImpl.js +12 -29
  181. package/esm/DataGridImpl.js.map +1 -1
  182. package/esm/PaginatedDataGrid.js +12 -26
  183. package/esm/PaginatedDataGrid.js.map +1 -1
  184. package/esm/columns/IconColumn.js +2 -2
  185. package/esm/columns/IconColumn.js.map +1 -1
  186. package/esm/components/BodyCell.js +1 -1
  187. package/esm/components/BodyCell.js.map +1 -1
  188. package/esm/components/EmptyState.js +3 -3
  189. package/esm/components/EmptyState.js.map +1 -1
  190. package/esm/components/HeaderCell.js +1 -1
  191. package/esm/components/HeaderCell.js.map +1 -1
  192. package/esm/components/RowsLoader.js +1 -1
  193. package/esm/components/RowsLoader.js.map +1 -1
  194. package/esm/components/Table.js +1 -1
  195. package/esm/components/footer/addOptionalFooterComponents.js +2 -2
  196. package/esm/components/header/PrimaryControls.js +1 -1
  197. package/esm/components/header/PrimaryControls.js.map +1 -1
  198. package/esm/components/index.js +1 -1
  199. package/esm/components/renderers/index.js +2 -2
  200. package/esm/components/renderers/renderRowsLoader.js +1 -1
  201. package/esm/defaultPlugins.js +5 -11
  202. package/esm/defaultPlugins.js.map +1 -1
  203. package/esm/{index-203a51cc.js → index-afbbe9c8.js} +1 -1
  204. package/esm/{index-203a51cc.js.map → index-afbbe9c8.js.map} +1 -1
  205. package/esm/index.js +12 -29
  206. package/esm/index.js.map +1 -1
  207. package/esm/plugins/body-header-scroll-sync/BodyHeaderScrollSyncPlugin.js +1 -1
  208. package/esm/plugins/body-header-scroll-sync/BodyHeaderScrollSyncPlugin.js.map +1 -1
  209. package/esm/plugins/body-header-scroll-sync/index.js +1 -1
  210. package/esm/plugins/column-dnd/DndColumnsPlugin.js +2 -3
  211. package/esm/plugins/column-dnd/DndColumnsPlugin.js.map +1 -1
  212. package/esm/plugins/column-dnd/decorateGridWithDndColumns.js +1 -1
  213. package/esm/plugins/column-dnd/decorateGridWithDndColumns.js.map +1 -1
  214. package/esm/plugins/column-dnd/index.js +2 -3
  215. package/esm/plugins/column-dnd/index.js.map +1 -1
  216. package/esm/plugins/column-sizing/ColumnSizingPlugin.js +1 -3
  217. package/esm/plugins/column-sizing/ColumnSizingPlugin.js.map +1 -1
  218. package/esm/plugins/column-sizing/columnMeasurerTransformer.js +1 -1
  219. package/esm/plugins/column-sizing/columnMeasurerTransformer.js.map +1 -1
  220. package/esm/plugins/column-sizing/ext-points/decorateColumn.js +1 -2
  221. package/esm/plugins/column-sizing/ext-points/decorateColumn.js.map +1 -1
  222. package/esm/plugins/column-sizing/ext-points/getTableProps.js +1 -3
  223. package/esm/plugins/column-sizing/ext-points/getTableProps.js.map +1 -1
  224. package/esm/plugins/column-sizing/index.js +1 -3
  225. package/esm/plugins/column-sizing/index.js.map +1 -1
  226. package/esm/plugins/column-sizing/useColumnSizeService.js +1 -1
  227. package/esm/plugins/column-sizing/useStylesheetHelpers.js +1 -1
  228. package/esm/plugins/column-sizing/useStylesheetHelpers.js.map +1 -1
  229. package/esm/plugins/column-sizing/utils.js +1 -1
  230. package/esm/plugins/column-sizing/utils.js.map +1 -1
  231. package/esm/plugins/custom-cell-renderer/CustomRendererPlugin.js +5 -9
  232. package/esm/plugins/custom-cell-renderer/CustomRendererPlugin.js.map +1 -1
  233. package/esm/plugins/custom-cell-renderer/addCustomRendererToCell.js +5 -9
  234. package/esm/plugins/custom-cell-renderer/addCustomRendererToCell.js.map +1 -1
  235. package/esm/plugins/custom-cell-renderer/getRendererComponent.js +4 -8
  236. package/esm/plugins/custom-cell-renderer/getRendererComponent.js.map +1 -1
  237. package/esm/plugins/custom-cell-renderer/index.js +5 -9
  238. package/esm/plugins/custom-cell-renderer/index.js.map +1 -1
  239. package/esm/plugins/editable/EditableComponents/ComboBox.js +1 -1
  240. package/esm/plugins/editable/EditableComponents/ComboBox.js.map +1 -1
  241. package/esm/plugins/editable/EditableComponents/TextBox.js +1 -1
  242. package/esm/plugins/editable/EditableComponents/TextBox.js.map +1 -1
  243. package/esm/plugins/editable/EditableComponents/index.js +1 -2
  244. package/esm/plugins/editable/EditableComponents/index.js.map +1 -1
  245. package/esm/plugins/editable/EditablePlugin.js +3 -5
  246. package/esm/plugins/editable/EditablePlugin.js.map +1 -1
  247. package/esm/plugins/editable/decorateEditable.js +3 -4
  248. package/esm/plugins/editable/decorateEditable.js.map +1 -1
  249. package/esm/plugins/editable/getEditorComponent.js +1 -2
  250. package/esm/plugins/editable/getEditorComponent.js.map +1 -1
  251. package/esm/plugins/editable/index.js +3 -5
  252. package/esm/plugins/editable/index.js.map +1 -1
  253. package/esm/plugins/expandable-grid/ExpandableColumn.js +3 -4
  254. package/esm/plugins/expandable-grid/ExpandableColumn.js.map +1 -1
  255. package/esm/plugins/expandable-grid/ExpandablePlugin.js +7 -12
  256. package/esm/plugins/expandable-grid/ExpandablePlugin.js.map +1 -1
  257. package/esm/plugins/expandable-grid/ExpandedRow.js +6 -9
  258. package/esm/plugins/expandable-grid/ExpandedRow.js.map +1 -1
  259. package/esm/plugins/expandable-grid/ExpandedRowExtra.js +2 -2
  260. package/esm/plugins/expandable-grid/ExpandedRowExtra.js.map +1 -1
  261. package/esm/plugins/expandable-grid/index.js +7 -12
  262. package/esm/plugins/expandable-grid/index.js.map +1 -1
  263. package/esm/plugins/expandable-grid/useExpandGridState.js +1 -2
  264. package/esm/plugins/expandable-grid/useExpandGridState.js.map +1 -1
  265. package/esm/plugins/export-data/ExportDataPlugin.js +1 -1
  266. package/esm/plugins/export-data/ExportDataPlugin.js.map +1 -1
  267. package/esm/plugins/export-data/index.js +1 -1
  268. package/esm/plugins/filterable/FilterablePlugin.js +8 -9
  269. package/esm/plugins/filterable/FilterablePlugin.js.map +1 -1
  270. package/esm/plugins/filterable/addFilterToColumn.js +8 -9
  271. package/esm/plugins/filterable/addFilterToColumn.js.map +1 -1
  272. package/esm/plugins/filterable/components/FilterableHeader.js +9 -10
  273. package/esm/plugins/filterable/components/FilterableHeader.js.map +1 -1
  274. package/esm/plugins/filterable/components/filterable-menus/DateRangeFilterMenu.js +9 -7
  275. package/esm/plugins/filterable/components/filterable-menus/DateRangeFilterMenu.js.map +1 -1
  276. package/esm/plugins/filterable/components/filterable-menus/SingleDateFilterMenu.js +4 -4
  277. package/esm/plugins/filterable/components/filterable-menus/SingleDateFilterMenu.js.map +1 -1
  278. package/esm/plugins/filterable/components/filterable-menus/SingleRangeSwitcherMenu.js +132 -165
  279. package/esm/plugins/filterable/components/filterable-menus/SingleRangeSwitcherMenu.js.map +1 -1
  280. package/esm/plugins/filterable/components/filterable-menus/TextFilterMenu.js +3 -3
  281. package/esm/plugins/filterable/components/filterable-menus/TextFilterMenu.js.map +1 -1
  282. package/esm/plugins/filterable/components/filterable-menus/getFilterMenuByType.js +7 -7
  283. package/esm/plugins/filterable/filterableFormatter.js +9 -10
  284. package/esm/plugins/filterable/filterableFormatter.js.map +1 -1
  285. package/esm/plugins/filterable/filtering-helper/filterRowsByQuery.js +1 -1
  286. package/esm/plugins/filterable/filtering-helper/filterRowsByQuery.js.map +1 -1
  287. package/esm/plugins/filterable/helper.js +1 -1
  288. package/esm/plugins/filterable/helper.js.map +1 -1
  289. package/esm/plugins/filterable/index.js +8 -9
  290. package/esm/plugins/filterable/index.js.map +1 -1
  291. package/esm/plugins/filterable/useFilterableState.js +1 -1
  292. package/esm/plugins/index.js +11 -26
  293. package/esm/plugins/index.js.map +1 -1
  294. package/esm/plugins/infinite-scrolling/InfiniteScrollPlugin.js.map +1 -1
  295. package/esm/plugins/pagination/PaginationPlugin.js +1 -2
  296. package/esm/plugins/pagination/PaginationPlugin.js.map +1 -1
  297. package/esm/plugins/pagination/components/Pagination.js +2 -2
  298. package/esm/plugins/pagination/components/PerPageDropdown.js +2 -2
  299. package/esm/plugins/pagination/components/PerPageDropdown.js.map +1 -1
  300. package/esm/plugins/pagination/index.js +1 -2
  301. package/esm/plugins/pagination/index.js.map +1 -1
  302. package/esm/plugins/pagination/usePaginationState.js +1 -1
  303. package/esm/plugins/pagination/usePaginationState.js.map +1 -1
  304. package/esm/plugins/resizable/ResizablePlugin.js +1 -1
  305. package/esm/plugins/resizable/ResizablePlugin.js.map +1 -1
  306. package/esm/plugins/resizable/index.js +1 -1
  307. package/esm/plugins/resizable/utils.js +1 -1
  308. package/esm/plugins/resizable/utils.js.map +1 -1
  309. package/esm/plugins/row-dnd/DndRowsPlugin.js +2 -2
  310. package/esm/plugins/row-dnd/DndRowsPlugin.js.map +1 -1
  311. package/esm/plugins/row-dnd/index.js +2 -2
  312. package/esm/plugins/selectable/SelectablePlugin.js +2 -4
  313. package/esm/plugins/selectable/SelectablePlugin.js.map +1 -1
  314. package/esm/plugins/selectable/addSelectableColumn.js +2 -3
  315. package/esm/plugins/selectable/addSelectableColumn.js.map +1 -1
  316. package/esm/plugins/selectable/helper.js +1 -1
  317. package/esm/plugins/selectable/helper.js.map +1 -1
  318. package/esm/plugins/selectable/index.js +2 -4
  319. package/esm/plugins/selectable/index.js.map +1 -1
  320. package/esm/plugins/selectable/selectableFormatter.js +2 -3
  321. package/esm/plugins/selectable/selectableFormatter.js.map +1 -1
  322. package/esm/plugins/selectable/useSelectableState.js +1 -2
  323. package/esm/plugins/selectable/useSelectableState.js.map +1 -1
  324. package/esm/plugins/sortable/SortablePlugin.js +2 -4
  325. package/esm/plugins/sortable/SortablePlugin.js.map +1 -1
  326. package/esm/plugins/sortable/index.js +2 -4
  327. package/esm/plugins/sortable/index.js.map +1 -1
  328. package/esm/plugins/sortable/sortHeaderFormatter.js +1 -2
  329. package/esm/plugins/sortable/sortHeaderFormatter.js.map +1 -1
  330. package/esm/plugins/sortable/sorter.js +1 -1
  331. package/esm/plugins/sortable/sorter.js.map +1 -1
  332. package/esm/plugins/sortable/useSortableState.js +1 -1
  333. package/esm/plugins/sortable/useSortableState.js.map +1 -1
  334. package/esm/plugins/toolbar/RowRenderer.js +3 -3
  335. package/esm/plugins/toolbar/RowRenderer.js.map +1 -1
  336. package/esm/plugins/toolbar/ToolbarPlugin.js +3 -3
  337. package/esm/plugins/toolbar/ToolbarTrigger.js +2 -2
  338. package/esm/plugins/toolbar/ToolbarTrigger.js.map +1 -1
  339. package/esm/plugins/toolbar/index.js +3 -3
  340. package/esm/plugins/virtualization/AutoHeightList.js +1 -3
  341. package/esm/plugins/virtualization/AutoHeightList.js.map +1 -1
  342. package/esm/plugins/virtualization/VirtualizationPlugin.js +1 -2
  343. package/esm/plugins/virtualization/VirtualizationPlugin.js.map +1 -1
  344. package/esm/plugins/virtualization/VirtualizedBody.js +1 -2
  345. package/esm/plugins/virtualization/VirtualizedBody.js.map +1 -1
  346. package/esm/plugins/virtualization/index.js +1 -2
  347. package/esm/plugins/virtualization/index.js.map +1 -1
  348. package/esm/renders/CellWithAddons.js +2 -2
  349. package/esm/renders/CellWithAddons.js.map +1 -1
  350. package/esm/renders/index.js +2 -2
  351. package/esm/renders/styled.js +1 -1
  352. package/esm/renders/styled.js.map +1 -1
  353. package/esm/utilities/getPluginsFromProps.js +12 -26
  354. package/esm/utilities/getPluginsFromProps.js.map +1 -1
  355. package/package.json +15 -15
@@ -1 +1 @@
1
- {"version":3,"file":"ResizablePlugin.js","sources":["../../../../src/plugins/resizable/ResizablePlugin.tsx"],"sourcesContent":["/* eslint-disable no-param-reassign */\n/* eslint-disable max-statements */\nimport { runAll } from '@elliemae/ds-utilities/utils';\nimport createInstancePlugin from '@elliemae/ds-shared/createDataInstance/createInstancePlugin';\nimport { addResizableToColumn, resizableFormatter } from './decorateResizable';\n\nconst noop = () => null;\n\nconst DELTA_LAST_COLUMN = 25;\n\n// eslint-disable-next-line no-unused-vars\nconst decorateColumn = (column, grid, index) => {\n const {\n onResizeEnd = noop,\n onResizeStart = noop,\n minColumnWidth = 90,\n isColumnResizeActive = (col) => col.resizable && !col.expandableColumn,\n onColumnResize,\n } = grid.props;\n\n const { decoratedColumns } = grid.getInstance();\n // need to do this because the decorated columns which the index in the function call\n // could be different from the final decorated columns because a plugin could add a\n // column afterwards\n const colIndex = decoratedColumns.findIndex(\n (col) => col.property === column.property,\n );\n const isLast = colIndex === decoratedColumns.length - 1;\n\n if (!isColumnResizeActive(column)) return column;\n return addResizableToColumn(\n column,\n resizableFormatter({\n onDragStart: () => {\n grid.isDragging.current = true;\n grid.disableEvents();\n onResizeStart();\n onColumnResize('onResizeStart', { column });\n },\n onDrag: (width, increasing) => {\n const { resizedColumns, refs } = grid.getInstance();\n if (isLast && increasing) {\n const thisCol = resizedColumns.current[column.uuid] || 0;\n width = Math.max(thisCol + DELTA_LAST_COLUMN, width);\n }\n column.updateBodyHeaderWidth(width, width);\n grid.updateRowWidth();\n if (isLast && increasing) {\n // TODO: Move this to packages/ds-shared/src/ScrollSync/ScrollSync.js\n // It isn't watching the scrollLeft so you have to move both at the same time\n refs.header.current.scrollLeft += DELTA_LAST_COLUMN;\n refs.body.current.scrollLeft += DELTA_LAST_COLUMN;\n }\n },\n onDragEnd: (width, increasing, extraData) => {\n const { resizedColumns } = grid.getInstance();\n if (isLast && increasing) {\n const thisCol = resizedColumns.current[column.uuid] || 0;\n width = Math.max(thisCol + DELTA_LAST_COLUMN, width);\n }\n resizedColumns.current[column.uuid] = width;\n\n grid.isDragging.current = false;\n grid.enableEvents();\n try {\n const total = grid.getInstance().refs.body.current.scrollWidth;\n const sum = Object.keys(grid.resizedColumns.current).reduce(\n (p, n) => grid.resizedColumns.current[n] + p,\n 0,\n );\n const lastKey = grid.decoratedColumns[grid.columns.length - 1].uuid;\n if (sum < total) {\n const lastCol = grid.getInstance().columnSizeService.columns[\n lastKey\n ];\n lastCol.updateWidth(\n grid.resizedColumns.current[lastKey] + total - sum,\n );\n lastCol.updateBodyHeaderWidth(\n grid.resizedColumns.current[lastKey] + total - sum,\n );\n grid.getInstance().columnSizeService.updateMissingWidths(total);\n }\n } catch (error) {\n console.error(\n 'Unexpected error in the addResizableToColumn trying to use the remaining grid space to the last column',\n error,\n );\n }\n\n onColumnResize('onResizeEnd', {\n column,\n width,\n extraData,\n });\n runAll(onResizeEnd)(width, extraData);\n grid.updateRowWidth();\n },\n minWidth:\n (column.minWidth || minColumnWidth) - (isLast ? DELTA_LAST_COLUMN : 0),\n isLast,\n }),\n );\n};\n\nexport const ResizablePlugin = createInstancePlugin('resizable', {\n decorateColumn,\n});\n"],"names":["noop","DELTA_LAST_COLUMN","decorateColumn","column","grid","index","props","onResizeEnd","onResizeStart","minColumnWidth","isColumnResizeActive","col","resizable","expandableColumn","onColumnResize","getInstance","decoratedColumns","colIndex","findIndex","property","isLast","length","addResizableToColumn","resizableFormatter","onDragStart","isDragging","current","disableEvents","onDrag","width","increasing","resizedColumns","refs","thisCol","uuid","Math","max","updateBodyHeaderWidth","updateRowWidth","header","scrollLeft","body","onDragEnd","extraData","enableEvents","total","scrollWidth","sum","Object","keys","reduce","p","n","lastKey","columns","lastCol","columnSizeService","updateWidth","updateMissingWidths","error","console","runAll","minWidth","ResizablePlugin","createInstancePlugin"],"mappings":"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"}
1
+ {"version":3,"file":"ResizablePlugin.js","sources":["../../../../src/plugins/resizable/ResizablePlugin.tsx"],"sourcesContent":["/* eslint-disable no-param-reassign */\n/* eslint-disable max-statements */\nimport { runAll } from '@elliemae/ds-utilities';\nimport createInstancePlugin from '@elliemae/ds-shared/createDataInstance/createInstancePlugin';\nimport { addResizableToColumn, resizableFormatter } from './decorateResizable';\n\nconst noop = () => null;\n\nconst DELTA_LAST_COLUMN = 25;\n\n// eslint-disable-next-line no-unused-vars\nconst decorateColumn = (column, grid, index) => {\n const {\n onResizeEnd = noop,\n onResizeStart = noop,\n minColumnWidth = 90,\n isColumnResizeActive = (col) => col.resizable && !col.expandableColumn,\n onColumnResize,\n } = grid.props;\n\n const { decoratedColumns } = grid.getInstance();\n // need to do this because the decorated columns which the index in the function call\n // could be different from the final decorated columns because a plugin could add a\n // column afterwards\n const colIndex = decoratedColumns.findIndex(\n (col) => col.property === column.property,\n );\n const isLast = colIndex === decoratedColumns.length - 1;\n\n if (!isColumnResizeActive(column)) return column;\n return addResizableToColumn(\n column,\n resizableFormatter({\n onDragStart: () => {\n grid.isDragging.current = true;\n grid.disableEvents();\n onResizeStart();\n onColumnResize('onResizeStart', { column });\n },\n onDrag: (width, increasing) => {\n const { resizedColumns, refs } = grid.getInstance();\n if (isLast && increasing) {\n const thisCol = resizedColumns.current[column.uuid] || 0;\n width = Math.max(thisCol + DELTA_LAST_COLUMN, width);\n }\n column.updateBodyHeaderWidth(width, width);\n grid.updateRowWidth();\n if (isLast && increasing) {\n // TODO: Move this to packages/ds-shared/src/ScrollSync/ScrollSync.js\n // It isn't watching the scrollLeft so you have to move both at the same time\n refs.header.current.scrollLeft += DELTA_LAST_COLUMN;\n refs.body.current.scrollLeft += DELTA_LAST_COLUMN;\n }\n },\n onDragEnd: (width, increasing, extraData) => {\n const { resizedColumns } = grid.getInstance();\n if (isLast && increasing) {\n const thisCol = resizedColumns.current[column.uuid] || 0;\n width = Math.max(thisCol + DELTA_LAST_COLUMN, width);\n }\n resizedColumns.current[column.uuid] = width;\n\n grid.isDragging.current = false;\n grid.enableEvents();\n try {\n const total = grid.getInstance().refs.body.current.scrollWidth;\n const sum = Object.keys(grid.resizedColumns.current).reduce(\n (p, n) => grid.resizedColumns.current[n] + p,\n 0,\n );\n const lastKey = grid.decoratedColumns[grid.columns.length - 1].uuid;\n if (sum < total) {\n const lastCol = grid.getInstance().columnSizeService.columns[\n lastKey\n ];\n lastCol.updateWidth(\n grid.resizedColumns.current[lastKey] + total - sum,\n );\n lastCol.updateBodyHeaderWidth(\n grid.resizedColumns.current[lastKey] + total - sum,\n );\n grid.getInstance().columnSizeService.updateMissingWidths(total);\n }\n } catch (error) {\n console.error(\n 'Unexpected error in the addResizableToColumn trying to use the remaining grid space to the last column',\n error,\n );\n }\n\n onColumnResize('onResizeEnd', {\n column,\n width,\n extraData,\n });\n runAll(onResizeEnd)(width, extraData);\n grid.updateRowWidth();\n },\n minWidth:\n (column.minWidth || minColumnWidth) - (isLast ? DELTA_LAST_COLUMN : 0),\n isLast,\n }),\n );\n};\n\nexport const ResizablePlugin = createInstancePlugin('resizable', {\n decorateColumn,\n});\n"],"names":["noop","DELTA_LAST_COLUMN","decorateColumn","column","grid","index","props","onResizeEnd","onResizeStart","minColumnWidth","isColumnResizeActive","col","resizable","expandableColumn","onColumnResize","getInstance","decoratedColumns","colIndex","findIndex","property","isLast","length","addResizableToColumn","resizableFormatter","onDragStart","isDragging","current","disableEvents","onDrag","width","increasing","resizedColumns","refs","thisCol","uuid","Math","max","updateBodyHeaderWidth","updateRowWidth","header","scrollLeft","body","onDragEnd","extraData","enableEvents","total","scrollWidth","sum","Object","keys","reduce","p","n","lastKey","columns","lastCol","columnSizeService","updateWidth","updateMissingWidths","error","console","runAll","minWidth","ResizablePlugin","createInstancePlugin"],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var plugins_resizable_ResizablePlugin = require('./ResizablePlugin.js');
6
- require('@elliemae/ds-utilities/utils');
6
+ require('@elliemae/ds-utilities');
7
7
  require('@elliemae/ds-shared/createDataInstance/createInstancePlugin');
8
8
  require('./decorateResizable.js');
9
9
  require('@babel/runtime/helpers/extends');
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var utils = require('@elliemae/ds-utilities/utils');
5
+ var dsUtilities = require('@elliemae/ds-utilities');
6
6
  var memoizeOne = require('memoize-one');
7
7
 
8
8
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -17,12 +17,12 @@ var isPxNumber = function isPxNumber(stringNumber) {
17
17
  };
18
18
  var translatePercentageToPx = memoizeOne__default['default'](function (totalWidth, percentage) {
19
19
  var minWidth = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
20
- var parsedPercentatge = utils.parseInt(percentage.replace('%', ''));
20
+ var parsedPercentatge = dsUtilities.parseInt(percentage.replace('%', ''));
21
21
  var width = totalWidth * parsedPercentatge / 100;
22
22
  return width > minWidth ? width : minWidth;
23
23
  });
24
24
  var translateStringPxToNumberPx = memoizeOne__default['default'](function (pxNumber) {
25
- return utils.parseInt(pxNumber.replace('%', ''));
25
+ return dsUtilities.parseInt(pxNumber.replace('%', ''));
26
26
  });
27
27
  memoizeOne__default['default'](function (totalWidth, pxWidth) {
28
28
  return "".concat(pxWidth / totalWidth * 100, "%");
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../../../src/plugins/resizable/utils.tsx"],"sourcesContent":["import { parseInt } from '@elliemae/ds-utilities/utils';\nimport memoizeOne from 'memoize-one';\n\nexport const isPercentNumber = stringNumber =>\n typeof stringNumber === 'string' && stringNumber.indexOf('%') !== -1;\nexport const isPxNumber = stringNumber =>\n typeof stringNumber === 'string' && stringNumber.indexOf('px') !== -1;\n\nexport const translatePercentageToPx = memoizeOne(\n (totalWidth, percentage, minWidth = 0) => {\n const parsedPercentatge = parseInt(percentage.replace('%', ''));\n const width = (totalWidth * parsedPercentatge) / 100;\n return width > minWidth ? width : minWidth;\n },\n);\n\nconst translateStringPxToNumberPx = memoizeOne(pxNumber =>\n parseInt(pxNumber.replace('%', '')),\n);\nconst translatePxToPercentage = memoizeOne(\n (totalWidth, pxWidth) => `${(pxWidth / totalWidth) * 100}%`,\n);\n\nconst getWidth = memoizeOne((gridWidth, width = 0, minWidth) => {\n if (isPercentNumber(width))\n return translatePercentageToPx(gridWidth, width, minWidth);\n if (isPxNumber(width)) return translateStringPxToNumberPx(width);\n return width;\n});\n"],"names":["isPercentNumber","stringNumber","indexOf","isPxNumber","translatePercentageToPx","memoizeOne","totalWidth","percentage","minWidth","parsedPercentatge","parseInt","replace","width","translateStringPxToNumberPx","pxNumber","pxWidth","gridWidth"],"mappings":";;;;;;;;;;;IAGaA,eAAe,GAAG,SAAlBA,eAAkB,CAAAC,YAAY;AAAA,SACzC,OAAOA,YAAP,KAAwB,QAAxB,IAAoCA,YAAY,CAACC,OAAb,CAAqB,GAArB,MAA8B,CAAC,CAD1B;AAAA;IAE9BC,UAAU,GAAG,SAAbA,UAAa,CAAAF,YAAY;AAAA,SACpC,OAAOA,YAAP,KAAwB,QAAxB,IAAoCA,YAAY,CAACC,OAAb,CAAqB,IAArB,MAA+B,CAAC,CADhC;AAAA;IAGzBE,uBAAuB,GAAGC,8BAAU,CAC/C,UAACC,UAAD,EAAaC,UAAb,EAA0C;AAAA,MAAjBC,QAAiB,uEAAN,CAAM;AACxC,MAAMC,iBAAiB,GAAGC,cAAQ,CAACH,UAAU,CAACI,OAAX,CAAmB,GAAnB,EAAwB,EAAxB,CAAD,CAAlC;AACA,MAAMC,KAAK,GAAIN,UAAU,GAAGG,iBAAd,GAAmC,GAAjD;AACA,SAAOG,KAAK,GAAGJ,QAAR,GAAmBI,KAAnB,GAA2BJ,QAAlC;AACD,CAL8C;AAQjD,IAAMK,2BAA2B,GAAGR,8BAAU,CAAC,UAAAS,QAAQ;AAAA,SACrDJ,cAAQ,CAACI,QAAQ,CAACH,OAAT,CAAiB,GAAjB,EAAsB,EAAtB,CAAD,CAD6C;AAAA,CAAT,CAA9C;AAGgCN,8BAAU,CACxC,UAACC,UAAD,EAAaS,OAAb;AAAA,mBAA6BA,OAAO,GAAGT,UAAX,GAAyB,GAArD;AAAA,CADwC;AAIzBD,8BAAU,CAAC,UAACW,SAAD,EAAoC;AAAA,MAAxBJ,KAAwB,uEAAhB,CAAgB;AAAA,MAAbJ,QAAa;AAC9D,MAAIR,eAAe,CAACY,KAAD,CAAnB,EACE,OAAOR,uBAAuB,CAACY,SAAD,EAAYJ,KAAZ,EAAmBJ,QAAnB,CAA9B;AACF,MAAIL,UAAU,CAACS,KAAD,CAAd,EAAuB,OAAOC,2BAA2B,CAACD,KAAD,CAAlC;AACvB,SAAOA,KAAP;AACD,CAL0B;;;;;;"}
1
+ {"version":3,"file":"utils.js","sources":["../../../../src/plugins/resizable/utils.tsx"],"sourcesContent":["import { parseInt } from '@elliemae/ds-utilities';\nimport memoizeOne from 'memoize-one';\n\nexport const isPercentNumber = stringNumber =>\n typeof stringNumber === 'string' && stringNumber.indexOf('%') !== -1;\nexport const isPxNumber = stringNumber =>\n typeof stringNumber === 'string' && stringNumber.indexOf('px') !== -1;\n\nexport const translatePercentageToPx = memoizeOne(\n (totalWidth, percentage, minWidth = 0) => {\n const parsedPercentatge = parseInt(percentage.replace('%', ''));\n const width = (totalWidth * parsedPercentatge) / 100;\n return width > minWidth ? width : minWidth;\n },\n);\n\nconst translateStringPxToNumberPx = memoizeOne(pxNumber =>\n parseInt(pxNumber.replace('%', '')),\n);\nconst translatePxToPercentage = memoizeOne(\n (totalWidth, pxWidth) => `${(pxWidth / totalWidth) * 100}%`,\n);\n\nconst getWidth = memoizeOne((gridWidth, width = 0, minWidth) => {\n if (isPercentNumber(width))\n return translatePercentageToPx(gridWidth, width, minWidth);\n if (isPxNumber(width)) return translateStringPxToNumberPx(width);\n return width;\n});\n"],"names":["isPercentNumber","stringNumber","indexOf","isPxNumber","translatePercentageToPx","memoizeOne","totalWidth","percentage","minWidth","parsedPercentatge","parseInt","replace","width","translateStringPxToNumberPx","pxNumber","pxWidth","gridWidth"],"mappings":";;;;;;;;;;;IAGaA,eAAe,GAAG,SAAlBA,eAAkB,CAAAC,YAAY;AAAA,SACzC,OAAOA,YAAP,KAAwB,QAAxB,IAAoCA,YAAY,CAACC,OAAb,CAAqB,GAArB,MAA8B,CAAC,CAD1B;AAAA;IAE9BC,UAAU,GAAG,SAAbA,UAAa,CAAAF,YAAY;AAAA,SACpC,OAAOA,YAAP,KAAwB,QAAxB,IAAoCA,YAAY,CAACC,OAAb,CAAqB,IAArB,MAA+B,CAAC,CADhC;AAAA;IAGzBE,uBAAuB,GAAGC,8BAAU,CAC/C,UAACC,UAAD,EAAaC,UAAb,EAA0C;AAAA,MAAjBC,QAAiB,uEAAN,CAAM;AACxC,MAAMC,iBAAiB,GAAGC,oBAAQ,CAACH,UAAU,CAACI,OAAX,CAAmB,GAAnB,EAAwB,EAAxB,CAAD,CAAlC;AACA,MAAMC,KAAK,GAAIN,UAAU,GAAGG,iBAAd,GAAmC,GAAjD;AACA,SAAOG,KAAK,GAAGJ,QAAR,GAAmBI,KAAnB,GAA2BJ,QAAlC;AACD,CAL8C;AAQjD,IAAMK,2BAA2B,GAAGR,8BAAU,CAAC,UAAAS,QAAQ;AAAA,SACrDJ,oBAAQ,CAACI,QAAQ,CAACH,OAAT,CAAiB,GAAjB,EAAsB,EAAtB,CAAD,CAD6C;AAAA,CAAT,CAA9C;AAGgCN,8BAAU,CACxC,UAACC,UAAD,EAAaS,OAAb;AAAA,mBAA6BA,OAAO,GAAGT,UAAX,GAAyB,GAArD;AAAA,CADwC;AAIzBD,8BAAU,CAAC,UAACW,SAAD,EAAoC;AAAA,MAAxBJ,KAAwB,uEAAhB,CAAgB;AAAA,MAAbJ,QAAa;AAC9D,MAAIR,eAAe,CAACY,KAAD,CAAnB,EACE,OAAOR,uBAAuB,CAACY,SAAD,EAAYJ,KAAZ,EAAmBJ,QAAnB,CAA9B;AACF,MAAIL,UAAU,CAACS,KAAD,CAAd,EAAuB,OAAOC,2BAA2B,CAACD,KAAD,CAAlC;AACvB,SAAOA,KAAP;AACD,CAL0B;;;;;;"}
@@ -6,8 +6,8 @@ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
6
6
  var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
7
7
  var React = require('react');
8
8
  var reactSortableHoc = require('react-sortable-hoc');
9
- var GripperVertical = require('@elliemae/ds-icons/GripperVertical');
10
- var utils = require('@elliemae/ds-utilities/utils');
9
+ var dsIcons = require('@elliemae/ds-icons');
10
+ var dsUtilities = require('@elliemae/ds-utilities');
11
11
  var initColumnDefinition = require('@elliemae/ds-shared/useDataGrid/initColumnDefinition');
12
12
  var createInstancePlugin = require('@elliemae/ds-shared/createDataInstance/createInstancePlugin');
13
13
 
@@ -16,7 +16,6 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
16
16
  var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
17
17
  var _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);
18
18
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
19
- var GripperVertical__default = /*#__PURE__*/_interopDefaultLegacy(GripperVertical);
20
19
  var createInstancePlugin__default = /*#__PURE__*/_interopDefaultLegacy(createInstancePlugin);
21
20
 
22
21
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
@@ -25,7 +24,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
25
24
 
26
25
  var keysToOmit = ['axis', 'contentWindow', 'disableAutoscroll', 'distance', 'getContainer', 'getHelperDimensions', 'helperClass', 'helperContainer', 'hideSortableGhost', 'keyboardSortingTransitionDuration', 'lockAxis', 'lockOffset', 'lockToContainerEdges', 'onSortEnd', 'onSortMove', 'onSortOver', 'onSortStart', 'pressDelay', 'pressThreshold', 'shouldCancelStart', 'transitionDuration', 'updateBeforeSortStart', 'useDragHandle', 'useWindowAsScrollContainer'];
27
26
  var DragHandle = reactSortableHoc.SortableHandle(function () {
28
- return /*#__PURE__*/React__default['default'].createElement(GripperVertical__default['default'], {
27
+ return /*#__PURE__*/React__default['default'].createElement(dsIcons.GripperVertical, {
29
28
  className: "drag-handle"
30
29
  });
31
30
  });
@@ -96,7 +95,7 @@ var decorateRenderers = function decorateRenderers(renderers) {
96
95
  }, []);
97
96
  var BodyWrapper = React.useMemo(function () {
98
97
  return reactSortableHoc.SortableContainer(function (props) {
99
- return /*#__PURE__*/React__default['default'].createElement(BodyWrapperComponent, utils.omit(props, keysToOmit));
98
+ return /*#__PURE__*/React__default['default'].createElement(BodyWrapperComponent, dsUtilities.omit(props, keysToOmit));
100
99
  });
101
100
  }, []);
102
101
  return _objectSpread(_objectSpread({}, renderers), {}, {
@@ -1 +1 @@
1
- {"version":3,"file":"DndRowsPlugin.js","sources":["../../../../src/plugins/row-dnd/DndRowsPlugin.tsx"],"sourcesContent":["/* eslint-disable max-lines */\n/* eslint-disable react-hooks/rules-of-hooks */\nimport React, { useMemo } from 'react';\nimport {\n SortableElement,\n SortableContainer,\n SortableHandle,\n} from 'react-sortable-hoc';\nimport GripperVertical from '@elliemae/ds-icons/GripperVertical';\nimport { omit } from '@elliemae/ds-utilities/utils';\nimport { appendCellFormatter } from '@elliemae/ds-shared/useDataGrid/initColumnDefinition';\nimport createInstancePlugin from '@elliemae/ds-shared/createDataInstance/createInstancePlugin';\n\n// todo: remove once it's fixed in react-sortable-hoc library\nconst keysToOmit = [\n 'axis',\n 'contentWindow',\n 'disableAutoscroll',\n 'distance',\n 'getContainer',\n 'getHelperDimensions',\n 'helperClass',\n 'helperContainer',\n 'hideSortableGhost',\n 'keyboardSortingTransitionDuration',\n 'lockAxis',\n 'lockOffset',\n 'lockToContainerEdges',\n 'onSortEnd',\n 'onSortMove',\n 'onSortOver',\n 'onSortStart',\n 'pressDelay',\n 'pressThreshold',\n 'shouldCancelStart',\n 'transitionDuration',\n 'updateBeforeSortStart',\n 'useDragHandle',\n 'useWindowAsScrollContainer',\n];\n\nconst DragHandle = SortableHandle(() => (\n <GripperVertical className=\"drag-handle\" />\n));\n\nconst translateDnDData = ({ oldIndex, newIndex, index }) => ({\n sourceIndex: oldIndex,\n targetIndex: newIndex,\n fromIndex: index === undefined ? oldIndex : index,\n});\n\nconst decorateColumns = (columns) => {\n const dragColumn = {\n property: 'drag',\n label: '',\n visible: true,\n width: 24,\n minWidth: 24,\n special: true,\n };\n return [\n appendCellFormatter(\n () => (\n <>\n <DragHandle />\n </>\n ),\n dragColumn,\n ),\n ...columns,\n ];\n};\n\nconst getBodyProps = (props, grid) => {\n const { onMoveRowEnd, onReorder, onMoveRowStart } = grid.props;\n return {\n ...props,\n onSortEnd: (data) => {\n grid.enableEvents();\n grid.setIsRowDragging(false);\n onMoveRowEnd(translateDnDData(data));\n },\n onSortStart: (...args) => {\n grid.disableEvents();\n grid.setIsRowDragging(true);\n onMoveRowStart(...args);\n },\n onSortOver: (data) => {\n onReorder(translateDnDData(data));\n },\n lockAxis: 'y',\n useDragHandle: true,\n helperClass: 'row-drag-helper',\n // a promise is needed, since sortable it's mounted before it's container\n getContainer: () =>\n new Promise((resolve) => {\n setTimeout(() => {\n resolve(grid.refs.innerBody.current || grid.refs.body.current);\n }, 100);\n }),\n };\n};\n\nconst decorateRenderers = (renderers) => {\n const RowComponent = renderers.body.row;\n const BodyWrapperComponent = renderers.body.wrapper;\n\n const Row = useMemo(() => SortableElement(RowComponent), []);\n\n const BodyWrapper = useMemo(\n () =>\n SortableContainer((props) => (\n <BodyWrapperComponent {...omit(props, keysToOmit)} />\n )),\n [],\n );\n\n return {\n ...renderers,\n body: {\n ...renderers.body,\n wrapper: BodyWrapper,\n row: Row,\n },\n };\n};\n\nexport const DndRowsPlugin = createInstancePlugin('dnd-rows', {\n decorateColumns,\n getBodyProps,\n decorateRenderers,\n});\n"],"names":["keysToOmit","DragHandle","SortableHandle","React","GripperVertical","translateDnDData","oldIndex","newIndex","index","sourceIndex","targetIndex","fromIndex","undefined","decorateColumns","columns","dragColumn","property","label","visible","width","minWidth","special","appendCellFormatter","getBodyProps","props","grid","onMoveRowEnd","onReorder","onMoveRowStart","onSortEnd","data","enableEvents","setIsRowDragging","onSortStart","disableEvents","onSortOver","lockAxis","useDragHandle","helperClass","getContainer","Promise","resolve","setTimeout","refs","innerBody","current","body","decorateRenderers","renderers","RowComponent","row","BodyWrapperComponent","wrapper","Row","useMemo","SortableElement","BodyWrapper","SortableContainer","omit","DndRowsPlugin","createInstancePlugin"],"mappings":"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"}
1
+ {"version":3,"file":"DndRowsPlugin.js","sources":["../../../../src/plugins/row-dnd/DndRowsPlugin.tsx"],"sourcesContent":["/* eslint-disable max-lines */\n/* eslint-disable react-hooks/rules-of-hooks */\nimport React, { useMemo } from 'react';\nimport { SortableElement, SortableContainer, SortableHandle } from 'react-sortable-hoc';\nimport { GripperVertical } from '@elliemae/ds-icons';\nimport { omit } from '@elliemae/ds-utilities';\nimport { appendCellFormatter } from '@elliemae/ds-shared/useDataGrid/initColumnDefinition';\nimport createInstancePlugin from '@elliemae/ds-shared/createDataInstance/createInstancePlugin';\n\n// todo: remove once it's fixed in react-sortable-hoc library\nconst keysToOmit = [\n 'axis',\n 'contentWindow',\n 'disableAutoscroll',\n 'distance',\n 'getContainer',\n 'getHelperDimensions',\n 'helperClass',\n 'helperContainer',\n 'hideSortableGhost',\n 'keyboardSortingTransitionDuration',\n 'lockAxis',\n 'lockOffset',\n 'lockToContainerEdges',\n 'onSortEnd',\n 'onSortMove',\n 'onSortOver',\n 'onSortStart',\n 'pressDelay',\n 'pressThreshold',\n 'shouldCancelStart',\n 'transitionDuration',\n 'updateBeforeSortStart',\n 'useDragHandle',\n 'useWindowAsScrollContainer',\n];\n\nconst DragHandle = SortableHandle(() => <GripperVertical className=\"drag-handle\" />);\n\nconst translateDnDData = ({ oldIndex, newIndex, index }) => ({\n sourceIndex: oldIndex,\n targetIndex: newIndex,\n fromIndex: index === undefined ? oldIndex : index,\n});\n\nconst decorateColumns = (columns) => {\n const dragColumn = {\n property: 'drag',\n label: '',\n visible: true,\n width: 24,\n minWidth: 24,\n special: true,\n };\n return [\n appendCellFormatter(\n () => (\n <>\n <DragHandle />\n </>\n ),\n dragColumn,\n ),\n ...columns,\n ];\n};\n\nconst getBodyProps = (props, grid) => {\n const { onMoveRowEnd, onReorder, onMoveRowStart } = grid.props;\n return {\n ...props,\n onSortEnd: (data) => {\n grid.enableEvents();\n grid.setIsRowDragging(false);\n onMoveRowEnd(translateDnDData(data));\n },\n onSortStart: (...args) => {\n grid.disableEvents();\n grid.setIsRowDragging(true);\n onMoveRowStart(...args);\n },\n onSortOver: (data) => {\n onReorder(translateDnDData(data));\n },\n lockAxis: 'y',\n useDragHandle: true,\n helperClass: 'row-drag-helper',\n // a promise is needed, since sortable it's mounted before it's container\n getContainer: () =>\n new Promise((resolve) => {\n setTimeout(() => {\n resolve(grid.refs.innerBody.current || grid.refs.body.current);\n }, 100);\n }),\n };\n};\n\nconst decorateRenderers = (renderers) => {\n const RowComponent = renderers.body.row;\n const BodyWrapperComponent = renderers.body.wrapper;\n\n const Row = useMemo(() => SortableElement(RowComponent), []);\n\n const BodyWrapper = useMemo(\n () => SortableContainer((props) => <BodyWrapperComponent {...omit(props, keysToOmit)} />),\n [],\n );\n\n return {\n ...renderers,\n body: {\n ...renderers.body,\n wrapper: BodyWrapper,\n row: Row,\n },\n };\n};\n\nexport const DndRowsPlugin = createInstancePlugin('dnd-rows', {\n decorateColumns,\n getBodyProps,\n decorateRenderers,\n});\n"],"names":["keysToOmit","DragHandle","SortableHandle","React","GripperVertical","translateDnDData","oldIndex","newIndex","index","sourceIndex","targetIndex","fromIndex","undefined","decorateColumns","columns","dragColumn","property","label","visible","width","minWidth","special","appendCellFormatter","getBodyProps","props","grid","onMoveRowEnd","onReorder","onMoveRowStart","onSortEnd","data","enableEvents","setIsRowDragging","onSortStart","disableEvents","onSortOver","lockAxis","useDragHandle","helperClass","getContainer","Promise","resolve","setTimeout","refs","innerBody","current","body","decorateRenderers","renderers","RowComponent","row","BodyWrapperComponent","wrapper","Row","useMemo","SortableElement","BodyWrapper","SortableContainer","omit","DndRowsPlugin","createInstancePlugin"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAUA,IAAMA,UAAU,GAAG,CACjB,MADiB,EAEjB,eAFiB,EAGjB,mBAHiB,EAIjB,UAJiB,EAKjB,cALiB,EAMjB,qBANiB,EAOjB,aAPiB,EAQjB,iBARiB,EASjB,mBATiB,EAUjB,mCAViB,EAWjB,UAXiB,EAYjB,YAZiB,EAajB,sBAbiB,EAcjB,WAdiB,EAejB,YAfiB,EAgBjB,YAhBiB,EAiBjB,aAjBiB,EAkBjB,YAlBiB,EAmBjB,gBAnBiB,EAoBjB,mBApBiB,EAqBjB,oBArBiB,EAsBjB,uBAtBiB,EAuBjB,eAvBiB,EAwBjB,4BAxBiB,CAAnB;AA2BA,IAAMC,UAAU,GAAGC,+BAAc,CAAC;AAAA,sBAAMC,wCAACC,uBAAD;AAAiB,IAAA,SAAS,EAAC;AAA3B,IAAN;AAAA,CAAD,CAAjC;;AAEA,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAmB;AAAA,MAAGC,QAAH,QAAGA,QAAH;AAAA,MAAaC,QAAb,QAAaA,QAAb;AAAA,MAAuBC,KAAvB,QAAuBA,KAAvB;AAAA,SAAoC;AAC3DC,IAAAA,WAAW,EAAEH,QAD8C;AAE3DI,IAAAA,WAAW,EAAEH,QAF8C;AAG3DI,IAAAA,SAAS,EAAEH,KAAK,KAAKI,SAAV,GAAsBN,QAAtB,GAAiCE;AAHe,GAApC;AAAA,CAAzB;;AAMA,IAAMK,eAAe,GAAG,SAAlBA,eAAkB,CAACC,OAAD,EAAa;AACnC,MAAMC,UAAU,GAAG;AACjBC,IAAAA,QAAQ,EAAE,MADO;AAEjBC,IAAAA,KAAK,EAAE,EAFU;AAGjBC,IAAAA,OAAO,EAAE,IAHQ;AAIjBC,IAAAA,KAAK,EAAE,EAJU;AAKjBC,IAAAA,QAAQ,EAAE,EALO;AAMjBC,IAAAA,OAAO,EAAE;AANQ,GAAnB;AAQA,UACEC,wCAAmB,CACjB;AAAA,wBACEnB,+FACEA,wCAAC,UAAD,OADF,CADF;AAAA,GADiB,EAMjBY,UANiB,CADrB,gDASKD,OATL;AAWD,CApBD;;AAsBA,IAAMS,YAAY,GAAG,SAAfA,YAAe,CAACC,KAAD,EAAQC,IAAR,EAAiB;AACpC,oBAAoDA,IAAI,CAACD,KAAzD;AAAA,MAAQE,YAAR,eAAQA,YAAR;AAAA,MAAsBC,SAAtB,eAAsBA,SAAtB;AAAA,MAAiCC,cAAjC,eAAiCA,cAAjC;AACA,yCACKJ,KADL;AAEEK,IAAAA,SAAS,EAAE,mBAACC,IAAD,EAAU;AACnBL,MAAAA,IAAI,CAACM,YAAL;AACAN,MAAAA,IAAI,CAACO,gBAAL,CAAsB,KAAtB;AACAN,MAAAA,YAAY,CAACrB,gBAAgB,CAACyB,IAAD,CAAjB,CAAZ;AACD,KANH;AAOEG,IAAAA,WAAW,EAAE,uBAAa;AACxBR,MAAAA,IAAI,CAACS,aAAL;AACAT,MAAAA,IAAI,CAACO,gBAAL,CAAsB,IAAtB;AACAJ,MAAAA,cAAc,MAAd;AACD,KAXH;AAYEO,IAAAA,UAAU,EAAE,oBAACL,IAAD,EAAU;AACpBH,MAAAA,SAAS,CAACtB,gBAAgB,CAACyB,IAAD,CAAjB,CAAT;AACD,KAdH;AAeEM,IAAAA,QAAQ,EAAE,GAfZ;AAgBEC,IAAAA,aAAa,EAAE,IAhBjB;AAiBEC,IAAAA,WAAW,EAAE,iBAjBf;AAkBE;AACAC,IAAAA,YAAY,EAAE;AAAA,aACZ,IAAIC,OAAJ,CAAY,UAACC,OAAD,EAAa;AACvBC,QAAAA,UAAU,CAAC,YAAM;AACfD,UAAAA,OAAO,CAAChB,IAAI,CAACkB,IAAL,CAAUC,SAAV,CAAoBC,OAApB,IAA+BpB,IAAI,CAACkB,IAAL,CAAUG,IAAV,CAAeD,OAA/C,CAAP;AACD,SAFS,EAEP,GAFO,CAAV;AAGD,OAJD,CADY;AAAA;AAnBhB;AA0BD,CA5BD;;AA8BA,IAAME,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,SAAD,EAAe;AACvC,MAAMC,YAAY,GAAGD,SAAS,CAACF,IAAV,CAAeI,GAApC;AACA,MAAMC,oBAAoB,GAAGH,SAAS,CAACF,IAAV,CAAeM,OAA5C;AAEA,MAAMC,GAAG,GAAGC,aAAO,CAAC;AAAA,WAAMC,gCAAe,CAACN,YAAD,CAArB;AAAA,GAAD,EAAsC,EAAtC,CAAnB;AAEA,MAAMO,WAAW,GAAGF,aAAO,CACzB;AAAA,WAAMG,kCAAiB,CAAC,UAACjC,KAAD;AAAA,0BAAWrB,wCAAC,oBAAD,EAA0BuD,gBAAI,CAAClC,KAAD,EAAQxB,UAAR,CAA9B,CAAX;AAAA,KAAD,CAAvB;AAAA,GADyB,EAEzB,EAFyB,CAA3B;AAKA,yCACKgD,SADL;AAEEF,IAAAA,IAAI,kCACCE,SAAS,CAACF,IADX;AAEFM,MAAAA,OAAO,EAAEI,WAFP;AAGFN,MAAAA,GAAG,EAAEG;AAHH;AAFN;AAQD,CAnBD;;IAqBaM,aAAa,GAAGC,wCAAoB,CAAC,UAAD,EAAa;AAC5D/C,EAAAA,eAAe,EAAfA,eAD4D;AAE5DU,EAAAA,YAAY,EAAZA,YAF4D;AAG5DwB,EAAAA,iBAAiB,EAAjBA;AAH4D,CAAb;;;;"}
@@ -7,8 +7,8 @@ require('@babel/runtime/helpers/defineProperty');
7
7
  require('@babel/runtime/helpers/toConsumableArray');
8
8
  require('react');
9
9
  require('react-sortable-hoc');
10
- require('@elliemae/ds-icons/GripperVertical');
11
- require('@elliemae/ds-utilities/utils');
10
+ require('@elliemae/ds-icons');
11
+ require('@elliemae/ds-utilities');
12
12
  require('@elliemae/ds-shared/useDataGrid/initColumnDefinition');
13
13
  require('@elliemae/ds-shared/createDataInstance/createInstancePlugin');
14
14
 
@@ -7,7 +7,7 @@ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
7
7
  var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
8
8
  var React = require('react');
9
9
  var cx = require('obj-str');
10
- var utils = require('@elliemae/ds-utilities/utils');
10
+ var dsUtilities = require('@elliemae/ds-utilities');
11
11
  var createInstancePlugin = require('@elliemae/ds-shared/createDataInstance/createInstancePlugin');
12
12
  var plugins_selectable_addSelectableColumn = require('./addSelectableColumn.js');
13
13
  var plugins_selectable_useSelectableState = require('./useSelectableState.js');
@@ -15,9 +15,7 @@ var plugins_selectable_helper = require('./helper.js');
15
15
  require('@babel/runtime/helpers/objectWithoutProperties');
16
16
  require('@elliemae/ds-shared/useDataGrid/initColumnDefinition');
17
17
  require('./selectableFormatter.js');
18
- require('@elliemae/ds-basic/form/Checkbox');
19
- require('@elliemae/ds-basic/form/Radio');
20
- require('@elliemae/ds-utilities/hooks/useDerivedStateFromProps');
18
+ require('@elliemae/ds-form');
21
19
 
22
20
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
23
21
 
@@ -95,7 +93,7 @@ var composeRows = function composeRows(rows, grid) {
95
93
  selection = _grid$getInstance2.state.selection;
96
94
 
97
95
  var selectionPredicate = function selectionPredicate(row) {
98
- return utils.isFunction(isRowSelected) ? isRowSelected(row) : !!selection.selectedRows[row[rowKey]];
96
+ return dsUtilities.isFunction(isRowSelected) ? isRowSelected(row) : !!selection.selectedRows[row[rowKey]];
99
97
  };
100
98
 
101
99
  return multiple ? plugins_selectable_helper.selectMultipleRow(rows, selectionPredicate) : plugins_selectable_helper.selectSingleRow(rows, selectionPredicate);
@@ -1 +1 @@
1
- {"version":3,"file":"SelectablePlugin.js","sources":["../../../../src/plugins/selectable/SelectablePlugin.tsx"],"sourcesContent":["/* eslint-disable react-hooks/rules-of-hooks */\n/* eslint-disable max-lines */\nimport { useEffect, useState, useCallback } from 'react';\nimport cx from 'obj-str';\nimport { isFunction } from '@elliemae/ds-utilities/utils';\nimport createInstancePlugin from '@elliemae/ds-shared/createDataInstance/createInstancePlugin';\nimport { selectionColumnCreator } from './addSelectableColumn';\nimport { useSelectableState } from './useSelectableState';\nimport { selectMultipleRow, selectSingleRow } from './helper';\n\n// DECORATORS\nconst decorateColumns = (columns, grid) => {\n const {\n props: {\n selectable,\n multiSelectFilterLabel,\n multiSelectFilterOptions,\n multiSelectFilterLabels,\n multiSelectComponent,\n },\n actions: { selectAll: handleSelectAll, selectRow: handleSelectRow },\n state: { selection },\n } = grid;\n\n const createSelectionColumn = selectionColumnCreator({\n grid,\n multiple: selectable === 'multi',\n selectAll: selection.selectAll,\n onSelectAll: handleSelectAll,\n onSelectRow: handleSelectRow,\n multiSelectFilterLabel,\n multiSelectFilterOptions,\n multiSelectFilterLabels,\n multiSelectComponent,\n });\n\n const { showSelectColumn, selectionColumnDefinition } = grid.props;\n\n if (showSelectColumn) {\n const selectionColumn = createSelectionColumn(selectionColumnDefinition);\n return [selectionColumn, ...columns];\n }\n return columns;\n};\n\nconst getRowProps = (rowProps, grid, { rowData }) => {\n const {\n props: { showSelectHighlight, showSelectColumn, rowKey },\n actions: { selectRow },\n } = grid.getInstance();\n\n const { _index } = rowData;\n const isSelected = rowData['metaData.selected'];\n\n if (!showSelectColumn) {\n rowProps.onClick = () => selectRow(rowData[rowKey], _index);\n }\n\n rowProps.className = cx({\n [rowProps.className]: true,\n selected: isSelected,\n 'select-highlight': showSelectHighlight && isSelected,\n });\n\n return rowProps;\n};\n\nconst composeRows = (rows, grid) => {\n const {\n props: { isRowSelected, multiple, rowKey },\n state: { selection },\n } = grid.getInstance();\n\n const selectionPredicate = (row) =>\n isFunction(isRowSelected)\n ? isRowSelected(row)\n : !!selection.selectedRows[row[rowKey]];\n\n return multiple\n ? selectMultipleRow(rows, selectionPredicate)\n : selectSingleRow(rows, selectionPredicate);\n};\n\nconst decorateGrid = (grid) => {\n // const handler = useRef();\n const {\n props: { isRowSelected, rowKey },\n actions: { selectRow },\n state: { selection },\n } = grid.getInstance();\n const [shiftPressed, setShiftPressed] = useState(false);\n const [lastSelectedRow, setLastSelectedRow] = useState(null);\n\n const selectRowHandler = useCallback(\n (rowData, index) => () => selectRow(rowData[rowKey], index, shiftPressed),\n [isRowSelected, selection, shiftPressed],\n );\n\n useEffect(() => {\n const keyDownListener = (event) => {\n if (\n event.key === 'Shift' &&\n event.target.tagName.toLowerCase() !== 'input' &&\n event.target.parentNode.className !== 'em-ds-combobox__input'\n ) {\n setShiftPressed(true);\n }\n };\n const keyUpListener = (event) => {\n if (\n event.key === 'Shift' &&\n event.target.tagName.toLowerCase() !== 'input' &&\n event.target.parentNode.className !== 'em-ds-combobox__input'\n ) {\n setShiftPressed(false);\n }\n };\n window.addEventListener('keydown', keyDownListener);\n window.addEventListener('keyup', keyUpListener);\n return () => {\n window.removeEventListener('keydown', keyDownListener);\n window.removeEventListener('keyup', keyUpListener);\n };\n });\n\n return {\n shiftPressed,\n selectRowHandler,\n setLastSelectedRow,\n lastSelectedRow,\n };\n};\n\nexport const SelectablePlugin = createInstancePlugin('selectable', {\n decorateGrid,\n registerStateHook: useSelectableState,\n decorateColumns,\n getRowProps,\n composeRows,\n registerHotKeys(grid) {\n return [\n {\n key: 'space',\n handler: ({ rowIndex }) => {\n const {\n composedRows,\n props: { rowKey },\n actions: { selectRow },\n } = grid.getInstance();\n const rows = composedRows.rows || composedRows;\n const row = rows[rowIndex];\n if (!row) return;\n selectRow(row[rowKey], rowIndex);\n },\n },\n {\n key: 'ctrl+a',\n handler: () => {\n const {\n state: { selection },\n actions: { selectAll },\n } = grid.getInstance();\n\n selectAll(!selection.selectAll);\n },\n },\n ];\n },\n});\n"],"names":["decorateColumns","columns","grid","props","selectable","multiSelectFilterLabel","multiSelectFilterOptions","multiSelectFilterLabels","multiSelectComponent","actions","handleSelectAll","selectAll","handleSelectRow","selectRow","selection","state","createSelectionColumn","selectionColumnCreator","multiple","onSelectAll","onSelectRow","showSelectColumn","selectionColumnDefinition","selectionColumn","getRowProps","rowProps","rowData","getInstance","showSelectHighlight","rowKey","_index","isSelected","onClick","className","cx","composeRows","rows","isRowSelected","selectionPredicate","row","isFunction","selectedRows","selectMultipleRow","selectSingleRow","decorateGrid","useState","shiftPressed","setShiftPressed","lastSelectedRow","setLastSelectedRow","selectRowHandler","useCallback","index","useEffect","keyDownListener","event","key","target","tagName","toLowerCase","parentNode","keyUpListener","window","addEventListener","removeEventListener","SelectablePlugin","createInstancePlugin","registerStateHook","useSelectableState","registerHotKeys","handler","rowIndex","composedRows"],"mappings":"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"}
1
+ {"version":3,"file":"SelectablePlugin.js","sources":["../../../../src/plugins/selectable/SelectablePlugin.tsx"],"sourcesContent":["/* eslint-disable react-hooks/rules-of-hooks */\n/* eslint-disable max-lines */\nimport { useEffect, useState, useCallback } from 'react';\nimport cx from 'obj-str';\nimport { isFunction } from '@elliemae/ds-utilities';\nimport createInstancePlugin from '@elliemae/ds-shared/createDataInstance/createInstancePlugin';\nimport { selectionColumnCreator } from './addSelectableColumn';\nimport { useSelectableState } from './useSelectableState';\nimport { selectMultipleRow, selectSingleRow } from './helper';\n\n// DECORATORS\nconst decorateColumns = (columns, grid) => {\n const {\n props: {\n selectable,\n multiSelectFilterLabel,\n multiSelectFilterOptions,\n multiSelectFilterLabels,\n multiSelectComponent,\n },\n actions: { selectAll: handleSelectAll, selectRow: handleSelectRow },\n state: { selection },\n } = grid;\n\n const createSelectionColumn = selectionColumnCreator({\n grid,\n multiple: selectable === 'multi',\n selectAll: selection.selectAll,\n onSelectAll: handleSelectAll,\n onSelectRow: handleSelectRow,\n multiSelectFilterLabel,\n multiSelectFilterOptions,\n multiSelectFilterLabels,\n multiSelectComponent,\n });\n\n const { showSelectColumn, selectionColumnDefinition } = grid.props;\n\n if (showSelectColumn) {\n const selectionColumn = createSelectionColumn(selectionColumnDefinition);\n return [selectionColumn, ...columns];\n }\n return columns;\n};\n\nconst getRowProps = (rowProps, grid, { rowData }) => {\n const {\n props: { showSelectHighlight, showSelectColumn, rowKey },\n actions: { selectRow },\n } = grid.getInstance();\n\n const { _index } = rowData;\n const isSelected = rowData['metaData.selected'];\n\n if (!showSelectColumn) {\n rowProps.onClick = () => selectRow(rowData[rowKey], _index);\n }\n\n rowProps.className = cx({\n [rowProps.className]: true,\n selected: isSelected,\n 'select-highlight': showSelectHighlight && isSelected,\n });\n\n return rowProps;\n};\n\nconst composeRows = (rows, grid) => {\n const {\n props: { isRowSelected, multiple, rowKey },\n state: { selection },\n } = grid.getInstance();\n\n const selectionPredicate = (row) =>\n isFunction(isRowSelected)\n ? isRowSelected(row)\n : !!selection.selectedRows[row[rowKey]];\n\n return multiple\n ? selectMultipleRow(rows, selectionPredicate)\n : selectSingleRow(rows, selectionPredicate);\n};\n\nconst decorateGrid = (grid) => {\n // const handler = useRef();\n const {\n props: { isRowSelected, rowKey },\n actions: { selectRow },\n state: { selection },\n } = grid.getInstance();\n const [shiftPressed, setShiftPressed] = useState(false);\n const [lastSelectedRow, setLastSelectedRow] = useState(null);\n\n const selectRowHandler = useCallback(\n (rowData, index) => () => selectRow(rowData[rowKey], index, shiftPressed),\n [isRowSelected, selection, shiftPressed],\n );\n\n useEffect(() => {\n const keyDownListener = (event) => {\n if (\n event.key === 'Shift' &&\n event.target.tagName.toLowerCase() !== 'input' &&\n event.target.parentNode.className !== 'em-ds-combobox__input'\n ) {\n setShiftPressed(true);\n }\n };\n const keyUpListener = (event) => {\n if (\n event.key === 'Shift' &&\n event.target.tagName.toLowerCase() !== 'input' &&\n event.target.parentNode.className !== 'em-ds-combobox__input'\n ) {\n setShiftPressed(false);\n }\n };\n window.addEventListener('keydown', keyDownListener);\n window.addEventListener('keyup', keyUpListener);\n return () => {\n window.removeEventListener('keydown', keyDownListener);\n window.removeEventListener('keyup', keyUpListener);\n };\n });\n\n return {\n shiftPressed,\n selectRowHandler,\n setLastSelectedRow,\n lastSelectedRow,\n };\n};\n\nexport const SelectablePlugin = createInstancePlugin('selectable', {\n decorateGrid,\n registerStateHook: useSelectableState,\n decorateColumns,\n getRowProps,\n composeRows,\n registerHotKeys(grid) {\n return [\n {\n key: 'space',\n handler: ({ rowIndex }) => {\n const {\n composedRows,\n props: { rowKey },\n actions: { selectRow },\n } = grid.getInstance();\n const rows = composedRows.rows || composedRows;\n const row = rows[rowIndex];\n if (!row) return;\n selectRow(row[rowKey], rowIndex);\n },\n },\n {\n key: 'ctrl+a',\n handler: () => {\n const {\n state: { selection },\n actions: { selectAll },\n } = grid.getInstance();\n\n selectAll(!selection.selectAll);\n },\n },\n ];\n },\n});\n"],"names":["decorateColumns","columns","grid","props","selectable","multiSelectFilterLabel","multiSelectFilterOptions","multiSelectFilterLabels","multiSelectComponent","actions","handleSelectAll","selectAll","handleSelectRow","selectRow","selection","state","createSelectionColumn","selectionColumnCreator","multiple","onSelectAll","onSelectRow","showSelectColumn","selectionColumnDefinition","selectionColumn","getRowProps","rowProps","rowData","getInstance","showSelectHighlight","rowKey","_index","isSelected","onClick","className","cx","composeRows","rows","isRowSelected","selectionPredicate","row","isFunction","selectedRows","selectMultipleRow","selectSingleRow","decorateGrid","useState","shiftPressed","setShiftPressed","lastSelectedRow","setLastSelectedRow","selectRowHandler","useCallback","index","useEffect","keyDownListener","event","key","target","tagName","toLowerCase","parentNode","keyUpListener","window","addEventListener","removeEventListener","SelectablePlugin","createInstancePlugin","registerStateHook","useSelectableState","registerHotKeys","handler","rowIndex","composedRows"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,CAACC,OAAD,EAAUC,IAAV,EAAmB;AACzC,oBAUIA,IAVJ,CACEC,KADF;AAAA,MAEIC,UAFJ,eAEIA,UAFJ;AAAA,MAGIC,sBAHJ,eAGIA,sBAHJ;AAAA,MAIIC,wBAJJ,eAIIA,wBAJJ;AAAA,MAKIC,uBALJ,eAKIA,uBALJ;AAAA,MAMIC,oBANJ,eAMIA,oBANJ;AAAA,sBAUIN,IAVJ,CAQEO,OARF;AAAA,MAQwBC,eARxB,iBAQaC,SARb;AAAA,MAQoDC,eARpD,iBAQyCC,SARzC;AAAA,MASWC,SATX,GAUIZ,IAVJ,CASEa,KATF,CASWD,SATX;AAYA,MAAME,qBAAqB,GAAGC,6DAAsB,CAAC;AACnDf,IAAAA,IAAI,EAAJA,IADmD;AAEnDgB,IAAAA,QAAQ,EAAEd,UAAU,KAAK,OAF0B;AAGnDO,IAAAA,SAAS,EAAEG,SAAS,CAACH,SAH8B;AAInDQ,IAAAA,WAAW,EAAET,eAJsC;AAKnDU,IAAAA,WAAW,EAAER,eALsC;AAMnDP,IAAAA,sBAAsB,EAAtBA,sBANmD;AAOnDC,IAAAA,wBAAwB,EAAxBA,wBAPmD;AAQnDC,IAAAA,uBAAuB,EAAvBA,uBARmD;AASnDC,IAAAA,oBAAoB,EAApBA;AATmD,GAAD,CAApD;AAYA,qBAAwDN,IAAI,CAACC,KAA7D;AAAA,MAAQkB,gBAAR,gBAAQA,gBAAR;AAAA,MAA0BC,yBAA1B,gBAA0BA,yBAA1B;;AAEA,MAAID,gBAAJ,EAAsB;AACpB,QAAME,eAAe,GAAGP,qBAAqB,CAACM,yBAAD,CAA7C;AACA,YAAQC,eAAR,gDAA4BtB,OAA5B;AACD;;AACD,SAAOA,OAAP;AACD,CAhCD;;AAkCA,IAAMuB,WAAW,GAAG,SAAdA,WAAc,CAACC,QAAD,EAAWvB,IAAX,QAAiC;AAAA;;AAAA,MAAdwB,OAAc,QAAdA,OAAc;;AACnD,0BAGIxB,IAAI,CAACyB,WAAL,EAHJ;AAAA,gDACExB,KADF;AAAA,MACWyB,mBADX,yBACWA,mBADX;AAAA,MACgCP,gBADhC,yBACgCA,gBADhC;AAAA,MACkDQ,MADlD,yBACkDA,MADlD;AAAA,MAEahB,SAFb,qBAEEJ,OAFF,CAEaI,SAFb;;AAKA,MAAQiB,MAAR,GAAmBJ,OAAnB,CAAQI,MAAR;AACA,MAAMC,UAAU,GAAGL,OAAO,CAAC,mBAAD,CAA1B;;AAEA,MAAI,CAACL,gBAAL,EAAuB;AACrBI,IAAAA,QAAQ,CAACO,OAAT,GAAmB;AAAA,aAAMnB,SAAS,CAACa,OAAO,CAACG,MAAD,CAAR,EAAkBC,MAAlB,CAAf;AAAA,KAAnB;AACD;;AAEDL,EAAAA,QAAQ,CAACQ,SAAT,GAAqBC,sBAAE,qDACpBT,QAAQ,CAACQ,SADW,EACC,IADD,wDAEXF,UAFW,4CAGrB,kBAHqB,EAGDH,mBAAmB,IAAIG,UAHtB,QAAvB;AAMA,SAAON,QAAP;AACD,CApBD;;AAsBA,IAAMU,WAAW,GAAG,SAAdA,WAAc,CAACC,IAAD,EAAOlC,IAAP,EAAgB;AAClC,2BAGIA,IAAI,CAACyB,WAAL,EAHJ;AAAA,iDACExB,KADF;AAAA,MACWkC,aADX,yBACWA,aADX;AAAA,MAC0BnB,QAD1B,yBAC0BA,QAD1B;AAAA,MACoCW,MADpC,yBACoCA,MADpC;AAAA,MAEWf,SAFX,sBAEEC,KAFF,CAEWD,SAFX;;AAKA,MAAMwB,kBAAkB,GAAG,SAArBA,kBAAqB,CAACC,GAAD;AAAA,WACzBC,sBAAU,CAACH,aAAD,CAAV,GACIA,aAAa,CAACE,GAAD,CADjB,GAEI,CAAC,CAACzB,SAAS,CAAC2B,YAAV,CAAuBF,GAAG,CAACV,MAAD,CAA1B,CAHmB;AAAA,GAA3B;;AAKA,SAAOX,QAAQ,GACXwB,2CAAiB,CAACN,IAAD,EAAOE,kBAAP,CADN,GAEXK,yCAAe,CAACP,IAAD,EAAOE,kBAAP,CAFnB;AAGD,CAdD;;AAgBA,IAAMM,YAAY,GAAG,SAAfA,YAAe,CAAC1C,IAAD,EAAU;AAC7B;AACA,2BAIIA,IAAI,CAACyB,WAAL,EAJJ;AAAA,iDACExB,KADF;AAAA,MACWkC,aADX,yBACWA,aADX;AAAA,MAC0BR,MAD1B,yBAC0BA,MAD1B;AAAA,MAEahB,SAFb,sBAEEJ,OAFF,CAEaI,SAFb;AAAA,MAGWC,SAHX,sBAGEC,KAHF,CAGWD,SAHX;;AAKA,kBAAwC+B,cAAQ,CAAC,KAAD,CAAhD;AAAA;AAAA,MAAOC,YAAP;AAAA,MAAqBC,eAArB;;AACA,mBAA8CF,cAAQ,CAAC,IAAD,CAAtD;AAAA;AAAA,MAAOG,eAAP;AAAA,MAAwBC,kBAAxB;;AAEA,MAAMC,gBAAgB,GAAGC,iBAAW,CAClC,UAACzB,OAAD,EAAU0B,KAAV;AAAA,WAAoB;AAAA,aAAMvC,SAAS,CAACa,OAAO,CAACG,MAAD,CAAR,EAAkBuB,KAAlB,EAAyBN,YAAzB,CAAf;AAAA,KAApB;AAAA,GADkC,EAElC,CAACT,aAAD,EAAgBvB,SAAhB,EAA2BgC,YAA3B,CAFkC,CAApC;AAKAO,EAAAA,eAAS,CAAC,YAAM;AACd,QAAMC,eAAe,GAAG,SAAlBA,eAAkB,CAACC,KAAD,EAAW;AACjC,UACEA,KAAK,CAACC,GAAN,KAAc,OAAd,IACAD,KAAK,CAACE,MAAN,CAAaC,OAAb,CAAqBC,WAArB,OAAuC,OADvC,IAEAJ,KAAK,CAACE,MAAN,CAAaG,UAAb,CAAwB3B,SAAxB,KAAsC,uBAHxC,EAIE;AACAc,QAAAA,eAAe,CAAC,IAAD,CAAf;AACD;AACF,KARD;;AASA,QAAMc,aAAa,GAAG,SAAhBA,aAAgB,CAACN,KAAD,EAAW;AAC/B,UACEA,KAAK,CAACC,GAAN,KAAc,OAAd,IACAD,KAAK,CAACE,MAAN,CAAaC,OAAb,CAAqBC,WAArB,OAAuC,OADvC,IAEAJ,KAAK,CAACE,MAAN,CAAaG,UAAb,CAAwB3B,SAAxB,KAAsC,uBAHxC,EAIE;AACAc,QAAAA,eAAe,CAAC,KAAD,CAAf;AACD;AACF,KARD;;AASAe,IAAAA,MAAM,CAACC,gBAAP,CAAwB,SAAxB,EAAmCT,eAAnC;AACAQ,IAAAA,MAAM,CAACC,gBAAP,CAAwB,OAAxB,EAAiCF,aAAjC;AACA,WAAO,YAAM;AACXC,MAAAA,MAAM,CAACE,mBAAP,CAA2B,SAA3B,EAAsCV,eAAtC;AACAQ,MAAAA,MAAM,CAACE,mBAAP,CAA2B,OAA3B,EAAoCH,aAApC;AACD,KAHD;AAID,GAzBQ,CAAT;AA2BA,SAAO;AACLf,IAAAA,YAAY,EAAZA,YADK;AAELI,IAAAA,gBAAgB,EAAhBA,gBAFK;AAGLD,IAAAA,kBAAkB,EAAlBA,kBAHK;AAILD,IAAAA,eAAe,EAAfA;AAJK,GAAP;AAMD,CAhDD;;IAkDaiB,gBAAgB,GAAGC,wCAAoB,CAAC,YAAD,EAAe;AACjEtB,EAAAA,YAAY,EAAZA,YADiE;AAEjEuB,EAAAA,iBAAiB,EAAEC,wDAF8C;AAGjEpE,EAAAA,eAAe,EAAfA,eAHiE;AAIjEwB,EAAAA,WAAW,EAAXA,WAJiE;AAKjEW,EAAAA,WAAW,EAAXA,WALiE;AAMjEkC,EAAAA,eANiE,2BAMjDnE,IANiD,EAM3C;AACpB,WAAO,CACL;AACEsD,MAAAA,GAAG,EAAE,OADP;AAEEc,MAAAA,OAAO,EAAE,wBAAkB;AAAA,YAAfC,QAAe,SAAfA,QAAe;;AACzB,iCAIIrE,IAAI,CAACyB,WAAL,EAJJ;AAAA,YACE6C,YADF,sBACEA,YADF;AAAA,YAEW3C,MAFX,sBAEE1B,KAFF,CAEW0B,MAFX;AAAA,YAGahB,SAHb,sBAGEJ,OAHF,CAGaI,SAHb;;AAKA,YAAMuB,IAAI,GAAGoC,YAAY,CAACpC,IAAb,IAAqBoC,YAAlC;AACA,YAAMjC,GAAG,GAAGH,IAAI,CAACmC,QAAD,CAAhB;AACA,YAAI,CAAChC,GAAL,EAAU;AACV1B,QAAAA,SAAS,CAAC0B,GAAG,CAACV,MAAD,CAAJ,EAAc0C,QAAd,CAAT;AACD;AAZH,KADK,EAeL;AACEf,MAAAA,GAAG,EAAE,QADP;AAEEc,MAAAA,OAAO,EAAE,mBAAM;AACb,iCAGIpE,IAAI,CAACyB,WAAL,EAHJ;AAAA,YACWb,SADX,sBACEC,KADF,CACWD,SADX;AAAA,YAEaH,SAFb,sBAEEF,OAFF,CAEaE,SAFb;;AAKAA,QAAAA,SAAS,CAAC,CAACG,SAAS,CAACH,SAAZ,CAAT;AACD;AATH,KAfK,CAAP;AA2BD;AAlCgE,CAAf;;;;"}
@@ -7,9 +7,8 @@ var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProp
7
7
  var initColumnDefinition = require('@elliemae/ds-shared/useDataGrid/initColumnDefinition');
8
8
  var plugins_selectable_selectableFormatter = require('./selectableFormatter.js');
9
9
  require('react');
10
- require('@elliemae/ds-utilities/utils');
11
- require('@elliemae/ds-basic/form/Checkbox');
12
- require('@elliemae/ds-basic/form/Radio');
10
+ require('@elliemae/ds-utilities');
11
+ require('@elliemae/ds-form');
13
12
 
14
13
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
15
14
 
@@ -1 +1 @@
1
- {"version":3,"file":"addSelectableColumn.js","sources":["../../../../src/plugins/selectable/addSelectableColumn.tsx"],"sourcesContent":["import {\n appendCellFormatter,\n appendHeaderFormatter,\n} from '@elliemae/ds-shared/useDataGrid/initColumnDefinition';\nimport selectableFormatter from './selectableFormatter';\n\nexport function selectionColumnCreator({\n grid,\n selectAll,\n selectionComponent,\n onSelectRow,\n onSelectAll,\n multiple,\n\n // backward compatibility: later this needed to be passed through column definition\n multiSelectFilterLabel,\n multiSelectFilterOptions,\n multiSelectFilterLabels,\n multiSelectComponent, // favor selectionComponent\n}) {\n const {\n props: { rowKey },\n } = grid;\n\n return ({\n visible = true,\n isDataColumn = false,\n width = 40,\n minWidth,\n cellRenderer,\n headerCellRenderer,\n customRenderer,\n header,\n ...column\n } = {}) => {\n let selectionColumn = {\n ...column,\n property: 'metaData.selected',\n filterLabel: multiSelectFilterLabel,\n filterOptions: multiSelectFilterOptions,\n filterLabels: multiSelectFilterLabels,\n visible,\n width,\n minWidth: minWidth || width,\n isDataColumn,\n };\n selectionColumn = appendCellFormatter(\n selectableFormatter(\n {\n isMultiSelect: multiple,\n renderer: selectionComponent || multiSelectComponent,\n onSelect: onSelectRow,\n },\n grid,\n ),\n )(selectionColumn);\n\n if (multiple) {\n selectionColumn = appendHeaderFormatter(\n selectableFormatter(\n {\n rowKey,\n selectAll,\n isMultiSelect: true,\n isHeader: true,\n className: 'multi-select-wrapper',\n renderer: selectionComponent || multiSelectComponent,\n onSelect: onSelectAll,\n },\n grid,\n ),\n )(selectionColumn);\n }\n return selectionColumn;\n };\n}\n"],"names":["selectionColumnCreator","grid","selectAll","selectionComponent","onSelectRow","onSelectAll","multiple","multiSelectFilterLabel","multiSelectFilterOptions","multiSelectFilterLabels","multiSelectComponent","rowKey","props","visible","isDataColumn","width","minWidth","cellRenderer","headerCellRenderer","customRenderer","header","column","selectionColumn","property","filterLabel","filterOptions","filterLabels","appendCellFormatter","selectableFormatter","isMultiSelect","renderer","onSelect","appendHeaderFormatter","isHeader","className"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAMO,SAASA,sBAAT,OAaJ;AAAA,MAZDC,IAYC,QAZDA,IAYC;AAAA,MAXDC,SAWC,QAXDA,SAWC;AAAA,MAVDC,kBAUC,QAVDA,kBAUC;AAAA,MATDC,WASC,QATDA,WASC;AAAA,MARDC,WAQC,QARDA,WAQC;AAAA,MAPDC,QAOC,QAPDA,QAOC;AAAA,MAJDC,sBAIC,QAJDA,sBAIC;AAAA,MAHDC,wBAGC,QAHDA,wBAGC;AAAA,MAFDC,uBAEC,QAFDA,uBAEC;AAAA,MADDC,oBACC,QADDA,oBACC;AACD,MACWC,MADX,GAEIV,IAFJ,CACEW,KADF,CACWD,MADX;AAIA,SAAO,YAUI;AAAA,oFAAP,EAAO;;AAAA,8BATTE,OASS;AAAA,QATTA,OASS,8BATC,IASD;AAAA,mCARTC,YAQS;AAAA,QARTA,YAQS,mCARM,KAQN;AAAA,4BAPTC,KAOS;AAAA,QAPTA,KAOS,4BAPD,EAOC;AAAA,QANTC,QAMS,SANTA,QAMS;AAAA,cALTC,YAKS;AAAA,cAJTC,kBAIS;AAAA,cAHTC,cAGS;AAAA,cAFTC,MAES;AAAA,YADNC,MACM;;AACT,QAAIC,eAAe,mCACdD,MADc;AAEjBE,MAAAA,QAAQ,EAAE,mBAFO;AAGjBC,MAAAA,WAAW,EAAEjB,sBAHI;AAIjBkB,MAAAA,aAAa,EAAEjB,wBAJE;AAKjBkB,MAAAA,YAAY,EAAEjB,uBALG;AAMjBI,MAAAA,OAAO,EAAPA,OANiB;AAOjBE,MAAAA,KAAK,EAALA,KAPiB;AAQjBC,MAAAA,QAAQ,EAAEA,QAAQ,IAAID,KARL;AASjBD,MAAAA,YAAY,EAAZA;AATiB,MAAnB;;AAWAQ,IAAAA,eAAe,GAAGK,wCAAmB,CACnCC,sCAAmB,CACjB;AACEC,MAAAA,aAAa,EAAEvB,QADjB;AAEEwB,MAAAA,QAAQ,EAAE3B,kBAAkB,IAAIO,oBAFlC;AAGEqB,MAAAA,QAAQ,EAAE3B;AAHZ,KADiB,EAMjBH,IANiB,CADgB,CAAnB,CAShBqB,eATgB,CAAlB;;AAWA,QAAIhB,QAAJ,EAAc;AACZgB,MAAAA,eAAe,GAAGU,0CAAqB,CACrCJ,sCAAmB,CACjB;AACEjB,QAAAA,MAAM,EAANA,MADF;AAEET,QAAAA,SAAS,EAATA,SAFF;AAGE2B,QAAAA,aAAa,EAAE,IAHjB;AAIEI,QAAAA,QAAQ,EAAE,IAJZ;AAKEC,QAAAA,SAAS,EAAE,sBALb;AAMEJ,QAAAA,QAAQ,EAAE3B,kBAAkB,IAAIO,oBANlC;AAOEqB,QAAAA,QAAQ,EAAE1B;AAPZ,OADiB,EAUjBJ,IAViB,CADkB,CAArB,CAahBqB,eAbgB,CAAlB;AAcD;;AACD,WAAOA,eAAP;AACD,GAlDD;AAmDD;;;;"}
1
+ {"version":3,"file":"addSelectableColumn.js","sources":["../../../../src/plugins/selectable/addSelectableColumn.tsx"],"sourcesContent":["import {\n appendCellFormatter,\n appendHeaderFormatter,\n} from '@elliemae/ds-shared/useDataGrid/initColumnDefinition';\nimport selectableFormatter from './selectableFormatter';\n\nexport function selectionColumnCreator({\n grid,\n selectAll,\n selectionComponent,\n onSelectRow,\n onSelectAll,\n multiple,\n\n // backward compatibility: later this needed to be passed through column definition\n multiSelectFilterLabel,\n multiSelectFilterOptions,\n multiSelectFilterLabels,\n multiSelectComponent, // favor selectionComponent\n}) {\n const {\n props: { rowKey },\n } = grid;\n\n return ({\n visible = true,\n isDataColumn = false,\n width = 40,\n minWidth,\n cellRenderer,\n headerCellRenderer,\n customRenderer,\n header,\n ...column\n } = {}) => {\n let selectionColumn = {\n ...column,\n property: 'metaData.selected',\n filterLabel: multiSelectFilterLabel,\n filterOptions: multiSelectFilterOptions,\n filterLabels: multiSelectFilterLabels,\n visible,\n width,\n minWidth: minWidth || width,\n isDataColumn,\n };\n selectionColumn = appendCellFormatter(\n selectableFormatter(\n {\n isMultiSelect: multiple,\n renderer: selectionComponent || multiSelectComponent,\n onSelect: onSelectRow,\n },\n grid,\n ),\n )(selectionColumn);\n\n if (multiple) {\n selectionColumn = appendHeaderFormatter(\n selectableFormatter(\n {\n rowKey,\n selectAll,\n isMultiSelect: true,\n isHeader: true,\n className: 'multi-select-wrapper',\n renderer: selectionComponent || multiSelectComponent,\n onSelect: onSelectAll,\n },\n grid,\n ),\n )(selectionColumn);\n }\n return selectionColumn;\n };\n}\n"],"names":["selectionColumnCreator","grid","selectAll","selectionComponent","onSelectRow","onSelectAll","multiple","multiSelectFilterLabel","multiSelectFilterOptions","multiSelectFilterLabels","multiSelectComponent","rowKey","props","visible","isDataColumn","width","minWidth","cellRenderer","headerCellRenderer","customRenderer","header","column","selectionColumn","property","filterLabel","filterOptions","filterLabels","appendCellFormatter","selectableFormatter","isMultiSelect","renderer","onSelect","appendHeaderFormatter","isHeader","className"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAMO,SAASA,sBAAT,OAaJ;AAAA,MAZDC,IAYC,QAZDA,IAYC;AAAA,MAXDC,SAWC,QAXDA,SAWC;AAAA,MAVDC,kBAUC,QAVDA,kBAUC;AAAA,MATDC,WASC,QATDA,WASC;AAAA,MARDC,WAQC,QARDA,WAQC;AAAA,MAPDC,QAOC,QAPDA,QAOC;AAAA,MAJDC,sBAIC,QAJDA,sBAIC;AAAA,MAHDC,wBAGC,QAHDA,wBAGC;AAAA,MAFDC,uBAEC,QAFDA,uBAEC;AAAA,MADDC,oBACC,QADDA,oBACC;AACD,MACWC,MADX,GAEIV,IAFJ,CACEW,KADF,CACWD,MADX;AAIA,SAAO,YAUI;AAAA,oFAAP,EAAO;;AAAA,8BATTE,OASS;AAAA,QATTA,OASS,8BATC,IASD;AAAA,mCARTC,YAQS;AAAA,QARTA,YAQS,mCARM,KAQN;AAAA,4BAPTC,KAOS;AAAA,QAPTA,KAOS,4BAPD,EAOC;AAAA,QANTC,QAMS,SANTA,QAMS;AAAA,cALTC,YAKS;AAAA,cAJTC,kBAIS;AAAA,cAHTC,cAGS;AAAA,cAFTC,MAES;AAAA,YADNC,MACM;;AACT,QAAIC,eAAe,mCACdD,MADc;AAEjBE,MAAAA,QAAQ,EAAE,mBAFO;AAGjBC,MAAAA,WAAW,EAAEjB,sBAHI;AAIjBkB,MAAAA,aAAa,EAAEjB,wBAJE;AAKjBkB,MAAAA,YAAY,EAAEjB,uBALG;AAMjBI,MAAAA,OAAO,EAAPA,OANiB;AAOjBE,MAAAA,KAAK,EAALA,KAPiB;AAQjBC,MAAAA,QAAQ,EAAEA,QAAQ,IAAID,KARL;AASjBD,MAAAA,YAAY,EAAZA;AATiB,MAAnB;;AAWAQ,IAAAA,eAAe,GAAGK,wCAAmB,CACnCC,sCAAmB,CACjB;AACEC,MAAAA,aAAa,EAAEvB,QADjB;AAEEwB,MAAAA,QAAQ,EAAE3B,kBAAkB,IAAIO,oBAFlC;AAGEqB,MAAAA,QAAQ,EAAE3B;AAHZ,KADiB,EAMjBH,IANiB,CADgB,CAAnB,CAShBqB,eATgB,CAAlB;;AAWA,QAAIhB,QAAJ,EAAc;AACZgB,MAAAA,eAAe,GAAGU,0CAAqB,CACrCJ,sCAAmB,CACjB;AACEjB,QAAAA,MAAM,EAANA,MADF;AAEET,QAAAA,SAAS,EAATA,SAFF;AAGE2B,QAAAA,aAAa,EAAE,IAHjB;AAIEI,QAAAA,QAAQ,EAAE,IAJZ;AAKEC,QAAAA,SAAS,EAAE,sBALb;AAMEJ,QAAAA,QAAQ,EAAE3B,kBAAkB,IAAIO,oBANlC;AAOEqB,QAAAA,QAAQ,EAAE1B;AAPZ,OADiB,EAUjBJ,IAViB,CADkB,CAArB,CAahBqB,eAbgB,CAAlB;AAcD;;AACD,WAAOA,eAAP;AACD,GAlDD;AAmDD;;;;"}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
6
- var utils = require('@elliemae/ds-utilities/utils');
6
+ var dsUtilities = require('@elliemae/ds-utilities');
7
7
 
8
8
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
9
9
 
@@ -19,11 +19,11 @@ var checkAllRowsSelected = function checkAllRowsSelected(rows, selectedRows) {
19
19
  };
20
20
  var toggleSelectAll = function toggleSelectAll(rows, checked) {
21
21
  return !checked ? {} : rows.reduce(function (nextSelRows, row) {
22
- return utils.toggleInObject(nextSelRows, row.id, true);
22
+ return dsUtilities.toggleInObject(nextSelRows, row.id, true);
23
23
  }, {});
24
24
  };
25
25
  var toggleSingleSelectable = function toggleSingleSelectable(selectedRows, id) {
26
- return !selectedRows[id] ? utils.toggleInObject({}, id, true) : {};
26
+ return !selectedRows[id] ? dsUtilities.toggleInObject({}, id, true) : {};
27
27
  };
28
28
 
29
29
  var mergeSelectedToMetaData = function mergeSelectedToMetaData(selected) {
@@ -1 +1 @@
1
- {"version":3,"file":"helper.js","sources":["../../../../src/plugins/selectable/helper.tsx"],"sourcesContent":["import { toggleInObject } from '@elliemae/ds-utilities/utils';\n\nexport const checkAllRowsSelected = (rows, selectedRows) => {\n if (rows.length && selectedRows.length === rows.length) return true;\n if (selectedRows.length) return 'mixed';\n return false;\n};\n\nexport const toggleSelectAll = (rows, checked) =>\n !checked\n ? {}\n : rows.reduce(\n (nextSelRows, row) => toggleInObject(nextSelRows, row.id, true),\n {},\n );\n\nexport const toggleSingleSelectable = (selectedRows, id) =>\n !selectedRows[id] ? toggleInObject({}, id, true) : {};\n\nconst mergeSelectedToMetaData = selected => row => ({\n ...row,\n 'metaData.selected': selected,\n});\n\nexport const selectSingleRow = (rows, filter) =>\n rows.map(row => mergeSelectedToMetaData(filter(row))(row));\n\nexport const selectMultipleRow = (rows, isRowSelectedPredicate) =>\n rows.map(row => mergeSelectedToMetaData(isRowSelectedPredicate(row))(row));\n"],"names":["checkAllRowsSelected","rows","selectedRows","length","toggleSelectAll","checked","reduce","nextSelRows","row","toggleInObject","id","toggleSingleSelectable","mergeSelectedToMetaData","selected","selectSingleRow","filter","map","selectMultipleRow","isRowSelectedPredicate"],"mappings":";;;;;;;;;;;;;;IAEaA,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACC,IAAD,EAAOC,YAAP,EAAwB;AAC1D,MAAID,IAAI,CAACE,MAAL,IAAeD,YAAY,CAACC,MAAb,KAAwBF,IAAI,CAACE,MAAhD,EAAwD,OAAO,IAAP;AACxD,MAAID,YAAY,CAACC,MAAjB,EAAyB,OAAO,OAAP;AACzB,SAAO,KAAP;AACD;IAEYC,eAAe,GAAG,SAAlBA,eAAkB,CAACH,IAAD,EAAOI,OAAP;AAAA,SAC7B,CAACA,OAAD,GACI,EADJ,GAEIJ,IAAI,CAACK,MAAL,CACA,UAACC,WAAD,EAAcC,GAAd;AAAA,WAAsBC,oBAAc,CAACF,WAAD,EAAcC,GAAG,CAACE,EAAlB,EAAsB,IAAtB,CAApC;AAAA,GADA,EAEE,EAFF,CAHyB;AAAA;IAQlBC,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACT,YAAD,EAAeQ,EAAf;AAAA,SACpC,CAACR,YAAY,CAACQ,EAAD,CAAb,GAAoBD,oBAAc,CAAC,EAAD,EAAKC,EAAL,EAAS,IAAT,CAAlC,GAAmD,EADf;AAAA;;AAGtC,IAAME,uBAAuB,GAAG,SAA1BA,uBAA0B,CAAAC,QAAQ;AAAA,SAAI,UAAAL,GAAG;AAAA,2CAC1CA,GAD0C;AAE7C,2BAAqBK;AAFwB;AAAA,GAAP;AAAA,CAAxC;;IAKaC,eAAe,GAAG,SAAlBA,eAAkB,CAACb,IAAD,EAAOc,MAAP;AAAA,SAC7Bd,IAAI,CAACe,GAAL,CAAS,UAAAR,GAAG;AAAA,WAAII,uBAAuB,CAACG,MAAM,CAACP,GAAD,CAAP,CAAvB,CAAqCA,GAArC,CAAJ;AAAA,GAAZ,CAD6B;AAAA;IAGlBS,iBAAiB,GAAG,SAApBA,iBAAoB,CAAChB,IAAD,EAAOiB,sBAAP;AAAA,SAC/BjB,IAAI,CAACe,GAAL,CAAS,UAAAR,GAAG;AAAA,WAAII,uBAAuB,CAACM,sBAAsB,CAACV,GAAD,CAAvB,CAAvB,CAAqDA,GAArD,CAAJ;AAAA,GAAZ,CAD+B;AAAA;;;;;;;;"}
1
+ {"version":3,"file":"helper.js","sources":["../../../../src/plugins/selectable/helper.tsx"],"sourcesContent":["import { toggleInObject } from '@elliemae/ds-utilities';\n\nexport const checkAllRowsSelected = (rows, selectedRows) => {\n if (rows.length && selectedRows.length === rows.length) return true;\n if (selectedRows.length) return 'mixed';\n return false;\n};\n\nexport const toggleSelectAll = (rows, checked) =>\n !checked\n ? {}\n : rows.reduce(\n (nextSelRows, row) => toggleInObject(nextSelRows, row.id, true),\n {},\n );\n\nexport const toggleSingleSelectable = (selectedRows, id) =>\n !selectedRows[id] ? toggleInObject({}, id, true) : {};\n\nconst mergeSelectedToMetaData = selected => row => ({\n ...row,\n 'metaData.selected': selected,\n});\n\nexport const selectSingleRow = (rows, filter) =>\n rows.map(row => mergeSelectedToMetaData(filter(row))(row));\n\nexport const selectMultipleRow = (rows, isRowSelectedPredicate) =>\n rows.map(row => mergeSelectedToMetaData(isRowSelectedPredicate(row))(row));\n"],"names":["checkAllRowsSelected","rows","selectedRows","length","toggleSelectAll","checked","reduce","nextSelRows","row","toggleInObject","id","toggleSingleSelectable","mergeSelectedToMetaData","selected","selectSingleRow","filter","map","selectMultipleRow","isRowSelectedPredicate"],"mappings":";;;;;;;;;;;;;;IAEaA,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACC,IAAD,EAAOC,YAAP,EAAwB;AAC1D,MAAID,IAAI,CAACE,MAAL,IAAeD,YAAY,CAACC,MAAb,KAAwBF,IAAI,CAACE,MAAhD,EAAwD,OAAO,IAAP;AACxD,MAAID,YAAY,CAACC,MAAjB,EAAyB,OAAO,OAAP;AACzB,SAAO,KAAP;AACD;IAEYC,eAAe,GAAG,SAAlBA,eAAkB,CAACH,IAAD,EAAOI,OAAP;AAAA,SAC7B,CAACA,OAAD,GACI,EADJ,GAEIJ,IAAI,CAACK,MAAL,CACA,UAACC,WAAD,EAAcC,GAAd;AAAA,WAAsBC,0BAAc,CAACF,WAAD,EAAcC,GAAG,CAACE,EAAlB,EAAsB,IAAtB,CAApC;AAAA,GADA,EAEE,EAFF,CAHyB;AAAA;IAQlBC,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACT,YAAD,EAAeQ,EAAf;AAAA,SACpC,CAACR,YAAY,CAACQ,EAAD,CAAb,GAAoBD,0BAAc,CAAC,EAAD,EAAKC,EAAL,EAAS,IAAT,CAAlC,GAAmD,EADf;AAAA;;AAGtC,IAAME,uBAAuB,GAAG,SAA1BA,uBAA0B,CAAAC,QAAQ;AAAA,SAAI,UAAAL,GAAG;AAAA,2CAC1CA,GAD0C;AAE7C,2BAAqBK;AAFwB;AAAA,GAAP;AAAA,CAAxC;;IAKaC,eAAe,GAAG,SAAlBA,eAAkB,CAACb,IAAD,EAAOc,MAAP;AAAA,SAC7Bd,IAAI,CAACe,GAAL,CAAS,UAAAR,GAAG;AAAA,WAAII,uBAAuB,CAACG,MAAM,CAACP,GAAD,CAAP,CAAvB,CAAqCA,GAArC,CAAJ;AAAA,GAAZ,CAD6B;AAAA;IAGlBS,iBAAiB,GAAG,SAApBA,iBAAoB,CAAChB,IAAD,EAAOiB,sBAAP;AAAA,SAC/BjB,IAAI,CAACe,GAAL,CAAS,UAAAR,GAAG;AAAA,WAAII,uBAAuB,CAACM,sBAAsB,CAACV,GAAD,CAAvB,CAAvB,CAAqDA,GAArD,CAAJ;AAAA,GAAZ,CAD+B;AAAA;;;;;;;;"}
@@ -8,16 +8,14 @@ require('@babel/runtime/helpers/defineProperty');
8
8
  require('@babel/runtime/helpers/toConsumableArray');
9
9
  require('react');
10
10
  require('obj-str');
11
- require('@elliemae/ds-utilities/utils');
11
+ require('@elliemae/ds-utilities');
12
12
  require('@elliemae/ds-shared/createDataInstance/createInstancePlugin');
13
13
  require('./addSelectableColumn.js');
14
14
  require('@babel/runtime/helpers/objectWithoutProperties');
15
15
  require('@elliemae/ds-shared/useDataGrid/initColumnDefinition');
16
16
  require('./selectableFormatter.js');
17
- require('@elliemae/ds-basic/form/Checkbox');
18
- require('@elliemae/ds-basic/form/Radio');
17
+ require('@elliemae/ds-form');
19
18
  require('./useSelectableState.js');
20
- require('@elliemae/ds-utilities/hooks/useDerivedStateFromProps');
21
19
  require('./helper.js');
22
20
 
23
21
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;"}
@@ -2,16 +2,13 @@
2
2
 
3
3
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
4
  var React = require('react');
5
- var utils = require('@elliemae/ds-utilities/utils');
6
- var DSCheckbox = require('@elliemae/ds-basic/form/Checkbox');
7
- var DSRadio = require('@elliemae/ds-basic/form/Radio');
5
+ var dsUtilities = require('@elliemae/ds-utilities');
6
+ var dsForm = require('@elliemae/ds-form');
8
7
 
9
8
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
10
9
 
11
10
  var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
12
11
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
13
- var DSCheckbox__default = /*#__PURE__*/_interopDefaultLegacy(DSCheckbox);
14
- var DSRadio__default = /*#__PURE__*/_interopDefaultLegacy(DSRadio);
15
12
 
16
13
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
17
14
 
@@ -35,7 +32,7 @@ var SelectableComponent = /*#__PURE__*/React__default['default'].memo( /*#__PURE
35
32
  onSelect = _ref2.onSelect,
36
33
  isSelected = _ref2.isSelected,
37
34
  value = _ref2.value;
38
- var SelectComponent = isMultiSelect || isHeader ? DSCheckbox__default['default'] : DSRadio__default['default'];
35
+ var SelectComponent = isMultiSelect || isHeader ? dsForm.DSCheckbox : dsForm.DSRadio;
39
36
  return /*#__PURE__*/React__default['default'].createElement(SelectableWrapper, {
40
37
  className: className
41
38
  }, /*#__PURE__*/React__default['default'].createElement(SelectComponent, {
@@ -79,7 +76,7 @@ var selectableFormatter = function selectableFormatter(_ref3, grid) {
79
76
  return onSelect(rowData[rowKey], extraParams.rowIndex, shiftPressed, lastSelectedRow);
80
77
  };
81
78
 
82
- if (utils.isFunction(renderer)) {
79
+ if (dsUtilities.isFunction(renderer)) {
83
80
  return /*#__PURE__*/React__default['default'].createElement(SelectableWrapper, {
84
81
  className: className
85
82
  }, renderer(_objectSpread(_objectSpread({
@@ -1 +1 @@
1
- {"version":3,"file":"selectableFormatter.js","sources":["../../../../src/plugins/selectable/selectableFormatter.tsx"],"sourcesContent":["/* eslint-disable react/prop-types */\n/* eslint-disable indent */\n/* eslint-disable jsx-a11y/no-static-element-interactions,jsx-a11y/click-events-have-key-events,react/display-name */\nimport React, { forwardRef, useEffect, useRef } from 'react';\nimport { isFunction } from '@elliemae/ds-utilities/utils';\nimport DSCheckbox from '@elliemae/ds-basic/form/Checkbox';\nimport DSRadio from '@elliemae/ds-basic/form/Radio';\n\nconst SelectableWrapper = ({ className, children }) => (\n <div className={className} onClick={(e) => e.stopPropagation()}>\n {children}\n </div>\n);\n\nconst SelectableComponent = React.memo(\n forwardRef(\n (\n { className, isMultiSelect, isHeader, onSelect, isSelected, value },\n ref,\n ) => {\n const SelectComponent = isMultiSelect || isHeader ? DSCheckbox : DSRadio;\n\n return (\n <SelectableWrapper className={className}>\n <SelectComponent\n checked={isSelected}\n data-testid=\"column-selectable-component\"\n innerRef={ref}\n onChange={onSelect}\n tabIndex={-1}\n value={value}\n />\n </SelectableWrapper>\n );\n },\n (prev, next) => next.isScrolling,\n ),\n);\n\nconst selectableFormatter = (\n { isMultiSelect = false, renderer, className, isHeader, onSelect },\n grid,\n) => (valueRender, extraParams) => {\n const { registerFocus } = extraParams;\n const ref = useRef();\n const {\n props: { rowKey },\n state: { selection },\n shiftPressed,\n lastSelectedRow,\n } = grid.getInstance();\n const { rowData, isScrolling } = extraParams;\n\n useEffect(() => {\n if (registerFocus) registerFocus(ref.current);\n }, [ref.current]);\n\n const isSelected = isHeader\n ? selection.selectAll\n : !!selection.selectedRows[rowData[rowKey]];\n\n const handleSelect = isHeader\n ? () => onSelect(!isSelected)\n : () =>\n onSelect(\n rowData[rowKey],\n extraParams.rowIndex,\n shiftPressed,\n lastSelectedRow,\n );\n\n if (isFunction(renderer)) {\n return (\n <SelectableWrapper className={className}>\n {renderer({\n rowData: {},\n ...extraParams,\n value: isSelected,\n isHeader,\n onSelect: handleSelect,\n })}\n </SelectableWrapper>\n );\n }\n\n return (\n <SelectableComponent\n ref={ref}\n className={className}\n isMultiSelect={isMultiSelect}\n isScrolling={isScrolling}\n isSelected={isSelected}\n onSelect={handleSelect}\n value={!isHeader ? rowData[rowKey] : 'header-select-all'}\n />\n );\n};\n\nexport default selectableFormatter;\n"],"names":["SelectableWrapper","className","children","React","e","stopPropagation","SelectableComponent","memo","forwardRef","ref","isMultiSelect","isHeader","onSelect","isSelected","value","SelectComponent","DSCheckbox","DSRadio","prev","next","isScrolling","selectableFormatter","grid","renderer","valueRender","extraParams","registerFocus","useRef","getInstance","rowKey","props","selection","state","shiftPressed","lastSelectedRow","rowData","useEffect","current","selectAll","selectedRows","handleSelect","rowIndex","isFunction"],"mappings":"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"}
1
+ {"version":3,"file":"selectableFormatter.js","sources":["../../../../src/plugins/selectable/selectableFormatter.tsx"],"sourcesContent":["/* eslint-disable react/prop-types */\n/* eslint-disable indent */\n/* eslint-disable jsx-a11y/no-static-element-interactions,jsx-a11y/click-events-have-key-events,react/display-name */\nimport React, { forwardRef, useEffect, useRef } from 'react';\nimport { isFunction } from '@elliemae/ds-utilities';\nimport { DSCheckbox, DSRadio } from '@elliemae/ds-form';\n\nconst SelectableWrapper = ({ className, children }) => (\n <div className={className} onClick={(e) => e.stopPropagation()}>\n {children}\n </div>\n);\n\nconst SelectableComponent = React.memo(\n forwardRef(\n ({ className, isMultiSelect, isHeader, onSelect, isSelected, value }, ref) => {\n const SelectComponent = isMultiSelect || isHeader ? DSCheckbox : DSRadio;\n\n return (\n <SelectableWrapper className={className}>\n <SelectComponent\n checked={isSelected}\n data-testid=\"column-selectable-component\"\n innerRef={ref}\n onChange={onSelect}\n tabIndex={-1}\n value={value}\n />\n </SelectableWrapper>\n );\n },\n (prev, next) => next.isScrolling,\n ),\n);\n\nconst selectableFormatter =\n ({ isMultiSelect = false, renderer, className, isHeader, onSelect }, grid) =>\n (valueRender, extraParams) => {\n const { registerFocus } = extraParams;\n const ref = useRef();\n const {\n props: { rowKey },\n state: { selection },\n shiftPressed,\n lastSelectedRow,\n } = grid.getInstance();\n const { rowData, isScrolling } = extraParams;\n\n useEffect(() => {\n if (registerFocus) registerFocus(ref.current);\n }, [ref.current]);\n\n const isSelected = isHeader ? selection.selectAll : !!selection.selectedRows[rowData[rowKey]];\n\n const handleSelect = isHeader\n ? () => onSelect(!isSelected)\n : () => onSelect(rowData[rowKey], extraParams.rowIndex, shiftPressed, lastSelectedRow);\n\n if (isFunction(renderer)) {\n return (\n <SelectableWrapper className={className}>\n {renderer({\n rowData: {},\n ...extraParams,\n value: isSelected,\n isHeader,\n onSelect: handleSelect,\n })}\n </SelectableWrapper>\n );\n }\n\n return (\n <SelectableComponent\n ref={ref}\n className={className}\n isMultiSelect={isMultiSelect}\n isScrolling={isScrolling}\n isSelected={isSelected}\n onSelect={handleSelect}\n value={!isHeader ? rowData[rowKey] : 'header-select-all'}\n />\n );\n };\n\nexport default selectableFormatter;\n"],"names":["SelectableWrapper","className","children","React","e","stopPropagation","SelectableComponent","memo","forwardRef","ref","isMultiSelect","isHeader","onSelect","isSelected","value","SelectComponent","DSCheckbox","DSRadio","prev","next","isScrolling","selectableFormatter","grid","renderer","valueRender","extraParams","registerFocus","useRef","getInstance","rowKey","props","selection","state","shiftPressed","lastSelectedRow","rowData","useEffect","current","selectAll","selectedRows","handleSelect","rowIndex","isFunction"],"mappings":"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"}
@@ -4,15 +4,13 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
6
6
  var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
7
- var useDerivedStateFromProps = require('@elliemae/ds-utilities/hooks/useDerivedStateFromProps');
8
- var utils = require('@elliemae/ds-utilities/utils');
7
+ var dsUtilities = require('@elliemae/ds-utilities');
9
8
  var plugins_selectable_helper = require('./helper.js');
10
9
 
11
10
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
12
11
 
13
12
  var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
14
13
  var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
15
- var useDerivedStateFromProps__default = /*#__PURE__*/_interopDefaultLegacy(useDerivedStateFromProps);
16
14
 
17
15
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
18
16
 
@@ -24,7 +22,7 @@ function deriveSelectedStateFromPropsOnUpdate(rows) {
24
22
  var prevProp = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
25
23
 
26
24
  if (nextProp.selectAll !== prevProp.selectAll) {
27
- var nextSelectedRows = nextProp.selectAll ? plugins_selectable_helper.toggleSelectAll(rows, true) : utils.hashArray(nextProp.selectedRows || []);
25
+ var nextSelectedRows = nextProp.selectAll ? plugins_selectable_helper.toggleSelectAll(rows, true) : dsUtilities.hashArray(nextProp.selectedRows || []);
28
26
  return {
29
27
  selectedRows: nextSelectedRows,
30
28
  selectAll: plugins_selectable_helper.checkAllRowsSelected(rows, Object.keys(nextSelectedRows))
@@ -32,7 +30,7 @@ function deriveSelectedStateFromPropsOnUpdate(rows) {
32
30
  }
33
31
 
34
32
  return {
35
- selectedRows: utils.hashArray(nextProp.selectedRows || []),
33
+ selectedRows: dsUtilities.hashArray(nextProp.selectedRows || []),
36
34
  selectAll: plugins_selectable_helper.checkAllRowsSelected(rows, Object.keys(nextProp.selectedRows))
37
35
  };
38
36
  };
@@ -53,7 +51,7 @@ function useSelectableState(grid) {
53
51
 
54
52
  var multiple = selectable === 'multi';
55
53
 
56
- var _useDerivedStateFromP = useDerivedStateFromProps__default['default']({
54
+ var _useDerivedStateFromP = dsUtilities.useDerivedStateFromProps({
57
55
  selectedRows: selectedRows,
58
56
  selectAll: selectAll
59
57
  }, {
@@ -76,7 +74,7 @@ function useSelectableState(grid) {
76
74
  function (elem) {
77
75
  return elem == id;
78
76
  });
79
- var nextSelectedRows = multiple ? utils.toggleInObject(prevState.selectedRows, id, true) : plugins_selectable_helper.toggleSingleSelectable(prevState.selectedRows, id);
77
+ var nextSelectedRows = multiple ? dsUtilities.toggleInObject(prevState.selectedRows, id, true) : plugins_selectable_helper.toggleSingleSelectable(prevState.selectedRows, id);
80
78
  setLastSelectedRow({
81
79
  index: index,
82
80
  mode: wasSelected ? 'deselect' : 'select'
@@ -91,7 +89,7 @@ function useSelectableState(grid) {
91
89
  });
92
90
 
93
91
  if (lastSelectedRow.mode === 'deselect') {
94
- nextSelectedRows = utils.omit(prevState.selectedRows, rowSegment);
92
+ nextSelectedRows = dsUtilities.omit(prevState.selectedRows, rowSegment);
95
93
  } else {
96
94
  var selectedSegment = rowSegment.reduce(function (o, key) {
97
95
  return _objectSpread(_objectSpread({}, o), {}, _defineProperty__default['default']({}, key, true));
@@ -1 +1 @@
1
- {"version":3,"file":"useSelectableState.js","sources":["../../../../src/plugins/selectable/useSelectableState.tsx"],"sourcesContent":["/* eslint-disable max-lines */\nimport useDerivedStateFromProps from '@elliemae/ds-utilities/hooks/useDerivedStateFromProps';\nimport { toggleInObject, hashArray, omit } from '@elliemae/ds-utilities/utils';\nimport {\n checkAllRowsSelected,\n toggleSelectAll,\n toggleSingleSelectable,\n} from './helper';\n\nfunction deriveSelectedStateFromPropsOnUpdate(rows) {\n return (nextProp = {}, prevProp = {}) => {\n if (nextProp.selectAll !== prevProp.selectAll) {\n const nextSelectedRows = nextProp.selectAll\n ? toggleSelectAll(rows, true)\n : hashArray(nextProp.selectedRows || []);\n return {\n selectedRows: nextSelectedRows,\n selectAll: checkAllRowsSelected(rows, Object.keys(nextSelectedRows)),\n };\n }\n return {\n selectedRows: hashArray(nextProp.selectedRows || []),\n selectAll: checkAllRowsSelected(rows, Object.keys(nextProp.selectedRows)),\n };\n };\n}\n\nexport function useSelectableState(grid) {\n const {\n props: {\n rowKey = 'id',\n selectedRows,\n selectAll,\n selectable,\n onSelectRow,\n onSelectAll,\n },\n rows,\n setLastSelectedRow,\n } = grid.getInstance();\n\n const multiple = selectable === 'multi';\n const [selection, setSelectedRowsState] = useDerivedStateFromProps(\n { selectedRows, selectAll },\n { onUpdate: deriveSelectedStateFromPropsOnUpdate(rows) },\n );\n\n // ACTIONS\n const handleSelectRow = (\n id,\n index,\n shift = false,\n lastSelectedRow = null,\n // eslint-disable-next-line max-params\n ) => {\n setSelectedRowsState((prevState) => {\n const { rows: nextRows } = grid.getInstance();\n const wasSelected = Object.keys(prevState.selectedRows).some(\n // we need to match softly as the id may be a number\n // eslint-disable-next-line eqeqeq\n (elem) => elem == id,\n );\n let nextSelectedRows = multiple\n ? toggleInObject(prevState.selectedRows, id, true)\n : toggleSingleSelectable(prevState.selectedRows, id);\n setLastSelectedRow({ index, mode: wasSelected ? 'deselect' : 'select' });\n if (shift && lastSelectedRow) {\n const prevSmallest = lastSelectedRow.index < index + 1;\n const sliceStart = prevSmallest ? lastSelectedRow.index : index;\n const sliceEnd = prevSmallest ? index + 1 : lastSelectedRow.index + 1;\n const rowSegment = nextRows\n .slice(sliceStart, sliceEnd)\n .map((row) => row[rowKey]);\n if (lastSelectedRow.mode === 'deselect') {\n nextSelectedRows = omit(prevState.selectedRows, rowSegment);\n } else {\n const selectedSegment = rowSegment.reduce(\n (o, key) => ({ ...o, [key]: true }),\n {},\n );\n nextSelectedRows = {\n ...prevState.selectedRows,\n ...selectedSegment,\n };\n }\n }\n\n const nextState = {\n selectedRows: nextSelectedRows,\n selectAll: checkAllRowsSelected(\n nextRows,\n Object.keys(nextSelectedRows),\n ),\n };\n if (index !== null && index !== undefined) {\n onSelectRow(\n nextRows.filter((row) => nextState.selectedRows[row[rowKey]]),\n nextState.selectAll,\n index,\n );\n }\n\n return nextState;\n });\n };\n\n const handleSelectAll = (checked) => {\n if (!multiple) return;\n setLastSelectedRow(null);\n setSelectedRowsState(() => {\n const { composedRows: nextRows } = grid.getInstance();\n\n const nextState = {\n selectAll: checked,\n selectedRows: toggleSelectAll(nextRows, checked),\n };\n\n onSelectAll(nextState.selectAll);\n onSelectRow(checked ? nextRows : [], nextState.selectAll);\n\n return nextState;\n });\n };\n\n return {\n actions: {\n selectRow: handleSelectRow,\n selectAll: handleSelectAll,\n },\n state: {\n selection,\n },\n };\n}\n"],"names":["deriveSelectedStateFromPropsOnUpdate","rows","nextProp","prevProp","selectAll","nextSelectedRows","toggleSelectAll","hashArray","selectedRows","checkAllRowsSelected","Object","keys","useSelectableState","grid","getInstance","props","rowKey","selectable","onSelectRow","onSelectAll","setLastSelectedRow","multiple","useDerivedStateFromProps","onUpdate","selection","setSelectedRowsState","handleSelectRow","id","index","shift","lastSelectedRow","prevState","nextRows","wasSelected","some","elem","toggleInObject","toggleSingleSelectable","mode","prevSmallest","sliceStart","sliceEnd","rowSegment","slice","map","row","omit","selectedSegment","reduce","o","key","nextState","undefined","filter","handleSelectAll","checked","composedRows","actions","selectRow","state"],"mappings":"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"}
1
+ {"version":3,"file":"useSelectableState.js","sources":["../../../../src/plugins/selectable/useSelectableState.tsx"],"sourcesContent":["/* eslint-disable max-lines */\nimport { useDerivedStateFromProps } from '@elliemae/ds-utilities';\nimport { toggleInObject, hashArray, omit } from '@elliemae/ds-utilities';\nimport {\n checkAllRowsSelected,\n toggleSelectAll,\n toggleSingleSelectable,\n} from './helper';\n\nfunction deriveSelectedStateFromPropsOnUpdate(rows) {\n return (nextProp = {}, prevProp = {}) => {\n if (nextProp.selectAll !== prevProp.selectAll) {\n const nextSelectedRows = nextProp.selectAll\n ? toggleSelectAll(rows, true)\n : hashArray(nextProp.selectedRows || []);\n return {\n selectedRows: nextSelectedRows,\n selectAll: checkAllRowsSelected(rows, Object.keys(nextSelectedRows)),\n };\n }\n return {\n selectedRows: hashArray(nextProp.selectedRows || []),\n selectAll: checkAllRowsSelected(rows, Object.keys(nextProp.selectedRows)),\n };\n };\n}\n\nexport function useSelectableState(grid) {\n const {\n props: {\n rowKey = 'id',\n selectedRows,\n selectAll,\n selectable,\n onSelectRow,\n onSelectAll,\n },\n rows,\n setLastSelectedRow,\n } = grid.getInstance();\n\n const multiple = selectable === 'multi';\n const [selection, setSelectedRowsState] = useDerivedStateFromProps(\n { selectedRows, selectAll },\n { onUpdate: deriveSelectedStateFromPropsOnUpdate(rows) },\n );\n\n // ACTIONS\n const handleSelectRow = (\n id,\n index,\n shift = false,\n lastSelectedRow = null,\n // eslint-disable-next-line max-params\n ) => {\n setSelectedRowsState((prevState) => {\n const { rows: nextRows } = grid.getInstance();\n const wasSelected = Object.keys(prevState.selectedRows).some(\n // we need to match softly as the id may be a number\n // eslint-disable-next-line eqeqeq\n (elem) => elem == id,\n );\n let nextSelectedRows = multiple\n ? toggleInObject(prevState.selectedRows, id, true)\n : toggleSingleSelectable(prevState.selectedRows, id);\n setLastSelectedRow({ index, mode: wasSelected ? 'deselect' : 'select' });\n if (shift && lastSelectedRow) {\n const prevSmallest = lastSelectedRow.index < index + 1;\n const sliceStart = prevSmallest ? lastSelectedRow.index : index;\n const sliceEnd = prevSmallest ? index + 1 : lastSelectedRow.index + 1;\n const rowSegment = nextRows\n .slice(sliceStart, sliceEnd)\n .map((row) => row[rowKey]);\n if (lastSelectedRow.mode === 'deselect') {\n nextSelectedRows = omit(prevState.selectedRows, rowSegment);\n } else {\n const selectedSegment = rowSegment.reduce(\n (o, key) => ({ ...o, [key]: true }),\n {},\n );\n nextSelectedRows = {\n ...prevState.selectedRows,\n ...selectedSegment,\n };\n }\n }\n\n const nextState = {\n selectedRows: nextSelectedRows,\n selectAll: checkAllRowsSelected(\n nextRows,\n Object.keys(nextSelectedRows),\n ),\n };\n if (index !== null && index !== undefined) {\n onSelectRow(\n nextRows.filter((row) => nextState.selectedRows[row[rowKey]]),\n nextState.selectAll,\n index,\n );\n }\n\n return nextState;\n });\n };\n\n const handleSelectAll = (checked) => {\n if (!multiple) return;\n setLastSelectedRow(null);\n setSelectedRowsState(() => {\n const { composedRows: nextRows } = grid.getInstance();\n\n const nextState = {\n selectAll: checked,\n selectedRows: toggleSelectAll(nextRows, checked),\n };\n\n onSelectAll(nextState.selectAll);\n onSelectRow(checked ? nextRows : [], nextState.selectAll);\n\n return nextState;\n });\n };\n\n return {\n actions: {\n selectRow: handleSelectRow,\n selectAll: handleSelectAll,\n },\n state: {\n selection,\n },\n };\n}\n"],"names":["deriveSelectedStateFromPropsOnUpdate","rows","nextProp","prevProp","selectAll","nextSelectedRows","toggleSelectAll","hashArray","selectedRows","checkAllRowsSelected","Object","keys","useSelectableState","grid","getInstance","props","rowKey","selectable","onSelectRow","onSelectAll","setLastSelectedRow","multiple","useDerivedStateFromProps","onUpdate","selection","setSelectedRowsState","handleSelectRow","id","index","shift","lastSelectedRow","prevState","nextRows","wasSelected","some","elem","toggleInObject","toggleSingleSelectable","mode","prevSmallest","sliceStart","sliceEnd","rowSegment","slice","map","row","omit","selectedSegment","reduce","o","key","nextState","undefined","filter","handleSelectAll","checked","composedRows","actions","selectRow","state"],"mappings":"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"}