@elliemae/ds-datagrids 3.0.0-next.4 → 3.0.0-next.40

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 (271) hide show
  1. package/dist/cjs/DSDataGrid.js.map +1 -1
  2. package/dist/cjs/DataGridImpl.js +3 -4
  3. package/dist/cjs/DataGridImpl.js.map +2 -2
  4. package/dist/cjs/PaginatedDataGrid.js +2 -2
  5. package/dist/cjs/PaginatedDataGrid.js.map +2 -2
  6. package/dist/cjs/columns/IconColumn.js.map +1 -1
  7. package/dist/cjs/columns/NumberColumn.js.map +1 -1
  8. package/dist/cjs/components/BodyCell.js +4 -5
  9. package/dist/cjs/components/BodyCell.js.map +2 -2
  10. package/dist/cjs/components/BodyList.js.map +1 -1
  11. package/dist/cjs/components/ColumnVisibilityMenuOption.js.map +1 -1
  12. package/dist/cjs/components/ColumnsOptionsMenuSection.js.map +1 -1
  13. package/dist/cjs/components/EmptyState.js.map +1 -1
  14. package/dist/cjs/components/HeaderCell.js +3 -3
  15. package/dist/cjs/components/HeaderCell.js.map +2 -2
  16. package/dist/cjs/components/List.js.map +1 -1
  17. package/dist/cjs/components/ListItem.js.map +1 -1
  18. package/dist/cjs/components/NoResults.js.map +1 -1
  19. package/dist/cjs/components/RowsLoader.js.map +1 -1
  20. package/dist/cjs/components/Table.js.map +1 -1
  21. package/dist/cjs/components/TableBody.js.map +1 -1
  22. package/dist/cjs/components/TableHeader.js.map +1 -1
  23. package/dist/cjs/components/footer/addOptionalFooterComponents.js.map +1 -1
  24. package/dist/cjs/components/header/PrimaryControls.js.map +1 -1
  25. package/dist/cjs/components/header/addOptionalHeaderComponents.js.map +1 -1
  26. package/dist/cjs/components/renderers/defaultClassedRenderers.js.map +1 -1
  27. package/dist/cjs/components/renderers/index.js.map +1 -1
  28. package/dist/cjs/components/renderers/renderRowsLoader.js.map +1 -1
  29. package/dist/cjs/components/tableContext.js.map +1 -1
  30. package/dist/cjs/defaultPlugins.js.map +1 -1
  31. package/dist/cjs/plugins/body-header-scroll-sync/BodyHeaderScrollSyncPlugin.js +5 -6
  32. package/dist/cjs/plugins/body-header-scroll-sync/BodyHeaderScrollSyncPlugin.js.map +2 -2
  33. package/dist/cjs/plugins/column-dnd/DndColumnsPlugin.js +2 -2
  34. package/dist/cjs/plugins/column-dnd/DndColumnsPlugin.js.map +2 -2
  35. package/dist/cjs/plugins/column-dnd/decorateGridWithDndColumns.js +3 -3
  36. package/dist/cjs/plugins/column-dnd/decorateGridWithDndColumns.js.map +2 -2
  37. package/dist/cjs/plugins/column-sizing/ColumnSizingPlugin.js +2 -2
  38. package/dist/cjs/plugins/column-sizing/ColumnSizingPlugin.js.map +2 -2
  39. package/dist/cjs/plugins/column-sizing/columnMeasurerTransformer.js.map +1 -1
  40. package/dist/cjs/plugins/column-sizing/ext-points/decorateColumn.js.map +1 -1
  41. package/dist/cjs/plugins/column-sizing/ext-points/getTableProps.js.map +1 -1
  42. package/dist/cjs/plugins/column-sizing/getColumnNameFromProperty.js.map +1 -1
  43. package/dist/cjs/plugins/column-sizing/useColumnSizeService.js.map +1 -1
  44. package/dist/cjs/plugins/column-sizing/useStylesheetHelpers.js.map +1 -1
  45. package/dist/cjs/plugins/column-sizing/utils.js.map +1 -1
  46. package/dist/cjs/plugins/custom-cell-renderer/CustomRendererPlugin.js +2 -2
  47. package/dist/cjs/plugins/custom-cell-renderer/CustomRendererPlugin.js.map +2 -2
  48. package/dist/cjs/plugins/custom-cell-renderer/addCustomRendererToCell.js +2 -2
  49. package/dist/cjs/plugins/custom-cell-renderer/addCustomRendererToCell.js.map +2 -2
  50. package/dist/cjs/plugins/custom-cell-renderer/getRendererComponent.js.map +1 -1
  51. package/dist/cjs/plugins/editable/EditableComponents/ComboBox.js +10 -10
  52. package/dist/cjs/plugins/editable/EditableComponents/ComboBox.js.map +2 -2
  53. package/dist/cjs/plugins/editable/EditableComponents/TextBox.js +21 -21
  54. package/dist/cjs/plugins/editable/EditableComponents/TextBox.js.map +2 -2
  55. package/dist/cjs/plugins/editable/EditablePlugin.js +2 -2
  56. package/dist/cjs/plugins/editable/EditablePlugin.js.map +2 -2
  57. package/dist/cjs/plugins/editable/decorateEditable.js +2 -2
  58. package/dist/cjs/plugins/editable/decorateEditable.js.map +2 -2
  59. package/dist/cjs/plugins/editable/getEditorComponent.js.map +1 -1
  60. package/dist/cjs/plugins/expandable-grid/ExpandableColumn.js.map +1 -1
  61. package/dist/cjs/plugins/expandable-grid/ExpandablePlugin.js +3 -4
  62. package/dist/cjs/plugins/expandable-grid/ExpandablePlugin.js.map +2 -2
  63. package/dist/cjs/plugins/expandable-grid/ExpandedRow.js +3 -4
  64. package/dist/cjs/plugins/expandable-grid/ExpandedRow.js.map +2 -2
  65. package/dist/cjs/plugins/expandable-grid/ExpandedRowExtra.js.map +1 -1
  66. package/dist/cjs/plugins/expandable-grid/useExpandGridState.js.map +1 -1
  67. package/dist/cjs/plugins/export-data/ExportDataPlugin.js +2 -2
  68. package/dist/cjs/plugins/export-data/ExportDataPlugin.js.map +2 -2
  69. package/dist/cjs/plugins/filterable/FilterablePlugin.js +2 -2
  70. package/dist/cjs/plugins/filterable/FilterablePlugin.js.map +2 -2
  71. package/dist/cjs/plugins/filterable/addFilterToColumn.js +2 -2
  72. package/dist/cjs/plugins/filterable/addFilterToColumn.js.map +2 -2
  73. package/dist/cjs/plugins/filterable/components/FilterableHeader.js.map +1 -1
  74. package/dist/cjs/plugins/filterable/components/filterable-menus/DateRangeFilterMenu.js.map +1 -1
  75. package/dist/cjs/plugins/filterable/components/filterable-menus/SingleDateFilterMenu.js.map +1 -1
  76. package/dist/cjs/plugins/filterable/components/filterable-menus/SingleRangeSwitcherMenu.js.map +1 -1
  77. package/dist/cjs/plugins/filterable/components/filterable-menus/TextFilterMenu.js.map +1 -1
  78. package/dist/cjs/plugins/filterable/components/filterable-menus/getFilterMenuByType.js.map +1 -1
  79. package/dist/cjs/plugins/filterable/filterableFormatter.js.map +1 -1
  80. package/dist/cjs/plugins/filterable/filtering-helper/filterRowsByQuery.js.map +1 -1
  81. package/dist/cjs/plugins/filterable/filtering-helper/strategiesOperators.js.map +1 -1
  82. package/dist/cjs/plugins/filterable/helper.js.map +1 -1
  83. package/dist/cjs/plugins/filterable/useFilterableState.js.map +1 -1
  84. package/dist/cjs/plugins/grouping-by/GroupingByPlugin.js +2 -2
  85. package/dist/cjs/plugins/grouping-by/GroupingByPlugin.js.map +2 -2
  86. package/dist/cjs/plugins/grouping-grid/GroupingPlugin.js +2 -2
  87. package/dist/cjs/plugins/grouping-grid/GroupingPlugin.js.map +2 -2
  88. package/dist/cjs/plugins/grouping-grid/walkStrategy.js.map +1 -1
  89. package/dist/cjs/plugins/infinite-scrolling/InfiniteScrollPlugin.js +2 -2
  90. package/dist/cjs/plugins/infinite-scrolling/InfiniteScrollPlugin.js.map +2 -2
  91. package/dist/cjs/plugins/pagination/PaginationPlugin.js +3 -4
  92. package/dist/cjs/plugins/pagination/PaginationPlugin.js.map +2 -2
  93. package/dist/cjs/plugins/pagination/components/Pagination.js.map +1 -1
  94. package/dist/cjs/plugins/pagination/components/Paginator.js.map +1 -1
  95. package/dist/cjs/plugins/pagination/components/PerPageDropdown.js.map +1 -1
  96. package/dist/cjs/plugins/pagination/helper.js.map +1 -1
  97. package/dist/cjs/plugins/pagination/usePaginationState.js.map +1 -1
  98. package/dist/cjs/plugins/resizable/ResizablePlugin.js +2 -2
  99. package/dist/cjs/plugins/resizable/ResizablePlugin.js.map +2 -2
  100. package/dist/cjs/plugins/resizable/decorateResizable.js +2 -2
  101. package/dist/cjs/plugins/resizable/decorateResizable.js.map +2 -2
  102. package/dist/cjs/plugins/resizable/useResizeHandle.js.map +1 -1
  103. package/dist/cjs/plugins/resizable/utils.js.map +1 -1
  104. package/dist/cjs/plugins/row-dnd/DndRowsPlugin.js +3 -4
  105. package/dist/cjs/plugins/row-dnd/DndRowsPlugin.js.map +2 -2
  106. package/dist/cjs/plugins/selectable/SelectablePlugin.js +2 -2
  107. package/dist/cjs/plugins/selectable/SelectablePlugin.js.map +2 -2
  108. package/dist/cjs/plugins/selectable/addSelectableColumn.js +3 -3
  109. package/dist/cjs/plugins/selectable/addSelectableColumn.js.map +2 -2
  110. package/dist/cjs/plugins/selectable/helper.js.map +1 -1
  111. package/dist/cjs/plugins/selectable/selectableFormatter.js.map +1 -1
  112. package/dist/cjs/plugins/selectable/useSelectableState.js.map +1 -1
  113. package/dist/cjs/plugins/sortable/SortablePlugin.js +3 -4
  114. package/dist/cjs/plugins/sortable/SortablePlugin.js.map +2 -2
  115. package/dist/cjs/plugins/sortable/checkIfSortable.js.map +1 -1
  116. package/dist/cjs/plugins/sortable/sortHeaderFormatter.js.map +1 -1
  117. package/dist/cjs/plugins/sortable/sortTree.js.map +1 -1
  118. package/dist/cjs/plugins/sortable/sorter.js.map +1 -1
  119. package/dist/cjs/plugins/sortable/useSortableState.js.map +1 -1
  120. package/dist/cjs/plugins/toolbar/RowRenderer.js.map +1 -1
  121. package/dist/cjs/plugins/toolbar/ToolbarPlugin.js +3 -4
  122. package/dist/cjs/plugins/toolbar/ToolbarPlugin.js.map +2 -2
  123. package/dist/cjs/plugins/toolbar/ToolbarTrigger.js.map +1 -1
  124. package/dist/cjs/plugins/virtualization/AutoHeightList.js.map +1 -1
  125. package/dist/cjs/plugins/virtualization/VirtualizationPlugin.js +4 -6
  126. package/dist/cjs/plugins/virtualization/VirtualizationPlugin.js.map +2 -2
  127. package/dist/cjs/plugins/virtualization/VirtualizedBody.js.map +1 -1
  128. package/dist/cjs/plugins/virtualization/VirtualizedBodyRow.js.map +1 -1
  129. package/dist/cjs/plugins/virtualization/helper.js.map +1 -1
  130. package/dist/cjs/renders/CellWithAddons.js.map +1 -1
  131. package/dist/cjs/renders/styled.js.map +1 -1
  132. package/dist/cjs/rowSizes.js.map +1 -1
  133. package/dist/cjs/utilities/getPluginsFromProps.js.map +1 -1
  134. package/dist/cjs/utilities/getScrollbarSize.js.map +1 -1
  135. package/dist/cjs/utilities/normalizeData.js.map +1 -1
  136. package/dist/esm/DSDataGrid.js.map +1 -1
  137. package/dist/esm/DataGridImpl.js +1 -2
  138. package/dist/esm/DataGridImpl.js.map +2 -2
  139. package/dist/esm/PaginatedDataGrid.js +1 -1
  140. package/dist/esm/PaginatedDataGrid.js.map +2 -2
  141. package/dist/esm/columns/IconColumn.js.map +1 -1
  142. package/dist/esm/columns/NumberColumn.js.map +1 -1
  143. package/dist/esm/components/BodyCell.js +1 -2
  144. package/dist/esm/components/BodyCell.js.map +2 -2
  145. package/dist/esm/components/BodyList.js.map +1 -1
  146. package/dist/esm/components/ColumnVisibilityMenuOption.js.map +1 -1
  147. package/dist/esm/components/ColumnsOptionsMenuSection.js.map +1 -1
  148. package/dist/esm/components/EmptyState.js.map +1 -1
  149. package/dist/esm/components/HeaderCell.js +1 -1
  150. package/dist/esm/components/HeaderCell.js.map +2 -2
  151. package/dist/esm/components/List.js.map +1 -1
  152. package/dist/esm/components/ListItem.js.map +1 -1
  153. package/dist/esm/components/NoResults.js.map +1 -1
  154. package/dist/esm/components/RowsLoader.js.map +1 -1
  155. package/dist/esm/components/Table.js.map +1 -1
  156. package/dist/esm/components/TableBody.js.map +1 -1
  157. package/dist/esm/components/TableHeader.js.map +1 -1
  158. package/dist/esm/components/footer/addOptionalFooterComponents.js.map +1 -1
  159. package/dist/esm/components/header/PrimaryControls.js.map +1 -1
  160. package/dist/esm/components/header/addOptionalHeaderComponents.js.map +1 -1
  161. package/dist/esm/components/renderers/defaultClassedRenderers.js.map +1 -1
  162. package/dist/esm/components/renderers/index.js.map +1 -1
  163. package/dist/esm/components/renderers/renderRowsLoader.js.map +1 -1
  164. package/dist/esm/components/tableContext.js.map +1 -1
  165. package/dist/esm/defaultPlugins.js.map +1 -1
  166. package/dist/esm/plugins/body-header-scroll-sync/BodyHeaderScrollSyncPlugin.js +1 -2
  167. package/dist/esm/plugins/body-header-scroll-sync/BodyHeaderScrollSyncPlugin.js.map +2 -2
  168. package/dist/esm/plugins/column-dnd/DndColumnsPlugin.js +1 -1
  169. package/dist/esm/plugins/column-dnd/DndColumnsPlugin.js.map +2 -2
  170. package/dist/esm/plugins/column-dnd/decorateGridWithDndColumns.js +1 -4
  171. package/dist/esm/plugins/column-dnd/decorateGridWithDndColumns.js.map +2 -2
  172. package/dist/esm/plugins/column-sizing/ColumnSizingPlugin.js +1 -1
  173. package/dist/esm/plugins/column-sizing/ColumnSizingPlugin.js.map +2 -2
  174. package/dist/esm/plugins/column-sizing/columnMeasurerTransformer.js.map +1 -1
  175. package/dist/esm/plugins/column-sizing/ext-points/decorateColumn.js.map +1 -1
  176. package/dist/esm/plugins/column-sizing/ext-points/getTableProps.js.map +1 -1
  177. package/dist/esm/plugins/column-sizing/getColumnNameFromProperty.js.map +1 -1
  178. package/dist/esm/plugins/column-sizing/useColumnSizeService.js.map +1 -1
  179. package/dist/esm/plugins/column-sizing/useStylesheetHelpers.js.map +1 -1
  180. package/dist/esm/plugins/column-sizing/utils.js.map +1 -1
  181. package/dist/esm/plugins/custom-cell-renderer/CustomRendererPlugin.js +1 -1
  182. package/dist/esm/plugins/custom-cell-renderer/CustomRendererPlugin.js.map +2 -2
  183. package/dist/esm/plugins/custom-cell-renderer/addCustomRendererToCell.js +1 -1
  184. package/dist/esm/plugins/custom-cell-renderer/addCustomRendererToCell.js.map +2 -2
  185. package/dist/esm/plugins/custom-cell-renderer/getRendererComponent.js.map +1 -1
  186. package/dist/esm/plugins/editable/EditableComponents/ComboBox.js +10 -10
  187. package/dist/esm/plugins/editable/EditableComponents/ComboBox.js.map +2 -2
  188. package/dist/esm/plugins/editable/EditableComponents/TextBox.js +21 -21
  189. package/dist/esm/plugins/editable/EditableComponents/TextBox.js.map +2 -2
  190. package/dist/esm/plugins/editable/EditablePlugin.js +1 -1
  191. package/dist/esm/plugins/editable/EditablePlugin.js.map +2 -2
  192. package/dist/esm/plugins/editable/decorateEditable.js +1 -1
  193. package/dist/esm/plugins/editable/decorateEditable.js.map +2 -2
  194. package/dist/esm/plugins/editable/getEditorComponent.js.map +1 -1
  195. package/dist/esm/plugins/expandable-grid/ExpandableColumn.js.map +1 -1
  196. package/dist/esm/plugins/expandable-grid/ExpandablePlugin.js +1 -2
  197. package/dist/esm/plugins/expandable-grid/ExpandablePlugin.js.map +2 -2
  198. package/dist/esm/plugins/expandable-grid/ExpandedRow.js +1 -2
  199. package/dist/esm/plugins/expandable-grid/ExpandedRow.js.map +2 -2
  200. package/dist/esm/plugins/expandable-grid/ExpandedRowExtra.js.map +1 -1
  201. package/dist/esm/plugins/expandable-grid/useExpandGridState.js.map +1 -1
  202. package/dist/esm/plugins/export-data/ExportDataPlugin.js +1 -1
  203. package/dist/esm/plugins/export-data/ExportDataPlugin.js.map +2 -2
  204. package/dist/esm/plugins/filterable/FilterablePlugin.js +1 -1
  205. package/dist/esm/plugins/filterable/FilterablePlugin.js.map +2 -2
  206. package/dist/esm/plugins/filterable/addFilterToColumn.js +1 -1
  207. package/dist/esm/plugins/filterable/addFilterToColumn.js.map +2 -2
  208. package/dist/esm/plugins/filterable/components/FilterableHeader.js.map +1 -1
  209. package/dist/esm/plugins/filterable/components/filterable-menus/DateRangeFilterMenu.js.map +1 -1
  210. package/dist/esm/plugins/filterable/components/filterable-menus/SingleDateFilterMenu.js.map +1 -1
  211. package/dist/esm/plugins/filterable/components/filterable-menus/SingleRangeSwitcherMenu.js.map +1 -1
  212. package/dist/esm/plugins/filterable/components/filterable-menus/TextFilterMenu.js.map +1 -1
  213. package/dist/esm/plugins/filterable/components/filterable-menus/getFilterMenuByType.js.map +1 -1
  214. package/dist/esm/plugins/filterable/filterableFormatter.js.map +1 -1
  215. package/dist/esm/plugins/filterable/filtering-helper/filterRowsByQuery.js.map +1 -1
  216. package/dist/esm/plugins/filterable/filtering-helper/strategiesOperators.js.map +1 -1
  217. package/dist/esm/plugins/filterable/helper.js.map +1 -1
  218. package/dist/esm/plugins/filterable/useFilterableState.js.map +1 -1
  219. package/dist/esm/plugins/grouping-by/GroupingByPlugin.js +1 -1
  220. package/dist/esm/plugins/grouping-by/GroupingByPlugin.js.map +2 -2
  221. package/dist/esm/plugins/grouping-grid/GroupingPlugin.js +1 -1
  222. package/dist/esm/plugins/grouping-grid/GroupingPlugin.js.map +2 -2
  223. package/dist/esm/plugins/grouping-grid/walkStrategy.js.map +1 -1
  224. package/dist/esm/plugins/infinite-scrolling/InfiniteScrollPlugin.js +1 -1
  225. package/dist/esm/plugins/infinite-scrolling/InfiniteScrollPlugin.js.map +2 -2
  226. package/dist/esm/plugins/pagination/PaginationPlugin.js +1 -2
  227. package/dist/esm/plugins/pagination/PaginationPlugin.js.map +2 -2
  228. package/dist/esm/plugins/pagination/components/Pagination.js.map +1 -1
  229. package/dist/esm/plugins/pagination/components/Paginator.js.map +1 -1
  230. package/dist/esm/plugins/pagination/components/PerPageDropdown.js.map +1 -1
  231. package/dist/esm/plugins/pagination/helper.js.map +1 -1
  232. package/dist/esm/plugins/pagination/usePaginationState.js.map +1 -1
  233. package/dist/esm/plugins/resizable/ResizablePlugin.js +1 -1
  234. package/dist/esm/plugins/resizable/ResizablePlugin.js.map +2 -2
  235. package/dist/esm/plugins/resizable/decorateResizable.js +1 -1
  236. package/dist/esm/plugins/resizable/decorateResizable.js.map +2 -2
  237. package/dist/esm/plugins/resizable/useResizeHandle.js.map +1 -1
  238. package/dist/esm/plugins/resizable/utils.js.map +1 -1
  239. package/dist/esm/plugins/row-dnd/DndRowsPlugin.js +1 -2
  240. package/dist/esm/plugins/row-dnd/DndRowsPlugin.js.map +2 -2
  241. package/dist/esm/plugins/selectable/SelectablePlugin.js +1 -1
  242. package/dist/esm/plugins/selectable/SelectablePlugin.js.map +2 -2
  243. package/dist/esm/plugins/selectable/addSelectableColumn.js +1 -4
  244. package/dist/esm/plugins/selectable/addSelectableColumn.js.map +2 -2
  245. package/dist/esm/plugins/selectable/helper.js.map +1 -1
  246. package/dist/esm/plugins/selectable/selectableFormatter.js.map +1 -1
  247. package/dist/esm/plugins/selectable/useSelectableState.js.map +1 -1
  248. package/dist/esm/plugins/sortable/SortablePlugin.js +1 -5
  249. package/dist/esm/plugins/sortable/SortablePlugin.js.map +2 -2
  250. package/dist/esm/plugins/sortable/checkIfSortable.js.map +1 -1
  251. package/dist/esm/plugins/sortable/sortHeaderFormatter.js.map +1 -1
  252. package/dist/esm/plugins/sortable/sortTree.js.map +1 -1
  253. package/dist/esm/plugins/sortable/sorter.js.map +1 -1
  254. package/dist/esm/plugins/sortable/useSortableState.js.map +1 -1
  255. package/dist/esm/plugins/toolbar/RowRenderer.js.map +1 -1
  256. package/dist/esm/plugins/toolbar/ToolbarPlugin.js +1 -2
  257. package/dist/esm/plugins/toolbar/ToolbarPlugin.js.map +2 -2
  258. package/dist/esm/plugins/toolbar/ToolbarTrigger.js.map +1 -1
  259. package/dist/esm/plugins/virtualization/AutoHeightList.js.map +1 -1
  260. package/dist/esm/plugins/virtualization/VirtualizationPlugin.js +2 -4
  261. package/dist/esm/plugins/virtualization/VirtualizationPlugin.js.map +2 -2
  262. package/dist/esm/plugins/virtualization/VirtualizedBody.js.map +1 -1
  263. package/dist/esm/plugins/virtualization/VirtualizedBodyRow.js.map +1 -1
  264. package/dist/esm/plugins/virtualization/helper.js.map +1 -1
  265. package/dist/esm/renders/CellWithAddons.js.map +1 -1
  266. package/dist/esm/renders/styled.js.map +1 -1
  267. package/dist/esm/rowSizes.js.map +1 -1
  268. package/dist/esm/utilities/getPluginsFromProps.js.map +1 -1
  269. package/dist/esm/utilities/getScrollbarSize.js.map +1 -1
  270. package/dist/esm/utilities/normalizeData.js.map +1 -1
  271. package/package.json +21 -21
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/plugins/filterable/components/filterable-menus/DateRangeFilterMenu.tsx", "../../../../../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["/* eslint-disable max-lines */\nimport React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { DSControlledDateRangePicker } from '@elliemae/ds-controlled-form';\nimport { DSPopper, PopperPositions as Position } from '@elliemae/ds-popper';\nimport { DatePicker2 } from '@elliemae/ds-icons';\nimport { DSButton } from '@elliemae/ds-button';\nimport moment from 'moment';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport { DEFAULT_DATE_FORMAT } from './defaultDateFormat';\n\nconst blockname = 'date-range';\nconst Wrapper = aggregatedClasses('div')(blockname, 'wrapper');\nconst Header = aggregatedClasses('div')(blockname, 'header');\n\n// const randomString = (maxLength = 5) => Math.random().toString(36).slice(-maxLength);\n\nconst DateRangePickerContainer = ({ onChange = () => null, showHeader }) => {\n const [startDate, setStartDate] = useState('');\n const [endDate, setEndDate] = useState('');\n\n // For some reason it worked like this\n const [lastChangeWasPicker, setLastChangeWasPicker] = useState(false);\n\n useEffect(() => {\n const startMoment = moment(startDate);\n const endMoment = moment(endDate);\n if (\n lastChangeWasPicker &&\n startDate &&\n !startDate.includes('_') &&\n endDate &&\n !endDate.includes('_') &&\n endMoment.diff(startMoment) >= 0\n ) {\n onChange({ startDate: startMoment, endDate: endMoment });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [startDate, endDate, lastChangeWasPicker]);\n\n return (\n <Wrapper\n data-testid=\"date-range__wrapper\"\n onKeyDown={(e) => e.code === 'Enter' && setLastChangeWasPicker(true)}\n style={{ backgroundColor: 'white', boxShadow: '0 6px 20px 0 rgb(0 0 0 / 24%)', width: '261px' }}\n >\n {showHeader && (\n <Header style={{ padding: '8px', display: 'flex', justifyContent: 'center' }}>\n <DSControlledDateRangePicker\n fromDate={startDate}\n onFromDateChange={(_start) => {\n setStartDate(_start);\n setLastChangeWasPicker(false);\n }}\n toDate={endDate}\n onToDateChange={(_end) => {\n setEndDate(_end);\n setLastChangeWasPicker(false);\n }}\n type=\"date-range-inputs\"\n />\n </Header>\n )}\n <DSControlledDateRangePicker\n fromDate={startDate}\n onFromDateChange={(_start) => {\n setStartDate(_start);\n setLastChangeWasPicker(true);\n }}\n toDate={endDate}\n onToDateChange={(_end) => {\n setEndDate(_end);\n setLastChangeWasPicker(true);\n }}\n type=\"date-range-picker-controller-only\"\n />\n </Wrapper>\n );\n};\n\nDateRangePickerContainer.propTypes = {\n onChange: PropTypes.func,\n showHeader: PropTypes.bool,\n};\n\nconst formatRangeDate = ({ startDate, endDate }, format = DEFAULT_DATE_FORMAT) => {\n const sameDay = startDate.isSame(endDate, 'day');\n if (sameDay) return `${endDate.format(format)}`;\n return `${startDate.format(format)} - ${endDate.format(format)}`;\n};\n\nfunction DateRangeFilterMenu({\n column,\n className,\n isMenuOpened = false,\n onOpenMenu = () => null,\n placement = Position.BOTTOM_END,\n onAddFilter = () => null,\n dateFormatter = formatRangeDate,\n showHeader = true,\n menuProps,\n}) {\n return (\n <DSPopper\n contentComponent={\n <div className={className}>\n <DateRangePickerContainer\n minimumNights={0}\n onChange={({ startDate, endDate }) => {\n startDate.startOf('day');\n endDate.endOf('day');\n onAddFilter(\n {\n group: column.property,\n label: column.label,\n value: dateFormatter({ startDate, endDate }),\n type: 'date', // todo: create constants for filter types\n filterParams: { start: startDate, end: endDate },\n transformRowValue: (value) => moment(value, column.dateFormat || DEFAULT_DATE_FORMAT),\n operator: 'range',\n },\n column,\n );\n onOpenMenu(false);\n }}\n showHeader={showHeader}\n />\n </div>\n }\n isOpen={isMenuOpened}\n onOpen={onOpenMenu}\n placement={placement}\n showArrow={false}\n triggerComponent={\n <DSButton\n buttonType=\"text\"\n icon={<DatePicker2 />}\n onClick={() => (!isMenuOpened ? onOpenMenu(true) : onOpenMenu(false))}\n size=\"s\"\n />\n }\n zIndex={menuProps.zIndex}\n />\n );\n}\n\nDateRangeFilterMenu.propTypes = {\n column: PropTypes.any,\n className: PropTypes.string,\n isMenuOpened: PropTypes.bool,\n onOpenMenu: PropTypes.func,\n placement: PropTypes.string,\n onAddFilter: PropTypes.func,\n dateFormatter: PropTypes.any,\n showHeader: PropTypes.bool,\n menuProps: PropTypes.any,\n};\n\nexport { DateRangeFilterMenu };\nexport default DateRangeFilterMenu;\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/plugins/filterable/components/filterable-menus/SingleDateFilterMenu.tsx", "../../../../../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["import React, { useCallback, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { Grid } from '@elliemae/ds-grid';\nimport { DSControlledDateTimePicker } from '@elliemae/ds-controlled-form';\nimport { DSPopper, PopperPositions as Position } from '@elliemae/ds-popper';\nimport { DatePicker2 } from '@elliemae/ds-icons';\nimport { DSButton } from '@elliemae/ds-button';\nimport moment from 'moment';\nimport { DEFAULT_DATE_FORMAT } from './defaultDateFormat';\n\nconst SingleDatePickerContainer = ({ onChange = () => null, showHeader }) => {\n const [date, setDate] = useState('');\n\n const handleDateChange = useCallback(\n (data) => {\n if (!data.includes('_')) onChange(moment(data));\n setDate(data);\n },\n [onChange],\n );\n\n return (\n <div style={{ boxShadow: '0 6px 20px 0 rgb(0 0 0 / 24%)' }}>\n {showHeader && (\n <Grid p=\"xxs\">\n <DSControlledDateTimePicker date={date} onDateChange={handleDateChange} type=\"date-inputs\" isClearable />\n </Grid>\n )}\n <DSControlledDateTimePicker date={date} onDateChange={handleDateChange} type=\"date-picker-controller-only\" />\n </div>\n );\n};\n\nSingleDatePickerContainer.propTypes = {\n onChange: PropTypes.func,\n showHeader: PropTypes.bool,\n};\n\nconst formatDate = (date, format = DEFAULT_DATE_FORMAT) => date.format(format);\n\nfunction SingleDateFilterMenu({\n column,\n className,\n isMenuOpened = false,\n onOpenMenu = () => null,\n placement = Position.BOTTOM_END,\n onAddFilter = () => null,\n dateFormatter = formatDate,\n showHeader = false,\n menuProps,\n}) {\n return (\n <DSPopper\n contentComponent={\n <div className={className} data-testid=\"date-single__wrapper\">\n <SingleDatePickerContainer\n minimumNights={0}\n onChange={(date) => {\n const t = date.clone();\n onAddFilter(\n {\n group: column.property,\n label: column.label,\n value: dateFormatter(date, column.dateFormat),\n type: 'date',\n operator: 'range',\n filterParams: {\n start: date.startOf('day'),\n end: t.endOf('day'),\n },\n transformRowValue: (value) => moment(value, column.dateFormat || DEFAULT_DATE_FORMAT),\n },\n column,\n );\n onOpenMenu(false);\n }}\n showHeader={showHeader}\n />\n </div>\n }\n isOpen={isMenuOpened}\n onOpen={onOpenMenu}\n placement={placement}\n showArrow={false}\n triggerComponent={\n <DSButton\n buttonType=\"text\"\n icon={<DatePicker2 />}\n onClick={() => (!isMenuOpened ? onOpenMenu(true) : onOpenMenu(false))}\n size=\"s\"\n />\n }\n zIndex={menuProps.zIndex}\n />\n );\n}\n\nSingleDateFilterMenu.propTypes = {\n column: PropTypes.any,\n className: PropTypes.string,\n isMenuOpened: PropTypes.bool,\n onOpenMenu: PropTypes.func,\n placement: PropTypes.string,\n onAddFilter: PropTypes.func,\n dateFormatter: PropTypes.any,\n showHeader: PropTypes.bool,\n menuProps: PropTypes.any,\n};\n\nexport { SingleDateFilterMenu };\nexport default SingleDateFilterMenu;\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAA6C;AAC7C,wBAAsB;AACtB,qBAAqB;AACrB,gCAA2C;AAC3C,uBAAsD;AACtD,sBAA4B;AAC5B,uBAAyB;AACzB,oBAAmB;AACnB,+BAAoC;AAEpC,MAAM,4BAA4B,CAAC,EAAE,WAAW,MAAM,MAAM,iBAAiB;AAC3E,QAAM,CAAC,MAAM,WAAW,2BAAS;AAEjC,QAAM,mBAAmB,8BACvB,CAAC,SAAS;AACR,QAAI,CAAC,KAAK,SAAS;AAAM,eAAS,2BAAO;AACzC,YAAQ;AAAA,KAEV,CAAC;AAGH,SACE,mDAAC,OAAD;AAAA,IAAK,OAAO,EAAE,WAAW;AAAA,KACtB,cACC,mDAAC,qBAAD;AAAA,IAAM,GAAE;AAAA,KACN,mDAAC,sDAAD;AAAA,IAA4B;AAAA,IAAY,cAAc;AAAA,IAAkB,MAAK;AAAA,IAAc,aAAW;AAAA,OAG1G,mDAAC,sDAAD;AAAA,IAA4B;AAAA,IAAY,cAAc;AAAA,IAAkB,MAAK;AAAA;AAAA;AAKnF,0BAA0B,YAAY;AAAA,EACpC,UAAU,0BAAU;AAAA,EACpB,YAAY,0BAAU;AAAA;AAGxB,MAAM,aAAa,CAAC,MAAM,SAAS,iDAAwB,KAAK,OAAO;AAEvE,8BAA8B;AAAA,EAC5B;AAAA,EACA;AAAA,EACA,eAAe;AAAA,EACf,aAAa,MAAM;AAAA,EACnB,YAAY,iCAAS;AAAA,EACrB,cAAc,MAAM;AAAA,EACpB,gBAAgB;AAAA,EAChB,aAAa;AAAA,EACb;AAAA,GACC;AACD,SACE,mDAAC,2BAAD;AAAA,IACE,kBACE,mDAAC,OAAD;AAAA,MAAK;AAAA,MAAsB,eAAY;AAAA,OACrC,mDAAC,2BAAD;AAAA,MACE,eAAe;AAAA,MACf,UAAU,CAAC,SAAS;AAClB,cAAM,IAAI,KAAK;AACf,oBACE;AAAA,UACE,OAAO,OAAO;AAAA,UACd,OAAO,OAAO;AAAA,UACd,OAAO,cAAc,MAAM,OAAO;AAAA,UAClC,MAAM;AAAA,UACN,UAAU;AAAA,UACV,cAAc;AAAA,YACZ,OAAO,KAAK,QAAQ;AAAA,YACpB,KAAK,EAAE,MAAM;AAAA;AAAA,UAEf,mBAAmB,CAAC,UAAU,2BAAO,OAAO,OAAO,cAAc;AAAA,WAEnE;AAEF,mBAAW;AAAA;AAAA,MAEb;AAAA;AAAA,IAIN,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR;AAAA,IACA,WAAW;AAAA,IACX,kBACE,mDAAC,2BAAD;AAAA,MACE,YAAW;AAAA,MACX,MAAM,mDAAC,6BAAD;AAAA,MACN,SAAS,MAAO,CAAC,eAAe,WAAW,QAAQ,WAAW;AAAA,MAC9D,MAAK;AAAA;AAAA,IAGT,QAAQ,UAAU;AAAA;AAAA;AAKxB,qBAAqB,YAAY;AAAA,EAC/B,QAAQ,0BAAU;AAAA,EAClB,WAAW,0BAAU;AAAA,EACrB,cAAc,0BAAU;AAAA,EACxB,YAAY,0BAAU;AAAA,EACtB,WAAW,0BAAU;AAAA,EACrB,aAAa,0BAAU;AAAA,EACvB,eAAe,0BAAU;AAAA,EACzB,YAAY,0BAAU;AAAA,EACtB,WAAW,0BAAU;AAAA;AAIvB,IAAO,+BAAQ;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAA6C;AAC7C,wBAAsB;AACtB,qBAAqB;AACrB,gCAA2C;AAC3C,uBAAsD;AACtD,sBAA4B;AAC5B,uBAAyB;AACzB,oBAAmB;AACnB,+BAAoC;AAEpC,MAAM,4BAA4B,CAAC,EAAE,WAAW,MAAM,MAAM,iBAAiB;AAC3E,QAAM,CAAC,MAAM,WAAW,2BAAS,EAAE;AAEnC,QAAM,mBAAmB,8BACvB,CAAC,SAAS;AACR,QAAI,CAAC,KAAK,SAAS,GAAG;AAAG,eAAS,2BAAO,IAAI,CAAC;AAC9C,YAAQ,IAAI;AAAA,EACd,GACA,CAAC,QAAQ,CACX;AAEA,SACE,mDAAC;AAAA,IAAI,OAAO,EAAE,WAAW,gCAAgC;AAAA,KACtD,cACC,mDAAC;AAAA,IAAK,GAAE;AAAA,KACN,mDAAC;AAAA,IAA2B;AAAA,IAAY,cAAc;AAAA,IAAkB,MAAK;AAAA,IAAc,aAAW;AAAA,GAAC,CACzG,GAEF,mDAAC;AAAA,IAA2B;AAAA,IAAY,cAAc;AAAA,IAAkB,MAAK;AAAA,GAA8B,CAC7G;AAEJ;AAEA,0BAA0B,YAAY;AAAA,EACpC,UAAU,0BAAU;AAAA,EACpB,YAAY,0BAAU;AACxB;AAEA,MAAM,aAAa,CAAC,MAAM,SAAS,iDAAwB,KAAK,OAAO,MAAM;AAE7E,8BAA8B;AAAA,EAC5B;AAAA,EACA;AAAA,EACA,eAAe;AAAA,EACf,aAAa,MAAM;AAAA,EACnB,YAAY,iCAAS;AAAA,EACrB,cAAc,MAAM;AAAA,EACpB,gBAAgB;AAAA,EAChB,aAAa;AAAA,EACb;AAAA,GACC;AACD,SACE,mDAAC;AAAA,IACC,kBACE,mDAAC;AAAA,MAAI;AAAA,MAAsB,eAAY;AAAA,OACrC,mDAAC;AAAA,MACC,eAAe;AAAA,MACf,UAAU,CAAC,SAAS;AAClB,cAAM,IAAI,KAAK,MAAM;AACrB,oBACE;AAAA,UACE,OAAO,OAAO;AAAA,UACd,OAAO,OAAO;AAAA,UACd,OAAO,cAAc,MAAM,OAAO,UAAU;AAAA,UAC5C,MAAM;AAAA,UACN,UAAU;AAAA,UACV,cAAc;AAAA,YACZ,OAAO,KAAK,QAAQ,KAAK;AAAA,YACzB,KAAK,EAAE,MAAM,KAAK;AAAA,UACpB;AAAA,UACA,mBAAmB,CAAC,UAAU,2BAAO,OAAO,OAAO,cAAc,4CAAmB;AAAA,QACtF,GACA,MACF;AACA,mBAAW,KAAK;AAAA,MAClB;AAAA,MACA;AAAA,KACF,CACF;AAAA,IAEF,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR;AAAA,IACA,WAAW;AAAA,IACX,kBACE,mDAAC;AAAA,MACC,YAAW;AAAA,MACX,MAAM,mDAAC,iCAAY;AAAA,MACnB,SAAS,MAAO,CAAC,eAAe,WAAW,IAAI,IAAI,WAAW,KAAK;AAAA,MACnE,MAAK;AAAA,KACP;AAAA,IAEF,QAAQ,UAAU;AAAA,GACpB;AAEJ;AAEA,qBAAqB,YAAY;AAAA,EAC/B,QAAQ,0BAAU;AAAA,EAClB,WAAW,0BAAU;AAAA,EACrB,cAAc,0BAAU;AAAA,EACxB,YAAY,0BAAU;AAAA,EACtB,WAAW,0BAAU;AAAA,EACrB,aAAa,0BAAU;AAAA,EACvB,eAAe,0BAAU;AAAA,EACzB,YAAY,0BAAU;AAAA,EACtB,WAAW,0BAAU;AACvB;AAGA,IAAO,+BAAQ;",
6
6
  "names": []
7
7
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/plugins/filterable/components/filterable-menus/SingleRangeSwitcherMenu.tsx", "../../../../../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["/* eslint-disable max-lines */\nimport React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport {\n DSControlledDateTimePicker,\n DSControlledDateRangePicker,\n DSControlledCheckbox,\n} from '@elliemae/ds-controlled-form';\nimport { DSPopper, PopperPositions as Position } from '@elliemae/ds-popper';\nimport { DatePicker2 } from '@elliemae/ds-icons';\nimport { DSButton } from '@elliemae/ds-button';\nimport { Grid } from '@elliemae/ds-grid';\nimport moment from 'moment';\nimport styled from 'styled-components';\nimport { DEFAULT_DATE_FORMAT } from './defaultDateFormat';\n\nconst StyledGridWrapper = styled(Grid)`\n .notCurrentMonth {\n opacity: ${(props) => (props.enableOutsideDays ? '1' : '0')};\n pointer-events: ${(props) => (props.enableOutsideDays ? 'auto' : 'none')};\n }\n`;\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-empty-function\nconst noop = (...args) => {};\n\nconst SingleRangeSwitcherContainer = ({ onChange = noop, enableOutsideDays }) => {\n const [startDate, setStartDate] = useState('');\n const [endDate, setEndDate] = useState('');\n\n // For some reason it worked like this\n const [lastChangeWasPicker, setLastChangeWasPicker] = useState(false);\n\n const [isDateRange, setIsDateRange] = useState(false);\n\n useEffect(() => {\n const startMoment = moment(startDate);\n const endMoment = moment(endDate);\n if (\n lastChangeWasPicker &&\n startDate &&\n !startDate.includes('_') &&\n endDate &&\n !endDate.includes('_') &&\n endMoment.diff(startMoment) >= 0\n ) {\n onChange({ startDate: startMoment, endDate: endMoment });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [startDate, endDate, lastChangeWasPicker]);\n\n return (\n <StyledGridWrapper\n data-testid=\"date-single-range__wrapper\"\n style={{\n backgroundColor: 'white',\n boxShadow: '0 6px 20px 0 rgb(0 0 0 / 24%)',\n width: '261px',\n display: 'grid',\n justifyContent: 'center',\n }}\n cols={['100%']}\n enableOutsideDays={enableOutsideDays}\n onKeyDown={(e) => e.code === 'Enter' && setLastChangeWasPicker(true)}\n >\n <Grid gutter=\"xxs\" alignItems=\"center\" p=\"xxs\">\n <DSControlledCheckbox\n checked={isDateRange}\n name=\"Date range\"\n label=\"Range\"\n id=\"date-range-switcher-id-internal\"\n onChange={() => {\n setIsDateRange(!isDateRange);\n setStartDate('');\n setEndDate('');\n }}\n />\n <div style={{ width: 'fit-content' }}>\n {isDateRange ? (\n <DSControlledDateRangePicker\n fromDate={startDate}\n onFromDateChange={(_start) => {\n setStartDate(_start);\n setLastChangeWasPicker(false);\n }}\n toDate={endDate}\n onToDateChange={(_end) => {\n setEndDate(_end);\n setLastChangeWasPicker(false);\n }}\n type=\"date-range-inputs\"\n />\n ) : (\n <DSControlledDateTimePicker\n date={startDate}\n onDateChange={(_date) => {\n setLastChangeWasPicker(false);\n setStartDate(_date);\n setEndDate(_date);\n }}\n type=\"date-inputs\"\n />\n )}\n </div>\n </Grid>\n <Grid>\n {isDateRange ? (\n <DSControlledDateRangePicker\n fromDate={startDate}\n onFromDateChange={(_start) => {\n setStartDate(_start);\n setLastChangeWasPicker(true);\n }}\n toDate={endDate}\n onToDateChange={(_end) => {\n setEndDate(_end);\n setLastChangeWasPicker(true);\n }}\n type=\"date-range-picker-controller-only\"\n />\n ) : (\n <DSControlledDateTimePicker\n date={startDate}\n onDateChange={(_date) => {\n setLastChangeWasPicker(true);\n setStartDate(_date);\n setEndDate(_date);\n }}\n type=\"date-picker-controller-only\"\n />\n )}\n </Grid>\n </StyledGridWrapper>\n );\n};\n\nSingleRangeSwitcherContainer.propTypes = {\n onChange: PropTypes.func,\n enableOutsideDays: PropTypes.bool,\n};\n\nconst formatRangeDate = ({ startDate, endDate }, format = DEFAULT_DATE_FORMAT) => {\n const sameDay = startDate.isSame(endDate, 'day');\n if (sameDay) return `${endDate.format(format)}`;\n return `${startDate.format(format)} - ${endDate.format(format)}`;\n};\n\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nfunction SingleRangeSwitcherMenu({\n column,\n className,\n isMenuOpened = false,\n onOpenMenu = noop,\n placement = Position.BOTTOM_END,\n onAddFilter = noop,\n dateFormatter = formatRangeDate,\n enableOutsideDays = true,\n menuProps,\n}): JSX.Element {\n return (\n <DSPopper\n contentComponent={\n <div className={className}>\n <SingleRangeSwitcherContainer\n enableOutsideDays={enableOutsideDays}\n onChange={({ startDate, endDate }) => {\n startDate.startOf('day');\n endDate.endOf('day');\n onAddFilter(\n {\n group: column.property,\n label: column.label,\n value: dateFormatter({ startDate, endDate }, column.format),\n type: 'date', // todo: create constants for filter types\n filterParams: { start: startDate, end: endDate },\n transformRowValue: (value) => moment(value, column.dateFormat || DEFAULT_DATE_FORMAT),\n operator: 'range',\n },\n column,\n );\n onOpenMenu(false);\n }}\n />\n </div>\n }\n isOpen={isMenuOpened}\n onOpen={onOpenMenu}\n placement={placement}\n showArrow={false}\n triggerComponent={\n <DSButton\n buttonType=\"text\"\n icon={<DatePicker2 />}\n onClick={() => (!isMenuOpened ? onOpenMenu(true) : onOpenMenu(false))}\n size=\"s\"\n />\n }\n zIndex={menuProps.zIndex}\n />\n );\n}\n\nSingleRangeSwitcherMenu.propTypes = {\n column: PropTypes.any,\n className: PropTypes.string,\n isMenuOpened: PropTypes.bool,\n onOpenMenu: PropTypes.func,\n placement: PropTypes.string,\n onAddFilter: PropTypes.func,\n dateFormatter: PropTypes.any,\n enableOutsideDays: PropTypes.bool,\n menuProps: PropTypes.any,\n};\n\nexport { SingleRangeSwitcherMenu };\nexport default SingleRangeSwitcherMenu;\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/plugins/filterable/components/filterable-menus/TextFilterMenu.tsx", "../../../../../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["/* eslint-disable max-lines */\nimport React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { compact } from 'lodash';\nimport { DSDropdownMenu } from '@elliemae/ds-dropdownmenu';\nimport { DSButton } from '@elliemae/ds-button';\nimport { PopperPositions as Position } from '@elliemae/ds-popper';\nimport { Menu, MenuCombobox } from '@elliemae/ds-menu';\nimport { SearchSmall } from '@elliemae/ds-icons';\n\nfunction TextFilterMenu({\n column,\n menuStyle = {},\n className,\n filters = [],\n isMenuOpened = false,\n onOpenMenu = () => null,\n onClose = () => null,\n placement = Position.BOTTOM_END,\n menuProps = {},\n onAddFilter = () => null,\n onRemoveFilter = () => null,\n maxOptions = 10,\n isMulti = false,\n}) {\n const { options, ...otherMenuProps } = menuProps;\n\n const generateOption = (option, idx) => <Menu.ItemCheckbox key={idx} label={option.label} name={option.id} />;\n\n const renderOptions = (arr) => arr.map(generateOption);\n\n const filtersForColumn = filters.filter((f) => f.group === column.property);\n\n const initialSelectedOptions = filtersForColumn.map((f) => f.value);\n\n const [selected, setSelected] = useState(initialSelectedOptions);\n\n React.useEffect(() => {\n const filtersForColumn2 = filters.filter((f) => f.group === column.property);\n setSelected(filtersForColumn2.map((f) => f.value));\n }, [filters]);\n\n const filterGroup = column.searchBy || column.property;\n\n const onCloseMulti = () => {\n let nextFilters = [...filters];\n const shouldRemove = [];\n // if selected doesn't includes item, then we have to remove the filter\n // but given that we are maintaining state here and updating the grid state\n // is not implemented on useFilterableState, we have to do this in 2 traverses\n // as doing it in one gives trouble when removing and adding at the same time.\n initialSelectedOptions.forEach((item) => {\n if (!selected.includes(item)) {\n nextFilters = nextFilters.filter((filter) => !(filter.group === filterGroup && filter.value === item));\n shouldRemove.push({ group: filterGroup, pill: { value: item } });\n }\n });\n shouldRemove.forEach((removedFilter) => {\n onRemoveFilter({\n ...removedFilter,\n nextFilters,\n });\n });\n selected.forEach((item) => {\n // if initialSelectedOptions includes item, then we do nothing\n if (!initialSelectedOptions.includes(item)) {\n onAddFilter(\n {\n group: filterGroup,\n label: column.label,\n value: item,\n operator: column?.filter?.operator || 'contains',\n transformRowValue: column.valueTransformation,\n },\n column,\n );\n }\n });\n onClose();\n };\n\n return (\n <DSDropdownMenu\n closeMenuOnItemSelection\n contentStyle={menuStyle}\n customMenu={\n isMulti ? (\n <Menu containerProps={{ id: 'text-filter-menu-multiple' }} className=\"dg-multiple-filter\" visible>\n <Menu.SelectionGroup\n active={selected}\n onSelect={(newValues) => {\n setSelected(newValues);\n }}\n focusOnOpen\n multi\n searchable\n >\n {renderOptions(options)}\n </Menu.SelectionGroup>\n </Menu>\n ) : (\n <MenuCombobox\n {...otherMenuProps}\n className={className}\n dropdownFilterOptions={{\n ...column.dropdownFilterOptions,\n maxOptions,\n }}\n maxWidth={column.filterMenuMaxWidth}\n minWidth={column.filterMenuMinWidth}\n onSelectMenuItem={(selectedValue) => {\n if (selectedValue) {\n onAddFilter(\n {\n group: column.searchBy || column.property,\n label: column.label,\n value: selectedValue,\n operator: column?.filter?.operator || 'contains',\n transformRowValue: column.valueTransformation,\n },\n column,\n );\n onOpenMenu(false);\n }\n }}\n />\n )\n }\n isOpen={isMenuOpened}\n maxWidth={column.filterMenuMaxWidth}\n menuProps={menuProps}\n minWidth={column.filterMenuMinWidth}\n onOpenMenu={onOpenMenu}\n onClose={isMulti ? onCloseMulti : onClose}\n options={compact(options)}\n placement={placement}\n triggerComponent={\n <DSButton\n buttonType=\"text\"\n icon={<SearchSmall />}\n onClick={() => (isMenuOpened ? onOpenMenu(false) : onOpenMenu(true))}\n size=\"s\"\n />\n }\n />\n );\n}\n\nTextFilterMenu.propTypes = {\n column: PropTypes.any,\n menuStyle: PropTypes.shape({}),\n className: PropTypes.string,\n filters: PropTypes.arrayOf(PropTypes.shape({})),\n isMenuOpened: PropTypes.bool,\n onOpenMenu: PropTypes.func,\n onClose: PropTypes.func,\n placement: PropTypes.string,\n menuProps: PropTypes.shape({}),\n onAddFilter: PropTypes.func,\n onRemoveFilter: PropTypes.func,\n maxOptions: PropTypes.number,\n isMulti: PropTypes.bool,\n};\n\nexport { TextFilterMenu };\nexport default TextFilterMenu;\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/plugins/filterable/components/filterable-menus/getFilterMenuByType.tsx", "../../../../../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["import { DateRangeFilterMenu } from './DateRangeFilterMenu';\nimport { SingleDateFilterMenu } from './SingleDateFilterMenu'; // implement\nimport { SingleRangeSwitcherMenu } from './SingleRangeSwitcherMenu'; // implement\nimport { TextFilterMenu } from './TextFilterMenu';\n\nconst ComponentTypes = {\n 'date-range': DateRangeFilterMenu,\n 'single-date': SingleDateFilterMenu,\n 'date-switcher': SingleRangeSwitcherMenu,\n string: TextFilterMenu,\n};\n\nexport const getFilterMenuByType = (type) => {\n return ComponentTypes[type] || ComponentTypes.string;\n};\n\nexport default getFilterMenuByType;\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,iCAAoC;AACpC,kCAAqC;AACrC,qCAAwC;AACxC,4BAA+B;AAE/B,MAAM,iBAAiB;AAAA,EACrB,cAAc;AAAA,EACd,eAAe;AAAA,EACf,iBAAiB;AAAA,EACjB,QAAQ;AAAA;AAGH,MAAM,sBAAsB,CAAC,SAAS;AAC3C,SAAO,eAAe,SAAS,eAAe;AAAA;AAGhD,IAAO,8BAAQ;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,iCAAoC;AACpC,kCAAqC;AACrC,qCAAwC;AACxC,4BAA+B;AAE/B,MAAM,iBAAiB;AAAA,EACrB,cAAc;AAAA,EACd,eAAe;AAAA,EACf,iBAAiB;AAAA,EACjB,QAAQ;AACV;AAEO,MAAM,sBAAsB,CAAC,SAAS;AAC3C,SAAO,eAAe,SAAS,eAAe;AAChD;AAEA,IAAO,8BAAQ;",
6
6
  "names": []
7
7
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/plugins/filterable/filterableFormatter.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["/* eslint-disable react/display-name */\nimport React from 'react';\nimport { FilterableHeader } from './components/FilterableHeader';\nimport { getFilterLabels, getFilterLabelsGroup } from './helper';\n\nconst FilterableFormatter = ({\n grid,\n onAddFilter,\n onRemoveFilter,\n query,\n filterMenuRef,\n}) => {\n return (value, { column }) => {\n const {\n rows,\n composedRows,\n props: { groupedRows, groupedBy, onFilterMenuClose, onFilterMenuOpen },\n state: { filters },\n } = grid.getInstance();\n\n let rowsToUse = composedRows;\n if (column.filter && column.filter.isMulti) {\n rowsToUse = rows;\n }\n\n const filteredLabels =\n groupedRows && !groupedBy\n ? getFilterLabelsGroup(column, rows, query)\n : getFilterLabels(column, rowsToUse.rows || rowsToUse, query);\n\n const columnData = column.filterOptions || filteredLabels;\n return (\n <FilterableHeader\n column={column}\n columnData={columnData}\n filters={filters}\n filterMenuRef={filterMenuRef}\n onAddFilter={onAddFilter}\n onFilterMenuClose={onFilterMenuClose}\n onFilterMenuOpen={onFilterMenuOpen}\n onRemoveFilter={onRemoveFilter}\n isMulti={column.filter && column.filter.isMulti}\n value={value}\n />\n );\n };\n}\n\nexport { FilterableFormatter };\nexport default FilterableFormatter;\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,mBAAkB;AAClB,8BAAiC;AACjC,oBAAsD;AAEtD,MAAM,sBAAsB,CAAC;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,MACI;AACJ,SAAO,CAAC,OAAO,EAAE,aAAa;AAC5B,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA,OAAO,EAAE,aAAa,WAAW,mBAAmB;AAAA,MACpD,OAAO,EAAE;AAAA,QACP,KAAK;AAET,QAAI,YAAY;AAChB,QAAI,OAAO,UAAU,OAAO,OAAO,SAAS;AAC1C,kBAAY;AAAA;AAGd,UAAM,iBACJ,eAAe,CAAC,YACZ,wCAAqB,QAAQ,MAAM,SACnC,mCAAgB,QAAQ,UAAU,QAAQ,WAAW;AAE3D,UAAM,aAAa,OAAO,iBAAiB;AAC3C,WACE,mDAAC,0CAAD;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,SAAS,OAAO,UAAU,OAAO,OAAO;AAAA,MACxC;AAAA;AAAA;AAAA;AAOR,IAAO,8BAAQ;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,mBAAkB;AAClB,8BAAiC;AACjC,oBAAsD;AAEtD,MAAM,sBAAsB,CAAC;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,MACI;AACJ,SAAO,CAAC,OAAO,EAAE,aAAa;AAC5B,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA,OAAO,EAAE,aAAa,WAAW,mBAAmB;AAAA,MACpD,OAAO,EAAE;AAAA,QACP,KAAK,YAAY;AAErB,QAAI,YAAY;AAChB,QAAI,OAAO,UAAU,OAAO,OAAO,SAAS;AAC1C,kBAAY;AAAA,IACd;AAEA,UAAM,iBACJ,eAAe,CAAC,YACZ,wCAAqB,QAAQ,MAAM,KAAK,IACxC,mCAAgB,QAAQ,UAAU,QAAQ,WAAW,KAAK;AAEhE,UAAM,aAAa,OAAO,iBAAiB;AAC3C,WACE,mDAAC;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,SAAS,OAAO,UAAU,OAAO,OAAO;AAAA,MACxC;AAAA,KACF;AAAA,EAEJ;AACF;AAGA,IAAO,8BAAQ;",
6
6
  "names": []
7
7
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/plugins/filterable/filtering-helper/filterRowsByQuery.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["import { isFunction } from '@elliemae/ds-utilities';\nimport { strategiesOperators } from './strategiesOperators';\n\nconst getRuleStrategyOperator = (rule) => rule.strategy || strategiesOperators(rule.operator);\n\nconst executeFilterStrategy = (rule, row) => {\n const { value, field, transform, transformRowValue } = rule;\n if (field === 'all') return Object.values(row).some((colValue) => strategiesOperators('contains')(colValue, value));\n const rowValue = row[field];\n const transformedValue = isFunction(transform) ? transform(value) : value;\n const transformedRowValue = isFunction(transformRowValue) ? transformRowValue(rowValue) : rowValue;\n\n const filterStrategy = getRuleStrategyOperator(rule);\n return filterStrategy(transformedRowValue, transformedValue);\n};\n\nconst filterByRules =\n (rules, condition = 'AND') =>\n (row) =>\n condition === 'AND'\n ? rules.reduce(\n (isFiltered, rule) =>\n rule.rules && rule.rules.length\n ? isFiltered && filterByRules(rule.rules, rule.condition)(row)\n : isFiltered && executeFilterStrategy(rule, row),\n true,\n )\n : rules.some((rule) =>\n rule.rules && rule.rules.length\n ? filterByRules(rule.rules, rule.condition)(row)\n : executeFilterStrategy(rule, row),\n );\n\nexport function filterRowsByQueryGroup(rows, query, composedRows) {\n if (query && query.rules && query.rules.length === 0) return rows;\n const newRows = [];\n const parentMap = {};\n composedRows.forEach((parentRow) => {\n if (parentRow.isGroup) {\n newRows.push({\n ...parentRow,\n _filtered: true,\n });\n } else if (!parentRow.isGroup && filterByRules(query.rules, query.condition)(parentRow.data)) {\n newRows.push({\n ...parentRow,\n _filtered: true,\n });\n parentMap[parentRow.parentNode.id] = true;\n }\n });\n\n return newRows.filter((r) => {\n if (r.isGroup && !parentMap[r.id]) return false;\n return true;\n });\n}\n\nexport const filterRowsByQuery = (rows, query) => {\n return rows.filter(filterByRules(query.rules, query.condition));\n};\n\nexport default filterRowsByQuery;\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,0BAA2B;AAC3B,iCAAoC;AAEpC,MAAM,0BAA0B,CAAC,SAAS,KAAK,YAAY,oDAAoB,KAAK;AAEpF,MAAM,wBAAwB,CAAC,MAAM,QAAQ;AAC3C,QAAM,EAAE,OAAO,OAAO,WAAW,sBAAsB;AACvD,MAAI,UAAU;AAAO,WAAO,OAAO,OAAO,KAAK,KAAK,CAAC,aAAa,oDAAoB,YAAY,UAAU;AAC5G,QAAM,WAAW,IAAI;AACrB,QAAM,mBAAmB,oCAAW,aAAa,UAAU,SAAS;AACpE,QAAM,sBAAsB,oCAAW,qBAAqB,kBAAkB,YAAY;AAE1F,QAAM,iBAAiB,wBAAwB;AAC/C,SAAO,eAAe,qBAAqB;AAAA;AAG7C,MAAM,gBACJ,CAAC,OAAO,YAAY,UACpB,CAAC,QACC,cAAc,QACV,MAAM,OACJ,CAAC,YAAY,SACX,KAAK,SAAS,KAAK,MAAM,SACrB,cAAc,cAAc,KAAK,OAAO,KAAK,WAAW,OACxD,cAAc,sBAAsB,MAAM,MAChD,QAEF,MAAM,KAAK,CAAC,SACV,KAAK,SAAS,KAAK,MAAM,SACrB,cAAc,KAAK,OAAO,KAAK,WAAW,OAC1C,sBAAsB,MAAM;AAGnC,gCAAgC,MAAM,OAAO,cAAc;AAChE,MAAI,SAAS,MAAM,SAAS,MAAM,MAAM,WAAW;AAAG,WAAO;AAC7D,QAAM,UAAU;AAChB,QAAM,YAAY;AAClB,eAAa,QAAQ,CAAC,cAAc;AAClC,QAAI,UAAU,SAAS;AACrB,cAAQ,KAAK,iCACR,YADQ;AAAA,QAEX,WAAW;AAAA;AAAA,eAEJ,CAAC,UAAU,WAAW,cAAc,MAAM,OAAO,MAAM,WAAW,UAAU,OAAO;AAC5F,cAAQ,KAAK,iCACR,YADQ;AAAA,QAEX,WAAW;AAAA;AAEb,gBAAU,UAAU,WAAW,MAAM;AAAA;AAAA;AAIzC,SAAO,QAAQ,OAAO,CAAC,MAAM;AAC3B,QAAI,EAAE,WAAW,CAAC,UAAU,EAAE;AAAK,aAAO;AAC1C,WAAO;AAAA;AAAA;AAIJ,MAAM,oBAAoB,CAAC,MAAM,UAAU;AAChD,SAAO,KAAK,OAAO,cAAc,MAAM,OAAO,MAAM;AAAA;AAGtD,IAAO,4BAAQ;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,0BAA2B;AAC3B,iCAAoC;AAEpC,MAAM,0BAA0B,CAAC,SAAS,KAAK,YAAY,oDAAoB,KAAK,QAAQ;AAE5F,MAAM,wBAAwB,CAAC,MAAM,QAAQ;AAC3C,QAAM,EAAE,OAAO,OAAO,WAAW,sBAAsB;AACvD,MAAI,UAAU;AAAO,WAAO,OAAO,OAAO,GAAG,EAAE,KAAK,CAAC,aAAa,oDAAoB,UAAU,EAAE,UAAU,KAAK,CAAC;AAClH,QAAM,WAAW,IAAI;AACrB,QAAM,mBAAmB,oCAAW,SAAS,IAAI,UAAU,KAAK,IAAI;AACpE,QAAM,sBAAsB,oCAAW,iBAAiB,IAAI,kBAAkB,QAAQ,IAAI;AAE1F,QAAM,iBAAiB,wBAAwB,IAAI;AACnD,SAAO,eAAe,qBAAqB,gBAAgB;AAC7D;AAEA,MAAM,gBACJ,CAAC,OAAO,YAAY,UACpB,CAAC,QACC,cAAc,QACV,MAAM,OACJ,CAAC,YAAY,SACX,KAAK,SAAS,KAAK,MAAM,SACrB,cAAc,cAAc,KAAK,OAAO,KAAK,SAAS,EAAE,GAAG,IAC3D,cAAc,sBAAsB,MAAM,GAAG,GACnD,IACF,IACA,MAAM,KAAK,CAAC,SACV,KAAK,SAAS,KAAK,MAAM,SACrB,cAAc,KAAK,OAAO,KAAK,SAAS,EAAE,GAAG,IAC7C,sBAAsB,MAAM,GAAG,CACrC;AAED,gCAAgC,MAAM,OAAO,cAAc;AAChE,MAAI,SAAS,MAAM,SAAS,MAAM,MAAM,WAAW;AAAG,WAAO;AAC7D,QAAM,UAAU,CAAC;AACjB,QAAM,YAAY,CAAC;AACnB,eAAa,QAAQ,CAAC,cAAc;AAClC,QAAI,UAAU,SAAS;AACrB,cAAQ,KAAK,iCACR,YADQ;AAAA,QAEX,WAAW;AAAA,MACb,EAAC;AAAA,IACH,WAAW,CAAC,UAAU,WAAW,cAAc,MAAM,OAAO,MAAM,SAAS,EAAE,UAAU,IAAI,GAAG;AAC5F,cAAQ,KAAK,iCACR,YADQ;AAAA,QAEX,WAAW;AAAA,MACb,EAAC;AACD,gBAAU,UAAU,WAAW,MAAM;AAAA,IACvC;AAAA,EACF,CAAC;AAED,SAAO,QAAQ,OAAO,CAAC,MAAM;AAC3B,QAAI,EAAE,WAAW,CAAC,UAAU,EAAE;AAAK,aAAO;AAC1C,WAAO;AAAA,EACT,CAAC;AACH;AAEO,MAAM,oBAAoB,CAAC,MAAM,UAAU;AAChD,SAAO,KAAK,OAAO,cAAc,MAAM,OAAO,MAAM,SAAS,CAAC;AAChE;AAEA,IAAO,4BAAQ;",
6
6
  "names": []
7
7
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/plugins/filterable/filtering-helper/strategiesOperators.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["import compare from 'comparejs';\n\nexport const strategiesOperators = op =>\n ({\n range: (rowValue, { start, end }) => start <= rowValue && end >= rowValue,\n equal: (value1, value2) => compare.id(value1, value2),\n greaterThan: compare.gt,\n lessThan: compare.lt,\n contains: (rowValue, value) =>\n String(rowValue)\n .toLowerCase()\n .indexOf(String(value).toLowerCase()) !== -1,\n }[op] || compare.id);\n\nexport default strategiesOperators;\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,uBAAoB;AAEb,MAAM,sBAAsB,QAChC;AAAA,EACC,OAAO,CAAC,UAAU,EAAE,OAAO,UAAU,SAAS,YAAY,OAAO;AAAA,EACjE,OAAO,CAAC,QAAQ,WAAW,yBAAQ,GAAG,QAAQ;AAAA,EAC9C,aAAa,yBAAQ;AAAA,EACrB,UAAU,yBAAQ;AAAA,EAClB,UAAU,CAAC,UAAU,UACnB,OAAO,UACJ,cACA,QAAQ,OAAO,OAAO,mBAAmB;AAAA,GAC9C,OAAO,yBAAQ;AAEnB,IAAO,8BAAQ;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,uBAAoB;AAEb,MAAM,sBAAsB,QAChC;AAAA,EACC,OAAO,CAAC,UAAU,EAAE,OAAO,UAAU,SAAS,YAAY,OAAO;AAAA,EACjE,OAAO,CAAC,QAAQ,WAAW,yBAAQ,GAAG,QAAQ,MAAM;AAAA,EACpD,aAAa,yBAAQ;AAAA,EACrB,UAAU,yBAAQ;AAAA,EAClB,UAAU,CAAC,UAAU,UACnB,OAAO,QAAQ,EACZ,YAAY,EACZ,QAAQ,OAAO,KAAK,EAAE,YAAY,CAAC,MAAM;AAChD,GAAE,OAAO,yBAAQ;AAEnB,IAAO,8BAAQ;",
6
6
  "names": []
7
7
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/plugins/filterable/helper.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["import {\n isFunction,\n uniqBy,\n get,\n groupBy,\n property,\n} from '@elliemae/ds-utilities';\n\nexport const getFilterLabel = (column, value) => (column.filterLabels ? column.filterLabels[value] || value : value);\n\nexport const getFilterLabels = (column, rows) =>\n uniqBy(rows, property(column.searchBy || column.property))\n .map((row) => {\n const value = get(row, column.searchBy || column.property);\n if (value === undefined) return {};\n const rowColumnValue = String(get(row, column.searchBy || column.property));\n if (isFunction(column.valueTransformation)) {\n const nextValue = column.valueTransformation(rowColumnValue);\n return { id: nextValue, label: nextValue };\n }\n const label = getFilterLabel(column, rowColumnValue);\n return { id: rowColumnValue || label, label };\n })\n .filter((row) => row.id)\n .filter((row) => {\n if (row.id.startsWith) return !row.id.startsWith('grouped-by');\n return true;\n });\n\nexport const getFilterLabelsGroup = (column, rows) => {\n let flat = [];\n rows.forEach((r) => {\n if (r.children) {\n flat = [...flat, ...r.children];\n }\n });\n return getFilterLabels(column, flat);\n};\n\nexport function getFilterValue(filter, column) {\n const { value } = filter;\n\n if (!column) return value;\n\n const { filterOptions, filterLabels } = column;\n\n if (filterOptions) {\n const foundOption = column.filterOptions.filter((option) => option.id === value)[0];\n if (foundOption) return foundOption.label;\n return value;\n }\n if (filterLabels) {\n return filterLabels[value];\n }\n\n return value;\n}\n\nexport function buildFilterArray(newFilter, filters) {\n // if (newFilter.type && newFilter.type === 'date') return [...filters.slice(1), newFilter]\n return uniqBy([...filters, newFilter], (v) => [v.group, v.value].join());\n}\n\nexport const groupFilters = (filters) => filters.filter((filter) => !filter.fixed);\n\nfunction parseFilterToRule(filter) {\n return {\n ...filter,\n value: filter.filterParams || filter.value,\n field: filter.group,\n };\n}\n\nexport function parseFiltersToQuery(filters) {\n const groupedFilters = groupBy(groupFilters(filters), (filter) => filter.group);\n return Object.keys(groupedFilters).reduce(\n (queryResult, field) => {\n const filter = groupedFilters[field];\n if (Array.isArray(filter) && filter.length > 1) {\n // create query group with 'OR' condition\n queryResult.rules.push({\n condition: 'OR',\n rules: filter.map(parseFilterToRule),\n });\n } else {\n queryResult.rules.push(parseFilterToRule(filter[0]));\n }\n return queryResult;\n },\n { condition: 'AND', rules: [] },\n );\n}\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,0BAMO;AAEA,MAAM,iBAAiB,CAAC,QAAQ,UAAW,OAAO,eAAe,OAAO,aAAa,UAAU,QAAQ;AAEvG,MAAM,kBAAkB,CAAC,QAAQ,SACtC,gCAAO,MAAM,kCAAS,OAAO,YAAY,OAAO,WAC7C,IAAI,CAAC,QAAQ;AACZ,QAAM,QAAQ,6BAAI,KAAK,OAAO,YAAY,OAAO;AACjD,MAAI,UAAU;AAAW,WAAO;AAChC,QAAM,iBAAiB,OAAO,6BAAI,KAAK,OAAO,YAAY,OAAO;AACjE,MAAI,oCAAW,OAAO,sBAAsB;AAC1C,UAAM,YAAY,OAAO,oBAAoB;AAC7C,WAAO,EAAE,IAAI,WAAW,OAAO;AAAA;AAEjC,QAAM,QAAQ,eAAe,QAAQ;AACrC,SAAO,EAAE,IAAI,kBAAkB,OAAO;AAAA,GAEvC,OAAO,CAAC,QAAQ,IAAI,IACpB,OAAO,CAAC,QAAQ;AACf,MAAI,IAAI,GAAG;AAAY,WAAO,CAAC,IAAI,GAAG,WAAW;AACjD,SAAO;AAAA;AAGN,MAAM,uBAAuB,CAAC,QAAQ,SAAS;AACpD,MAAI,OAAO;AACX,OAAK,QAAQ,CAAC,MAAM;AAClB,QAAI,EAAE,UAAU;AACd,aAAO,CAAC,GAAG,MAAM,GAAG,EAAE;AAAA;AAAA;AAG1B,SAAO,gBAAgB,QAAQ;AAAA;AAG1B,wBAAwB,QAAQ,QAAQ;AAC7C,QAAM,EAAE,UAAU;AAElB,MAAI,CAAC;AAAQ,WAAO;AAEpB,QAAM,EAAE,eAAe,iBAAiB;AAExC,MAAI,eAAe;AACjB,UAAM,cAAc,OAAO,cAAc,OAAO,CAAC,WAAW,OAAO,OAAO,OAAO;AACjF,QAAI;AAAa,aAAO,YAAY;AACpC,WAAO;AAAA;AAET,MAAI,cAAc;AAChB,WAAO,aAAa;AAAA;AAGtB,SAAO;AAAA;AAGF,0BAA0B,WAAW,SAAS;AAEnD,SAAO,gCAAO,CAAC,GAAG,SAAS,YAAY,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,OAAO;AAAA;AAG5D,MAAM,eAAe,CAAC,YAAY,QAAQ,OAAO,CAAC,WAAW,CAAC,OAAO;AAE5E,2BAA2B,QAAQ;AACjC,SAAO,iCACF,SADE;AAAA,IAEL,OAAO,OAAO,gBAAgB,OAAO;AAAA,IACrC,OAAO,OAAO;AAAA;AAAA;AAIX,6BAA6B,SAAS;AAC3C,QAAM,iBAAiB,iCAAQ,aAAa,UAAU,CAAC,WAAW,OAAO;AACzE,SAAO,OAAO,KAAK,gBAAgB,OACjC,CAAC,aAAa,UAAU;AACtB,UAAM,SAAS,eAAe;AAC9B,QAAI,MAAM,QAAQ,WAAW,OAAO,SAAS,GAAG;AAE9C,kBAAY,MAAM,KAAK;AAAA,QACrB,WAAW;AAAA,QACX,OAAO,OAAO,IAAI;AAAA;AAAA,WAEf;AACL,kBAAY,MAAM,KAAK,kBAAkB,OAAO;AAAA;AAElD,WAAO;AAAA,KAET,EAAE,WAAW,OAAO,OAAO;AAAA;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,0BAMO;AAEA,MAAM,iBAAiB,CAAC,QAAQ,UAAW,OAAO,eAAe,OAAO,aAAa,UAAU,QAAQ;AAEvG,MAAM,kBAAkB,CAAC,QAAQ,SACtC,gCAAO,MAAM,kCAAS,OAAO,YAAY,OAAO,QAAQ,CAAC,EACtD,IAAI,CAAC,QAAQ;AACZ,QAAM,QAAQ,6BAAI,KAAK,OAAO,YAAY,OAAO,QAAQ;AACzD,MAAI,UAAU;AAAW,WAAO,CAAC;AACjC,QAAM,iBAAiB,OAAO,6BAAI,KAAK,OAAO,YAAY,OAAO,QAAQ,CAAC;AAC1E,MAAI,oCAAW,OAAO,mBAAmB,GAAG;AAC1C,UAAM,YAAY,OAAO,oBAAoB,cAAc;AAC3D,WAAO,EAAE,IAAI,WAAW,OAAO,UAAU;AAAA,EAC3C;AACA,QAAM,QAAQ,eAAe,QAAQ,cAAc;AACnD,SAAO,EAAE,IAAI,kBAAkB,OAAO,MAAM;AAC9C,CAAC,EACA,OAAO,CAAC,QAAQ,IAAI,EAAE,EACtB,OAAO,CAAC,QAAQ;AACf,MAAI,IAAI,GAAG;AAAY,WAAO,CAAC,IAAI,GAAG,WAAW,YAAY;AAC7D,SAAO;AACT,CAAC;AAEE,MAAM,uBAAuB,CAAC,QAAQ,SAAS;AACpD,MAAI,OAAO,CAAC;AACZ,OAAK,QAAQ,CAAC,MAAM;AAClB,QAAI,EAAE,UAAU;AACd,aAAO,CAAC,GAAG,MAAM,GAAG,EAAE,QAAQ;AAAA,IAChC;AAAA,EACF,CAAC;AACD,SAAO,gBAAgB,QAAQ,IAAI;AACrC;AAEO,wBAAwB,QAAQ,QAAQ;AAC7C,QAAM,EAAE,UAAU;AAElB,MAAI,CAAC;AAAQ,WAAO;AAEpB,QAAM,EAAE,eAAe,iBAAiB;AAExC,MAAI,eAAe;AACjB,UAAM,cAAc,OAAO,cAAc,OAAO,CAAC,WAAW,OAAO,OAAO,KAAK,EAAE;AACjF,QAAI;AAAa,aAAO,YAAY;AACpC,WAAO;AAAA,EACT;AACA,MAAI,cAAc;AAChB,WAAO,aAAa;AAAA,EACtB;AAEA,SAAO;AACT;AAEO,0BAA0B,WAAW,SAAS;AAEnD,SAAO,gCAAO,CAAC,GAAG,SAAS,SAAS,GAAG,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC;AACzE;AAEO,MAAM,eAAe,CAAC,YAAY,QAAQ,OAAO,CAAC,WAAW,CAAC,OAAO,KAAK;AAEjF,2BAA2B,QAAQ;AACjC,SAAO,iCACF,SADE;AAAA,IAEL,OAAO,OAAO,gBAAgB,OAAO;AAAA,IACrC,OAAO,OAAO;AAAA,EAChB;AACF;AAEO,6BAA6B,SAAS;AAC3C,QAAM,iBAAiB,iCAAQ,aAAa,OAAO,GAAG,CAAC,WAAW,OAAO,KAAK;AAC9E,SAAO,OAAO,KAAK,cAAc,EAAE,OACjC,CAAC,aAAa,UAAU;AACtB,UAAM,SAAS,eAAe;AAC9B,QAAI,MAAM,QAAQ,MAAM,KAAK,OAAO,SAAS,GAAG;AAE9C,kBAAY,MAAM,KAAK;AAAA,QACrB,WAAW;AAAA,QACX,OAAO,OAAO,IAAI,iBAAiB;AAAA,MACrC,CAAC;AAAA,IACH,OAAO;AACL,kBAAY,MAAM,KAAK,kBAAkB,OAAO,EAAE,CAAC;AAAA,IACrD;AACA,WAAO;AAAA,EACT,GACA,EAAE,WAAW,OAAO,OAAO,CAAC,EAAE,CAChC;AACF;",
6
6
  "names": []
7
7
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/plugins/filterable/useFilterableState.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["import { useMemo, useState, useEffect } from 'react';\nimport { v4 as uuidv4 } from 'uuid';\nimport {\n buildFilterArray,\n getFilterValue,\n parseFiltersToQuery,\n} from './helper';\n\nconst noop = () => null;\n\nexport function useFilterableState(grid) {\n const {\n filters: filtersProp,\n onAddFilter = noop,\n onRemoveFilter = noop,\n onRemoveAllFilters = noop,\n onFiltersChange = noop,\n } = grid.props;\n\n const [filters, setFilters] = useState(filtersProp || []);\n\n useEffect(() => {\n if (filtersProp && filtersProp !== filters) {\n setFilters(filtersProp);\n }\n }, [filtersProp]);\n\n const queryFromFilters = useMemo(() => parseFiltersToQuery(filters || []), [\n filters,\n ]);\n\n const handleFiltersChange = (nextFilters) => {\n const {\n refs: { body },\n } = grid.getInstance();\n body.current.scrollTop = 0;\n setFilters(nextFilters);\n grid.observeRows((rows) =>\n onFiltersChange(nextFilters, queryFromFilters, rows),\n );\n };\n\n const addFilter = (filter, column) => {\n let hasBeenCalled = false;\n const trimmedFilter = {\n ...filter,\n value: String(filter.value).trim(),\n };\n /* eslint-disable indent */\n const parsedFilter = !filter.group\n ? {\n ...trimmedFilter,\n value: String(filter.value).trim(),\n group: 'all',\n label: 'All',\n id: uuidv4(),\n }\n : {\n ...trimmedFilter,\n value: String(filter.value).trim(),\n id: uuidv4(),\n label: (column && column.filterLabel) || trimmedFilter.label,\n originalProperty: column.originalProperty || column.property,\n customValue: getFilterValue(trimmedFilter, column),\n };\n /* eslint-enable indent */\n setFilters((prevFilters) => {\n // This was setted for an issue that was recalling this function on the handleFiltersChange\n if (hasBeenCalled) {\n return;\n }\n hasBeenCalled = true;\n\n const nextFilters = buildFilterArray(parsedFilter, prevFilters);\n handleFiltersChange(nextFilters, true);\n onAddFilter(parsedFilter, nextFilters, column);\n });\n };\n\n const removeFilter = ({ group, pill, nextFilters }) => {\n onRemoveFilter(group, pill.value, nextFilters);\n handleFiltersChange(nextFilters);\n };\n\n const removeAllFilters = () => {\n onRemoveAllFilters();\n handleFiltersChange([]);\n };\n return {\n actions: {\n addFilter,\n removeFilter,\n removeAllFilters,\n },\n state: {\n query: queryFromFilters,\n filters,\n },\n };\n}\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAA6C;AAC7C,kBAA6B;AAC7B,oBAIO;AAEP,MAAM,OAAO,MAAM;AAEZ,4BAA4B,MAAM;AACvC,QAAM;AAAA,IACJ,SAAS;AAAA,IACT,cAAc;AAAA,IACd,iBAAiB;AAAA,IACjB,qBAAqB;AAAA,IACrB,kBAAkB;AAAA,MAChB,KAAK;AAET,QAAM,CAAC,SAAS,cAAc,2BAAS,eAAe;AAEtD,8BAAU,MAAM;AACd,QAAI,eAAe,gBAAgB,SAAS;AAC1C,iBAAW;AAAA;AAAA,KAEZ,CAAC;AAEJ,QAAM,mBAAmB,0BAAQ,MAAM,uCAAoB,WAAW,KAAK;AAAA,IACzE;AAAA;AAGF,QAAM,sBAAsB,CAAC,gBAAgB;AAC3C,UAAM;AAAA,MACJ,MAAM,EAAE;AAAA,QACN,KAAK;AACT,SAAK,QAAQ,YAAY;AACzB,eAAW;AACX,SAAK,YAAY,CAAC,SAChB,gBAAgB,aAAa,kBAAkB;AAAA;AAInD,QAAM,YAAY,CAAC,QAAQ,WAAW;AACpC,QAAI,gBAAgB;AACpB,UAAM,gBAAgB,iCACjB,SADiB;AAAA,MAEpB,OAAO,OAAO,OAAO,OAAO;AAAA;AAG9B,UAAM,eAAe,CAAC,OAAO,QACzB,iCACK,gBADL;AAAA,MAEE,OAAO,OAAO,OAAO,OAAO;AAAA,MAC5B,OAAO;AAAA,MACP,OAAO;AAAA,MACP,IAAI;AAAA,SAEN,iCACK,gBADL;AAAA,MAEE,OAAO,OAAO,OAAO,OAAO;AAAA,MAC5B,IAAI;AAAA,MACJ,OAAQ,UAAU,OAAO,eAAgB,cAAc;AAAA,MACvD,kBAAkB,OAAO,oBAAoB,OAAO;AAAA,MACpD,aAAa,kCAAe,eAAe;AAAA;AAGjD,eAAW,CAAC,gBAAgB;AAE1B,UAAI,eAAe;AACjB;AAAA;AAEF,sBAAgB;AAEhB,YAAM,cAAc,oCAAiB,cAAc;AACnD,0BAAoB,aAAa;AACjC,kBAAY,cAAc,aAAa;AAAA;AAAA;AAI3C,QAAM,eAAe,CAAC,EAAE,OAAO,MAAM,kBAAkB;AACrD,mBAAe,OAAO,KAAK,OAAO;AAClC,wBAAoB;AAAA;AAGtB,QAAM,mBAAmB,MAAM;AAC7B;AACA,wBAAoB;AAAA;AAEtB,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA;AAAA,IAEF,OAAO;AAAA,MACL,OAAO;AAAA,MACP;AAAA;AAAA;AAAA;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAA6C;AAC7C,kBAA6B;AAC7B,oBAIO;AAEP,MAAM,OAAO,MAAM;AAEZ,4BAA4B,MAAM;AACvC,QAAM;AAAA,IACJ,SAAS;AAAA,IACT,cAAc;AAAA,IACd,iBAAiB;AAAA,IACjB,qBAAqB;AAAA,IACrB,kBAAkB;AAAA,MAChB,KAAK;AAET,QAAM,CAAC,SAAS,cAAc,2BAAS,eAAe,CAAC,CAAC;AAExD,8BAAU,MAAM;AACd,QAAI,eAAe,gBAAgB,SAAS;AAC1C,iBAAW,WAAW;AAAA,IACxB;AAAA,EACF,GAAG,CAAC,WAAW,CAAC;AAEhB,QAAM,mBAAmB,0BAAQ,MAAM,uCAAoB,WAAW,CAAC,CAAC,GAAG;AAAA,IACzE;AAAA,EACF,CAAC;AAED,QAAM,sBAAsB,CAAC,gBAAgB;AAC3C,UAAM;AAAA,MACJ,MAAM,EAAE;AAAA,QACN,KAAK,YAAY;AACrB,SAAK,QAAQ,YAAY;AACzB,eAAW,WAAW;AACtB,SAAK,YAAY,CAAC,SAChB,gBAAgB,aAAa,kBAAkB,IAAI,CACrD;AAAA,EACF;AAEA,QAAM,YAAY,CAAC,QAAQ,WAAW;AACpC,QAAI,gBAAgB;AACpB,UAAM,gBAAgB,iCACjB,SADiB;AAAA,MAEpB,OAAO,OAAO,OAAO,KAAK,EAAE,KAAK;AAAA,IACnC;AAEA,UAAM,eAAe,CAAC,OAAO,QACzB,iCACK,gBADL;AAAA,MAEE,OAAO,OAAO,OAAO,KAAK,EAAE,KAAK;AAAA,MACjC,OAAO;AAAA,MACP,OAAO;AAAA,MACP,IAAI,oBAAO;AAAA,IACb,KACA,iCACK,gBADL;AAAA,MAEE,OAAO,OAAO,OAAO,KAAK,EAAE,KAAK;AAAA,MACjC,IAAI,oBAAO;AAAA,MACX,OAAQ,UAAU,OAAO,eAAgB,cAAc;AAAA,MACvD,kBAAkB,OAAO,oBAAoB,OAAO;AAAA,MACpD,aAAa,kCAAe,eAAe,MAAM;AAAA,IACnD;AAEJ,eAAW,CAAC,gBAAgB;AAE1B,UAAI,eAAe;AACjB;AAAA,MACF;AACA,sBAAgB;AAEhB,YAAM,cAAc,oCAAiB,cAAc,WAAW;AAC9D,0BAAoB,aAAa,IAAI;AACrC,kBAAY,cAAc,aAAa,MAAM;AAAA,IAC/C,CAAC;AAAA,EACH;AAEA,QAAM,eAAe,CAAC,EAAE,OAAO,MAAM,kBAAkB;AACrD,mBAAe,OAAO,KAAK,OAAO,WAAW;AAC7C,wBAAoB,WAAW;AAAA,EACjC;AAEA,QAAM,mBAAmB,MAAM;AAC7B,uBAAmB;AACnB,wBAAoB,CAAC,CAAC;AAAA,EACxB;AACA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,OAAO;AAAA,MACL,OAAO;AAAA,MACP;AAAA,IACF;AAAA,EACF;AACF;",
6
6
  "names": []
7
7
  }
@@ -30,7 +30,7 @@ __export(GroupingByPlugin_exports, {
30
30
  GroupingByPlugin: () => GroupingByPlugin
31
31
  });
32
32
  var React = __toESM(require("react"));
33
- var import_createInstancePlugin = require("@elliemae/ds-shared/createDataInstance/createInstancePlugin");
33
+ var import_ds_shared = require("@elliemae/ds-shared");
34
34
  var import_lodash = require("lodash");
35
35
  const groupedByData = (groupedBy, composedRows) => {
36
36
  const grouped = (0, import_lodash.groupBy)(composedRows, groupedBy);
@@ -43,7 +43,7 @@ const groupedByData = (groupedBy, composedRows) => {
43
43
  isGroup: true
44
44
  }));
45
45
  };
46
- const GroupingByPlugin = (0, import_createInstancePlugin.createInstancePlugin)("groupedByRows", {
46
+ const GroupingByPlugin = (0, import_ds_shared.createInstancePlugin)("groupedByRows", {
47
47
  decorateGrid(grid) {
48
48
  const {
49
49
  composedRows,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/plugins/grouping-by/GroupingByPlugin.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["import { createInstancePlugin } from '@elliemae/ds-shared/createDataInstance/createInstancePlugin';\nimport { groupBy } from 'lodash';\n\nconst groupedByData = (groupedBy, composedRows) => {\n const grouped = groupBy(composedRows, groupedBy);\n return Object.keys(grouped).map((c, key) => ({\n id: `grouped-by-${groupedBy}-${key}`,\n key: groupedBy,\n value: c,\n children: grouped[c],\n _isGroup: true,\n isGroup: true,\n }));\n};\n\nexport const GroupingByPlugin = createInstancePlugin('groupedByRows', {\n decorateGrid(grid) {\n const {\n composedRows,\n props: { groupedBy },\n } = grid.getInstance();\n grid.composedRows = groupedBy\n ? groupedByData(groupedBy, composedRows)\n : composedRows;\n return grid;\n },\n});\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,kCAAqC;AACrC,oBAAwB;AAExB,MAAM,gBAAgB,CAAC,WAAW,iBAAiB;AACjD,QAAM,UAAU,2BAAQ,cAAc;AACtC,SAAO,OAAO,KAAK,SAAS,IAAI,CAAC,GAAG,QAAS;AAAA,IAC3C,IAAI,cAAc,aAAa;AAAA,IAC/B,KAAK;AAAA,IACL,OAAO;AAAA,IACP,UAAU,QAAQ;AAAA,IAClB,UAAU;AAAA,IACV,SAAS;AAAA;AAAA;AAIN,MAAM,mBAAmB,sDAAqB,iBAAiB;AAAA,EACpE,aAAa,MAAM;AACjB,UAAM;AAAA,MACJ;AAAA,MACA,OAAO,EAAE;AAAA,QACP,KAAK;AACT,SAAK,eAAe,YAChB,cAAc,WAAW,gBACzB;AACJ,WAAO;AAAA;AAAA;",
4
+ "sourcesContent": ["import { createInstancePlugin } from '@elliemae/ds-shared';\nimport { groupBy } from 'lodash';\n\nconst groupedByData = (groupedBy, composedRows) => {\n const grouped = groupBy(composedRows, groupedBy);\n return Object.keys(grouped).map((c, key) => ({\n id: `grouped-by-${groupedBy}-${key}`,\n key: groupedBy,\n value: c,\n children: grouped[c],\n _isGroup: true,\n isGroup: true,\n }));\n};\n\nexport const GroupingByPlugin = createInstancePlugin('groupedByRows', {\n decorateGrid(grid) {\n const {\n composedRows,\n props: { groupedBy },\n } = grid.getInstance();\n grid.composedRows = groupedBy ? groupedByData(groupedBy, composedRows) : composedRows;\n return grid;\n },\n});\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,uBAAqC;AACrC,oBAAwB;AAExB,MAAM,gBAAgB,CAAC,WAAW,iBAAiB;AACjD,QAAM,UAAU,2BAAQ,cAAc,SAAS;AAC/C,SAAO,OAAO,KAAK,OAAO,EAAE,IAAI,CAAC,GAAG,QAAS;AAAA,IAC3C,IAAI,cAAc,aAAa;AAAA,IAC/B,KAAK;AAAA,IACL,OAAO;AAAA,IACP,UAAU,QAAQ;AAAA,IAClB,UAAU;AAAA,IACV,SAAS;AAAA,EACX,EAAE;AACJ;AAEO,MAAM,mBAAmB,2CAAqB,iBAAiB;AAAA,EACpE,aAAa,MAAM;AACjB,UAAM;AAAA,MACJ;AAAA,MACA,OAAO,EAAE;AAAA,QACP,KAAK,YAAY;AACrB,SAAK,eAAe,YAAY,cAAc,WAAW,YAAY,IAAI;AACzE,WAAO;AAAA,EACT;AACF,CAAC;",
6
6
  "names": []
7
7
  }
@@ -60,7 +60,7 @@ __export(GroupingPlugin_exports, {
60
60
  });
61
61
  var React = __toESM(require("react"));
62
62
  var import_react = __toESM(require("react"));
63
- var import_createInstancePlugin = require("@elliemae/ds-shared/createDataInstance/createInstancePlugin");
63
+ var import_ds_shared = require("@elliemae/ds-shared");
64
64
  var import_ds_classnames = require("@elliemae/ds-classnames");
65
65
  var import_react_window = require("react-window");
66
66
  var import_walkStrategy = require("./walkStrategy");
@@ -69,7 +69,7 @@ var import_blockNames = require("../../blockNames");
69
69
  const blockName = `${import_blockNames.dataGridBlockName}-group-row-header`;
70
70
  const GroupRowHeaderWrapper = (0, import_ds_classnames.aggregatedClasses)("div")(blockName);
71
71
  const GroupRowHeaderTitle = (0, import_ds_classnames.aggregatedClasses)("div")(blockName, "title");
72
- const GroupingPlugin = (0, import_createInstancePlugin.createInstancePlugin)("groupedRows", {
72
+ const GroupingPlugin = (0, import_ds_shared.createInstancePlugin)("groupedRows", {
73
73
  decorateGrid(grid) {
74
74
  const { columns, composedRows } = grid.getInstance();
75
75
  const detailColumns = (0, import_react.useMemo)(() => columns.map((column) => __spreadProps(__spreadValues({}, column), {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/plugins/grouping-grid/GroupingPlugin.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["/* eslint-disable max-lines */\n/* eslint-disable no-underscore-dangle */\nimport React, { useMemo } from 'react';\nimport { createInstancePlugin } from '@elliemae/ds-shared/createDataInstance/createInstancePlugin';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport { VariableSizeList } from 'react-window';\nimport { walkTreeStrategy } from './walkStrategy';\nimport { RowSizes } from '../../rowSizes';\nimport { dataGridBlockName } from '../../blockNames';\n\nconst blockName = `${dataGridBlockName}-group-row-header`;\nconst GroupRowHeaderWrapper = aggregatedClasses('div')(blockName);\nconst GroupRowHeaderTitle = aggregatedClasses('div')(blockName, 'title');\n\nexport const GroupingPlugin = createInstancePlugin('groupedRows', {\n decorateGrid(grid) {\n const { columns, composedRows } = grid.getInstance();\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const detailColumns = useMemo(\n () =>\n columns\n .map((column) => ({\n ...column,\n customRenderer: column.detailCustomRenderer,\n }))\n .filter((col) => !col.expandableColumn),\n [columns],\n );\n const flatRows = [];\n walkTreeStrategy({\n data: composedRows,\n cb: (n) => flatRows.push(n),\n });\n return {\n detailColumns,\n composedRows: flatRows,\n };\n },\n getBodyProps(bodyProps, grid) {\n const { composedRows: rows } = grid.getInstance();\n // implementation of expandable row single column with aggregation\n const getItemSize = (index) => {\n const rowData = rows[index];\n if (!rowData) return RowSizes.normal;\n return rowData._isGroup || rowData.isGroup\n ? RowSizes.compact\n : RowSizes.normal;\n };\n // eslint-disable-next-line no-unused-vars\n const getListHeight = () => {\n const size = rows.reduce((h, r) => {\n const rowHeight =\n r._isGroup || r.isGroup ? RowSizes.compact : RowSizes.normal;\n return h + rowHeight;\n }, 0);\n return size;\n };\n return {\n ...bodyProps,\n getListHeight,\n listComponent: VariableSizeList,\n listProps: { itemSize: getItemSize },\n };\n },\n composeRows: (rows, grid) => {\n const {\n composedRows,\n props: { rowKey },\n } = grid.getInstance();\n\n if (Array.isArray(rows)) {\n const filterIds = rows.map((r) => r.data[rowKey]);\n return composedRows\n .filter((c) => filterIds.includes(c.data[rowKey]))\n .map((r) => ({\n ...r.data,\n children: Array.isArray(r.data.children)\n ? r.data.children.filter((c) => filterIds.includes(c[rowKey]))\n : r.data.children,\n _isGroup: r.isGroup,\n }))\n .filter((g) => g.children === undefined || g.children.length > 0);\n }\n return {\n ...rows,\n allRows: rows.allRows.map((r) => ({\n ...r.data,\n _isGroup: r.isGroup,\n })),\n rows: rows.rows.map((r) => ({\n ...r.data,\n _isGroup: r.isGroup,\n })),\n };\n },\n decorateRenderers(renderers, grid) {\n const Row = renderers.body.row;\n // eslint-disable-next-line react-hooks/rules-of-hooks\n renderers.body.row = useMemo(\n () =>\n // eslint-disable-next-line react/display-name\n // eslint-disable-next-line react/prop-types\n ({ isExpanded, ...rowProps }) => {\n const { composedRows } = grid.getInstance();\n // // https://jira.elliemae.io/browse/PUI-1667\n const node = composedRows[rowProps.index]\n ? composedRows[rowProps.index]\n : rowProps.rowData;\n const { groupedRowsRenderHeader } = grid.props;\n // eslint-disable-next-line no-underscore-dangle\n if (node && node._isGroup) {\n return (\n <>\n <GroupRowHeaderWrapper {...rowProps}>\n <GroupRowHeaderTitle>\n {groupedRowsRenderHeader\n ? groupedRowsRenderHeader(node)\n : 'Group'}\n </GroupRowHeaderTitle>\n </GroupRowHeaderWrapper>\n </>\n );\n }\n return <Row {...rowProps} />;\n },\n [],\n );\n\n return renderers;\n },\n});\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/* eslint-disable max-lines */\n/* eslint-disable no-underscore-dangle */\nimport React, { useMemo } from 'react';\nimport { createInstancePlugin } from '@elliemae/ds-shared';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport { VariableSizeList } from 'react-window';\nimport { walkTreeStrategy } from './walkStrategy';\nimport { RowSizes } from '../../rowSizes';\nimport { dataGridBlockName } from '../../blockNames';\n\nconst blockName = `${dataGridBlockName}-group-row-header`;\nconst GroupRowHeaderWrapper = aggregatedClasses('div')(blockName);\nconst GroupRowHeaderTitle = aggregatedClasses('div')(blockName, 'title');\n\nexport const GroupingPlugin = createInstancePlugin('groupedRows', {\n decorateGrid(grid) {\n const { columns, composedRows } = grid.getInstance();\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const detailColumns = useMemo(\n () =>\n columns\n .map((column) => ({\n ...column,\n customRenderer: column.detailCustomRenderer,\n }))\n .filter((col) => !col.expandableColumn),\n [columns],\n );\n const flatRows = [];\n walkTreeStrategy({\n data: composedRows,\n cb: (n) => flatRows.push(n),\n });\n return {\n detailColumns,\n composedRows: flatRows,\n };\n },\n getBodyProps(bodyProps, grid) {\n const { composedRows: rows } = grid.getInstance();\n // implementation of expandable row single column with aggregation\n const getItemSize = (index) => {\n const rowData = rows[index];\n if (!rowData) return RowSizes.normal;\n return rowData._isGroup || rowData.isGroup ? RowSizes.compact : RowSizes.normal;\n };\n // eslint-disable-next-line no-unused-vars\n const getListHeight = () => {\n const size = rows.reduce((h, r) => {\n const rowHeight = r._isGroup || r.isGroup ? RowSizes.compact : RowSizes.normal;\n return h + rowHeight;\n }, 0);\n return size;\n };\n return {\n ...bodyProps,\n getListHeight,\n listComponent: VariableSizeList,\n listProps: { itemSize: getItemSize },\n };\n },\n composeRows: (rows, grid) => {\n const {\n composedRows,\n props: { rowKey },\n } = grid.getInstance();\n\n if (Array.isArray(rows)) {\n const filterIds = rows.map((r) => r.data[rowKey]);\n return composedRows\n .filter((c) => filterIds.includes(c.data[rowKey]))\n .map((r) => ({\n ...r.data,\n children: Array.isArray(r.data.children)\n ? r.data.children.filter((c) => filterIds.includes(c[rowKey]))\n : r.data.children,\n _isGroup: r.isGroup,\n }))\n .filter((g) => g.children === undefined || g.children.length > 0);\n }\n return {\n ...rows,\n allRows: rows.allRows.map((r) => ({\n ...r.data,\n _isGroup: r.isGroup,\n })),\n rows: rows.rows.map((r) => ({\n ...r.data,\n _isGroup: r.isGroup,\n })),\n };\n },\n decorateRenderers(renderers, grid) {\n const Row = renderers.body.row;\n // eslint-disable-next-line react-hooks/rules-of-hooks\n renderers.body.row = useMemo(\n () =>\n // eslint-disable-next-line react/display-name\n // eslint-disable-next-line react/prop-types\n ({ isExpanded, ...rowProps }) => {\n const { composedRows } = grid.getInstance();\n // // https://jira.elliemae.io/browse/PUI-1667\n const node = composedRows[rowProps.index] ? composedRows[rowProps.index] : rowProps.rowData;\n const { groupedRowsRenderHeader } = grid.props;\n // eslint-disable-next-line no-underscore-dangle\n if (node && node._isGroup) {\n return (\n <>\n <GroupRowHeaderWrapper {...rowProps}>\n <GroupRowHeaderTitle>\n {groupedRowsRenderHeader ? groupedRowsRenderHeader(node) : 'Group'}\n </GroupRowHeaderTitle>\n </GroupRowHeaderWrapper>\n </>\n );\n }\n return <Row {...rowProps} />;\n },\n [],\n );\n\n return renderers;\n },\n});\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/plugins/grouping-grid/walkStrategy.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["function getPath(parentNode, index, childrenKey) {\n if (!parentNode) return [index];\n return [...parentNode.path, childrenKey, index];\n}\n\nexport function walkTreeStrategy({\n data,\n childrenKey = 'children',\n level = 0,\n getId = item => item.id,\n parentNode,\n shouldWalkChildren = () => true,\n cb,\n}) {\n // eslint-disable-next-line no-loops/no-loops,no-plusplus\n for (let i = 0; i < data.length; i++) {\n const currLevel = level + 1;\n const children = data[i][childrenKey];\n const isGroup = children && !!children.length;\n const node = {\n index: i,\n id: getId(data[i]),\n data: data[i],\n path: getPath(parentNode, i, childrenKey),\n isGroup,\n nestingLevel: currLevel,\n parentNode: parentNode || {\n isGroup: true,\n data: { children: data },\n },\n };\n cb(node);\n if (shouldWalkChildren(node) && children && children.length) {\n walkTreeStrategy({\n data: children,\n level: currLevel,\n parentNode: node,\n shouldWalkChildren,\n cb,\n });\n }\n }\n}\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,iBAAiB,YAAY,OAAO,aAAa;AAC/C,MAAI,CAAC;AAAY,WAAO,CAAC;AACzB,SAAO,CAAC,GAAG,WAAW,MAAM,aAAa;AAAA;AAGpC,0BAA0B;AAAA,EAC/B;AAAA,EACA,cAAc;AAAA,EACd,QAAQ;AAAA,EACR,QAAQ,UAAQ,KAAK;AAAA,EACrB;AAAA,EACA,qBAAqB,MAAM;AAAA,EAC3B;AAAA,GACC;AAED,WAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AACpC,UAAM,YAAY,QAAQ;AAC1B,UAAM,WAAW,KAAK,GAAG;AACzB,UAAM,UAAU,YAAY,CAAC,CAAC,SAAS;AACvC,UAAM,OAAO;AAAA,MACX,OAAO;AAAA,MACP,IAAI,MAAM,KAAK;AAAA,MACf,MAAM,KAAK;AAAA,MACX,MAAM,QAAQ,YAAY,GAAG;AAAA,MAC7B;AAAA,MACA,cAAc;AAAA,MACd,YAAY,cAAc;AAAA,QACxB,SAAS;AAAA,QACT,MAAM,EAAE,UAAU;AAAA;AAAA;AAGtB,OAAG;AACH,QAAI,mBAAmB,SAAS,YAAY,SAAS,QAAQ;AAC3D,uBAAiB;AAAA,QACf,MAAM;AAAA,QACN,OAAO;AAAA,QACP,YAAY;AAAA,QACZ;AAAA,QACA;AAAA;AAAA;AAAA;AAAA;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,iBAAiB,YAAY,OAAO,aAAa;AAC/C,MAAI,CAAC;AAAY,WAAO,CAAC,KAAK;AAC9B,SAAO,CAAC,GAAG,WAAW,MAAM,aAAa,KAAK;AAChD;AAEO,0BAA0B;AAAA,EAC/B;AAAA,EACA,cAAc;AAAA,EACd,QAAQ;AAAA,EACR,QAAQ,UAAQ,KAAK;AAAA,EACrB;AAAA,EACA,qBAAqB,MAAM;AAAA,EAC3B;AAAA,GACC;AAED,WAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AACpC,UAAM,YAAY,QAAQ;AAC1B,UAAM,WAAW,KAAK,GAAG;AACzB,UAAM,UAAU,YAAY,CAAC,CAAC,SAAS;AACvC,UAAM,OAAO;AAAA,MACX,OAAO;AAAA,MACP,IAAI,MAAM,KAAK,EAAE;AAAA,MACjB,MAAM,KAAK;AAAA,MACX,MAAM,QAAQ,YAAY,GAAG,WAAW;AAAA,MACxC;AAAA,MACA,cAAc;AAAA,MACd,YAAY,cAAc;AAAA,QACxB,SAAS;AAAA,QACT,MAAM,EAAE,UAAU,KAAK;AAAA,MACzB;AAAA,IACF;AACA,OAAG,IAAI;AACP,QAAI,mBAAmB,IAAI,KAAK,YAAY,SAAS,QAAQ;AAC3D,uBAAiB;AAAA,QACf,MAAM;AAAA,QACN,OAAO;AAAA,QACP,YAAY;AAAA,QACZ;AAAA,QACA;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AACF;",
6
6
  "names": []
7
7
  }
@@ -60,7 +60,7 @@ __export(InfiniteScrollPlugin_exports, {
60
60
  });
61
61
  var React = __toESM(require("react"));
62
62
  var import_react = require("react");
63
- var import_createInstancePlugin = require("@elliemae/ds-shared/createDataInstance/createInstancePlugin");
63
+ var import_ds_shared = require("@elliemae/ds-shared");
64
64
  const registerStateHook = (grid) => {
65
65
  const {
66
66
  props: { getData, onInfiniteScrolling = () => null },
@@ -121,7 +121,7 @@ const getBodyProps = (_a, grid) => {
121
121
  listProps: { outerRef: setBodyRef }
122
122
  });
123
123
  };
124
- const InfiniteScrollPlugin = (0, import_createInstancePlugin.createInstancePlugin)("infinite-scroll", {
124
+ const InfiniteScrollPlugin = (0, import_ds_shared.createInstancePlugin)("infinite-scroll", {
125
125
  registerStateHook,
126
126
  getBodyProps
127
127
  });
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/plugins/infinite-scrolling/InfiniteScrollPlugin.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["import { useRef, useEffect, useState } from 'react';\nimport { createInstancePlugin } from '@elliemae/ds-shared/createDataInstance/createInstancePlugin';\n\n// TODO: EXPORT A SEPARATED INFINITE LOADER GRID\n\nconst registerStateHook = (grid) => {\n const {\n props: { getData, onInfiniteScrolling = () => null },\n actions: { updateRows },\n } = grid;\n\n const loading = useRef(false);\n\n const addMoreData = (data = []) => {\n loading.current = false;\n updateRows((prevRows) => prevRows.concat(data || []));\n };\n\n const doLoadData = async (currentRows) => {\n loading.current = true;\n return Promise.resolve(getData(currentRows)).then(addMoreData);\n };\n\n const loadMoreData = (currentRows) => {\n onInfiniteScrolling(currentRows);\n if (loading.current || !getData) return;\n doLoadData(currentRows);\n };\n\n return {\n actions: {\n loadMoreData,\n },\n };\n};\n\nconst getBodyProps = ({ children, ...props }, grid) => {\n const { loadMoreData } = grid.getInstance().actions;\n\n const [bodyNode, setBodyRef] = useState();\n const prevScroll = useRef();\n prevScroll.current = 0;\n\n const handleBodyScroll = (event, s) => {\n const { target } = event;\n const { scrollHeight, scrollTop, offsetHeight, scrollLeft } = target;\n const { composedRows } = grid.getInstance();\n // prevent horizontal scroll triggering infinite scrolling callbacks\n if (prevScroll.current !== scrollLeft) {\n prevScroll.current = scrollLeft;\n return;\n }\n // todo: clean this. Better approach using another component for the infinite scroll\n if (bodyNode !== target) return;\n if (scrollTop + offsetHeight >= scrollHeight - 1) {\n loadMoreData(composedRows);\n }\n };\n\n useEffect(() => {\n if (bodyNode) {\n bodyNode.addEventListener('scroll', handleBodyScroll);\n }\n return () => {\n if (bodyNode) {\n bodyNode.removeEventListener('scroll', handleBodyScroll);\n }\n };\n }, [bodyNode]);\n\n return {\n ...props,\n listProps: { outerRef: setBodyRef },\n };\n};\n\nexport const InfiniteScrollPlugin = createInstancePlugin('infinite-scroll', {\n registerStateHook,\n getBodyProps,\n});\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAA4C;AAC5C,kCAAqC;AAIrC,MAAM,oBAAoB,CAAC,SAAS;AAClC,QAAM;AAAA,IACJ,OAAO,EAAE,SAAS,sBAAsB,MAAM;AAAA,IAC9C,SAAS,EAAE;AAAA,MACT;AAEJ,QAAM,UAAU,yBAAO;AAEvB,QAAM,cAAc,CAAC,OAAO,OAAO;AACjC,YAAQ,UAAU;AAClB,eAAW,CAAC,aAAa,SAAS,OAAO,QAAQ;AAAA;AAGnD,QAAM,aAAa,OAAO,gBAAgB;AACxC,YAAQ,UAAU;AAClB,WAAO,QAAQ,QAAQ,QAAQ,cAAc,KAAK;AAAA;AAGpD,QAAM,eAAe,CAAC,gBAAgB;AACpC,wBAAoB;AACpB,QAAI,QAAQ,WAAW,CAAC;AAAS;AACjC,eAAW;AAAA;AAGb,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA;AAAA;AAAA;AAKN,MAAM,eAAe,CAAC,IAAwB,SAAS;AAAjC,eAAE,eAAF,IAAe,kBAAf,IAAe,CAAb;AACtB,QAAM,EAAE,iBAAiB,KAAK,cAAc;AAE5C,QAAM,CAAC,UAAU,cAAc;AAC/B,QAAM,aAAa;AACnB,aAAW,UAAU;AAErB,QAAM,mBAAmB,CAAC,OAAO,MAAM;AACrC,UAAM,EAAE,WAAW;AACnB,UAAM,EAAE,cAAc,WAAW,cAAc,eAAe;AAC9D,UAAM,EAAE,iBAAiB,KAAK;AAE9B,QAAI,WAAW,YAAY,YAAY;AACrC,iBAAW,UAAU;AACrB;AAAA;AAGF,QAAI,aAAa;AAAQ;AACzB,QAAI,YAAY,gBAAgB,eAAe,GAAG;AAChD,mBAAa;AAAA;AAAA;AAIjB,8BAAU,MAAM;AACd,QAAI,UAAU;AACZ,eAAS,iBAAiB,UAAU;AAAA;AAEtC,WAAO,MAAM;AACX,UAAI,UAAU;AACZ,iBAAS,oBAAoB,UAAU;AAAA;AAAA;AAAA,KAG1C,CAAC;AAEJ,SAAO,iCACF,QADE;AAAA,IAEL,WAAW,EAAE,UAAU;AAAA;AAAA;AAIpB,MAAM,uBAAuB,sDAAqB,mBAAmB;AAAA,EAC1E;AAAA,EACA;AAAA;",
4
+ "sourcesContent": ["import { useRef, useEffect, useState } from 'react';\nimport { createInstancePlugin } from '@elliemae/ds-shared';\n\n// TODO: EXPORT A SEPARATED INFINITE LOADER GRID\n\nconst registerStateHook = (grid) => {\n const {\n props: { getData, onInfiniteScrolling = () => null },\n actions: { updateRows },\n } = grid;\n\n const loading = useRef(false);\n\n const addMoreData = (data = []) => {\n loading.current = false;\n updateRows((prevRows) => prevRows.concat(data || []));\n };\n\n const doLoadData = async (currentRows) => {\n loading.current = true;\n return Promise.resolve(getData(currentRows)).then(addMoreData);\n };\n\n const loadMoreData = (currentRows) => {\n onInfiniteScrolling(currentRows);\n if (loading.current || !getData) return;\n doLoadData(currentRows);\n };\n\n return {\n actions: {\n loadMoreData,\n },\n };\n};\n\nconst getBodyProps = ({ children, ...props }, grid) => {\n const { loadMoreData } = grid.getInstance().actions;\n\n const [bodyNode, setBodyRef] = useState();\n const prevScroll = useRef();\n prevScroll.current = 0;\n\n const handleBodyScroll = (event, s) => {\n const { target } = event;\n const { scrollHeight, scrollTop, offsetHeight, scrollLeft } = target;\n const { composedRows } = grid.getInstance();\n // prevent horizontal scroll triggering infinite scrolling callbacks\n if (prevScroll.current !== scrollLeft) {\n prevScroll.current = scrollLeft;\n return;\n }\n // todo: clean this. Better approach using another component for the infinite scroll\n if (bodyNode !== target) return;\n if (scrollTop + offsetHeight >= scrollHeight - 1) {\n loadMoreData(composedRows);\n }\n };\n\n useEffect(() => {\n if (bodyNode) {\n bodyNode.addEventListener('scroll', handleBodyScroll);\n }\n return () => {\n if (bodyNode) {\n bodyNode.removeEventListener('scroll', handleBodyScroll);\n }\n };\n }, [bodyNode]);\n\n return {\n ...props,\n listProps: { outerRef: setBodyRef },\n };\n};\n\nexport const InfiniteScrollPlugin = createInstancePlugin('infinite-scroll', {\n registerStateHook,\n getBodyProps,\n});\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAA4C;AAC5C,uBAAqC;AAIrC,MAAM,oBAAoB,CAAC,SAAS;AAClC,QAAM;AAAA,IACJ,OAAO,EAAE,SAAS,sBAAsB,MAAM;AAAA,IAC9C,SAAS,EAAE;AAAA,MACT;AAEJ,QAAM,UAAU,yBAAO,KAAK;AAE5B,QAAM,cAAc,CAAC,OAAO,CAAC,MAAM;AACjC,YAAQ,UAAU;AAClB,eAAW,CAAC,aAAa,SAAS,OAAO,QAAQ,CAAC,CAAC,CAAC;AAAA,EACtD;AAEA,QAAM,aAAa,OAAO,gBAAgB;AACxC,YAAQ,UAAU;AAClB,WAAO,QAAQ,QAAQ,QAAQ,WAAW,CAAC,EAAE,KAAK,WAAW;AAAA,EAC/D;AAEA,QAAM,eAAe,CAAC,gBAAgB;AACpC,wBAAoB,WAAW;AAC/B,QAAI,QAAQ,WAAW,CAAC;AAAS;AACjC,eAAW,WAAW;AAAA,EACxB;AAEA,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,IACF;AAAA,EACF;AACF;AAEA,MAAM,eAAe,CAAC,IAAwB,SAAS;AAAjC,eAAE,eAAF,IAAe,kBAAf,IAAe,CAAb;AACtB,QAAM,EAAE,iBAAiB,KAAK,YAAY,EAAE;AAE5C,QAAM,CAAC,UAAU,cAAc,2BAAS;AACxC,QAAM,aAAa,yBAAO;AAC1B,aAAW,UAAU;AAErB,QAAM,mBAAmB,CAAC,OAAO,MAAM;AACrC,UAAM,EAAE,WAAW;AACnB,UAAM,EAAE,cAAc,WAAW,cAAc,eAAe;AAC9D,UAAM,EAAE,iBAAiB,KAAK,YAAY;AAE1C,QAAI,WAAW,YAAY,YAAY;AACrC,iBAAW,UAAU;AACrB;AAAA,IACF;AAEA,QAAI,aAAa;AAAQ;AACzB,QAAI,YAAY,gBAAgB,eAAe,GAAG;AAChD,mBAAa,YAAY;AAAA,IAC3B;AAAA,EACF;AAEA,8BAAU,MAAM;AACd,QAAI,UAAU;AACZ,eAAS,iBAAiB,UAAU,gBAAgB;AAAA,IACtD;AACA,WAAO,MAAM;AACX,UAAI,UAAU;AACZ,iBAAS,oBAAoB,UAAU,gBAAgB;AAAA,MACzD;AAAA,IACF;AAAA,EACF,GAAG,CAAC,QAAQ,CAAC;AAEb,SAAO,iCACF,QADE;AAAA,IAEL,WAAW,EAAE,UAAU,WAAW;AAAA,EACpC;AACF;AAEO,MAAM,uBAAuB,2CAAqB,mBAAmB;AAAA,EAC1E;AAAA,EACA;AACF,CAAC;",
6
6
  "names": []
7
7
  }
@@ -61,8 +61,7 @@ __export(PaginationPlugin_exports, {
61
61
  var React = __toESM(require("react"));
62
62
  var import_react = __toESM(require("react"));
63
63
  var import_ds_utilities = require("@elliemae/ds-utilities");
64
- var import_FocusGrid = require("@elliemae/ds-shared/FocusGroup/FocusGrid");
65
- var import_createInstancePlugin = require("@elliemae/ds-shared/createDataInstance/createInstancePlugin");
64
+ var import_ds_shared = require("@elliemae/ds-shared");
66
65
  var import_helper = require("./helper");
67
66
  var import_usePaginationState = require("./usePaginationState");
68
67
  var import_NoResults = require("../../components/NoResults");
@@ -110,7 +109,7 @@ const decorateRenderers = (renderers, grid) => {
110
109
  const BodyWrapper = renderers.body.wrapper;
111
110
  renderers.body.wrapper = (0, import_react.useMemo)(() => (props) => {
112
111
  const { hotKeys, shouldRefocus, state } = grid.getInstance();
113
- return /* @__PURE__ */ import_react.default.createElement(import_FocusGrid.FocusGrid, {
112
+ return /* @__PURE__ */ import_react.default.createElement(import_ds_shared.FocusGrid, {
114
113
  hotKeys,
115
114
  shouldRefocus: false
116
115
  }, /* @__PURE__ */ import_react.default.createElement(Body, __spreadProps(__spreadValues({}, props), {
@@ -119,7 +118,7 @@ const decorateRenderers = (renderers, grid) => {
119
118
  }, []);
120
119
  return renderers;
121
120
  };
122
- const PaginationPlugin = (0, import_createInstancePlugin.createInstancePlugin)("pagination", {
121
+ const PaginationPlugin = (0, import_ds_shared.createInstancePlugin)("pagination", {
123
122
  registerStateHook: import_usePaginationState.usePaginationState,
124
123
  decorateRenderers,
125
124
  composeRows
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/plugins/pagination/PaginationPlugin.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
4
- "sourcesContent": ["/* eslint-disable react/display-name */\nimport React, { useMemo } from 'react';\nimport { mergeRefs } from '@elliemae/ds-utilities';\nimport { FocusGrid } from '@elliemae/ds-shared/FocusGroup/FocusGrid';\nimport { createInstancePlugin } from '@elliemae/ds-shared/createDataInstance/createInstancePlugin';\nimport { paginate } from './helper';\nimport { usePaginationState } from './usePaginationState';\nimport { NoResults } from '../../components/NoResults';\n\nconst composeRows = (rows, grid) => {\n const {\n state: { pagination },\n props: { groupedRows },\n } = grid.getInstance();\n if (groupedRows) return rows; // disable pagination with grouping\n if (groupedRows) {\n const filterIds = rows.map((r) => r.id);\n return paginate(\n rows\n .filter((c) => filterIds.includes(c.id))\n .map((r) => ({\n ...r,\n _isGroup: r.isGroup,\n })),\n pagination,\n );\n }\n\n return paginate(rows, pagination);\n};\n\nconst Body = React.memo(\n ({\n component: Component,\n rows,\n rowRenderer,\n noResultsPlaceholder,\n innerRef,\n innerBodyRef, // depends on body-header-scroll-sync\n isPlaceholderActive = false,\n ...otherBodyProps\n }) => (\n <Component {...otherBodyProps} innerRef={mergeRefs(innerRef)}>\n {!isPlaceholderActive ? (\n rows.map((row, index) => rowRenderer(row, { index, rowIndex: index }, {}))\n ) : (\n <NoResults innerRef={innerRef} rowRenderer={rowRenderer}>\n {noResultsPlaceholder}\n </NoResults>\n )}\n </Component>\n ),\n);\n\nconst decorateRenderers = (renderers, grid) => {\n const BodyWrapper = renderers.body.wrapper;\n renderers.body.wrapper = useMemo(\n () => (props) => {\n const { hotKeys, shouldRefocus, state } = grid.getInstance();\n return (\n <FocusGrid hotKeys={hotKeys} shouldRefocus={false}>\n <Body {...props} component={BodyWrapper} />\n </FocusGrid>\n );\n },\n [],\n );\n return renderers;\n};\n\nexport const PaginationPlugin = createInstancePlugin('pagination', {\n registerStateHook: usePaginationState,\n decorateRenderers,\n composeRows,\n});\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,mBAA+B;AAC/B,0BAA0B;AAC1B,uBAA0B;AAC1B,kCAAqC;AACrC,oBAAyB;AACzB,gCAAmC;AACnC,uBAA0B;AAE1B,MAAM,cAAc,CAAC,MAAM,SAAS;AAClC,QAAM;AAAA,IACJ,OAAO,EAAE;AAAA,IACT,OAAO,EAAE;AAAA,MACP,KAAK;AACT,MAAI;AAAa,WAAO;AACxB,MAAI,aAAa;AACf,UAAM,YAAY,KAAK,IAAI,CAAC,MAAM,EAAE;AACpC,WAAO,4BACL,KACG,OAAO,CAAC,MAAM,UAAU,SAAS,EAAE,KACnC,IAAI,CAAC,MAAO,iCACR,IADQ;AAAA,MAEX,UAAU,EAAE;AAAA,SAEhB;AAAA;AAIJ,SAAO,4BAAS,MAAM;AAAA;AAGxB,MAAM,OAAO,qBAAM,KACjB,CAAC,OASE;AATF,eACC;AAAA,eAAW;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,sBAAsB;AAAA,MAPvB,IAQI,2BARJ,IAQI;AAAA,IAPH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,4DAAC,WAAD,iCAAe,iBAAf;AAAA,IAA+B,UAAU,mCAAU;AAAA,MAChD,CAAC,sBACA,KAAK,IAAI,CAAC,KAAK,UAAU,YAAY,KAAK,EAAE,OAAO,UAAU,SAAS,OAEtE,mDAAC,4BAAD;AAAA,IAAW;AAAA,IAAoB;AAAA,KAC5B;AAAA;AAOX,MAAM,oBAAoB,CAAC,WAAW,SAAS;AAC7C,QAAM,cAAc,UAAU,KAAK;AACnC,YAAU,KAAK,UAAU,0BACvB,MAAM,CAAC,UAAU;AACf,UAAM,EAAE,SAAS,eAAe,UAAU,KAAK;AAC/C,WACE,mDAAC,4BAAD;AAAA,MAAW;AAAA,MAAkB,eAAe;AAAA,OAC1C,mDAAC,MAAD,iCAAU,QAAV;AAAA,MAAiB,WAAW;AAAA;AAAA,KAIlC;AAEF,SAAO;AAAA;AAGF,MAAM,mBAAmB,sDAAqB,cAAc;AAAA,EACjE,mBAAmB;AAAA,EACnB;AAAA,EACA;AAAA;",
4
+ "sourcesContent": ["/* eslint-disable react/display-name */\nimport React, { useMemo } from 'react';\nimport { mergeRefs } from '@elliemae/ds-utilities';\nimport { createInstancePlugin, FocusGrid } from '@elliemae/ds-shared';\nimport { paginate } from './helper';\nimport { usePaginationState } from './usePaginationState';\nimport { NoResults } from '../../components/NoResults';\n\nconst composeRows = (rows, grid) => {\n const {\n state: { pagination },\n props: { groupedRows },\n } = grid.getInstance();\n if (groupedRows) return rows; // disable pagination with grouping\n if (groupedRows) {\n const filterIds = rows.map((r) => r.id);\n return paginate(\n rows\n .filter((c) => filterIds.includes(c.id))\n .map((r) => ({\n ...r,\n _isGroup: r.isGroup,\n })),\n pagination,\n );\n }\n\n return paginate(rows, pagination);\n};\n\nconst Body = React.memo(\n ({\n component: Component,\n rows,\n rowRenderer,\n noResultsPlaceholder,\n innerRef,\n innerBodyRef, // depends on body-header-scroll-sync\n isPlaceholderActive = false,\n ...otherBodyProps\n }) => (\n <Component {...otherBodyProps} innerRef={mergeRefs(innerRef)}>\n {!isPlaceholderActive ? (\n rows.map((row, index) => rowRenderer(row, { index, rowIndex: index }, {}))\n ) : (\n <NoResults innerRef={innerRef} rowRenderer={rowRenderer}>\n {noResultsPlaceholder}\n </NoResults>\n )}\n </Component>\n ),\n);\n\nconst decorateRenderers = (renderers, grid) => {\n const BodyWrapper = renderers.body.wrapper;\n renderers.body.wrapper = useMemo(\n () => (props) => {\n const { hotKeys, shouldRefocus, state } = grid.getInstance();\n return (\n <FocusGrid hotKeys={hotKeys} shouldRefocus={false}>\n <Body {...props} component={BodyWrapper} />\n </FocusGrid>\n );\n },\n [],\n );\n return renderers;\n};\n\nexport const PaginationPlugin = createInstancePlugin('pagination', {\n registerStateHook: usePaginationState,\n decorateRenderers,\n composeRows,\n});\n", "import * as React from 'react';\nexport { React };\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADCvB,mBAA+B;AAC/B,0BAA0B;AAC1B,uBAAgD;AAChD,oBAAyB;AACzB,gCAAmC;AACnC,uBAA0B;AAE1B,MAAM,cAAc,CAAC,MAAM,SAAS;AAClC,QAAM;AAAA,IACJ,OAAO,EAAE;AAAA,IACT,OAAO,EAAE;AAAA,MACP,KAAK,YAAY;AACrB,MAAI;AAAa,WAAO;AACxB,MAAI,aAAa;AACf,UAAM,YAAY,KAAK,IAAI,CAAC,MAAM,EAAE,EAAE;AACtC,WAAO,4BACL,KACG,OAAO,CAAC,MAAM,UAAU,SAAS,EAAE,EAAE,CAAC,EACtC,IAAI,CAAC,MAAO,iCACR,IADQ;AAAA,MAEX,UAAU,EAAE;AAAA,IACd,EAAE,GACJ,UACF;AAAA,EACF;AAEA,SAAO,4BAAS,MAAM,UAAU;AAClC;AAEA,MAAM,OAAO,qBAAM,KACjB,CAAC,OASE;AATF,eACC;AAAA,eAAW;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,sBAAsB;AAAA,MAPvB,IAQI,2BARJ,IAQI;AAAA,IAPH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,4DAAC,4CAAc,iBAAd;AAAA,IAA8B,UAAU,mCAAU,QAAQ;AAAA,MACxD,CAAC,sBACA,KAAK,IAAI,CAAC,KAAK,UAAU,YAAY,KAAK,EAAE,OAAO,UAAU,MAAM,GAAG,CAAC,CAAC,CAAC,IAEzE,mDAAC;AAAA,IAAU;AAAA,IAAoB;AAAA,KAC5B,oBACH,CAEJ;AAAA,CAEJ;AAEA,MAAM,oBAAoB,CAAC,WAAW,SAAS;AAC7C,QAAM,cAAc,UAAU,KAAK;AACnC,YAAU,KAAK,UAAU,0BACvB,MAAM,CAAC,UAAU;AACf,UAAM,EAAE,SAAS,eAAe,UAAU,KAAK,YAAY;AAC3D,WACE,mDAAC;AAAA,MAAU;AAAA,MAAkB,eAAe;AAAA,OAC1C,mDAAC,uCAAS,QAAT;AAAA,MAAgB,WAAW;AAAA,MAAa,CAC3C;AAAA,EAEJ,GACA,CAAC,CACH;AACA,SAAO;AACT;AAEO,MAAM,mBAAmB,2CAAqB,cAAc;AAAA,EACjE,mBAAmB;AAAA,EACnB;AAAA,EACA;AACF,CAAC;",
6
6
  "names": []
7
7
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/plugins/pagination/components/Pagination.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["import React from 'react';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport { Paginator } from './Paginator';\nimport { PerPageDropdown } from './PerPageDropdown';\n\nconst PaginationControls = aggregatedClasses('div')(\n 'data-grid',\n 'controls-pagination',\n);\n\nconst Pagination = ({\n paginated,\n pagination = {},\n onPerPage,\n onPageSelect,\n paginationStep = 5,\n maxPerPage = 10,\n minPerPage = 5,\n}) => {\n const { perPage } = pagination;\n if (\n pagination &&\n pagination.conditionalPagination === true &&\n paginated.amount === 1\n )\n return null;\n return paginated.amount > 0 ? (\n <PaginationControls>\n <PerPageDropdown\n max={maxPerPage}\n min={minPerPage}\n onChange={onPerPage}\n step={paginationStep}\n value={perPage}\n />\n <Paginator\n onSelect={onPageSelect}\n pages={paginated.amount}\n pagination={pagination}\n />\n </PaginationControls>\n ) : null;\n};\n\nexport { Pagination };\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAkB;AAClB,2BAAkC;AAClC,uBAA0B;AAC1B,6BAAgC;AAEhC,MAAM,qBAAqB,4CAAkB,OAC3C,aACA;AAGF,MAAM,aAAa,CAAC;AAAA,EAClB;AAAA,EACA,aAAa;AAAA,EACb;AAAA,EACA;AAAA,EACA,iBAAiB;AAAA,EACjB,aAAa;AAAA,EACb,aAAa;AAAA,MACT;AACJ,QAAM,EAAE,YAAY;AACpB,MACE,cACA,WAAW,0BAA0B,QACrC,UAAU,WAAW;AAErB,WAAO;AACT,SAAO,UAAU,SAAS,IACxB,mDAAC,oBAAD,MACE,mDAAC,wCAAD;AAAA,IACE,KAAK;AAAA,IACL,KAAK;AAAA,IACL,UAAU;AAAA,IACV,MAAM;AAAA,IACN,OAAO;AAAA,MAET,mDAAC,4BAAD;AAAA,IACE,UAAU;AAAA,IACV,OAAO,UAAU;AAAA,IACjB;AAAA,QAGF;AAAA;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAkB;AAClB,2BAAkC;AAClC,uBAA0B;AAC1B,6BAAgC;AAEhC,MAAM,qBAAqB,4CAAkB,KAAK,EAChD,aACA,qBACF;AAEA,MAAM,aAAa,CAAC;AAAA,EAClB;AAAA,EACA,aAAa,CAAC;AAAA,EACd;AAAA,EACA;AAAA,EACA,iBAAiB;AAAA,EACjB,aAAa;AAAA,EACb,aAAa;AAAA,MACT;AACJ,QAAM,EAAE,YAAY;AACpB,MACE,cACA,WAAW,0BAA0B,QACrC,UAAU,WAAW;AAErB,WAAO;AACT,SAAO,UAAU,SAAS,IACxB,mDAAC,0BACC,mDAAC;AAAA,IACC,KAAK;AAAA,IACL,KAAK;AAAA,IACL,UAAU;AAAA,IACV,MAAM;AAAA,IACN,OAAO;AAAA,GACT,GACA,mDAAC;AAAA,IACC,UAAU;AAAA,IACV,OAAO,UAAU;AAAA,IACjB;AAAA,GACF,CACF,IACE;AACN;",
6
6
  "names": []
7
7
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/plugins/pagination/components/Paginator.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["/* eslint-disable @typescript-eslint/no-unsafe-assignment */\n/* eslint-disable @typescript-eslint/no-unsafe-member-access */\nimport React from 'react';\nimport ReactPagify from 'react-pagify';\nimport segmentize from 'segmentize';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\n\nconst blockName = 'data-grid';\n\nconst PaginationContainer = aggregatedClasses('div')(blockName, 'pagination');\nconst PagifyContext = aggregatedClasses(ReactPagify?.Context)(blockName, 'pagify-pagination');\n\nconst Paginator = ({ pagination, pages, onSelect, labelPrevious = 'Previous', labelNext = 'Next' }) => {\n const prevPage = pagination.page - 1;\n const nextPage = pagination.page + 1;\n return (\n <PaginationContainer>\n <PagifyContext\n onSelect={(page) => page !== pagination.page && onSelect(page)}\n segments={segmentize({\n page: pagination.page,\n pages,\n beginPages: 1,\n endPages: 1,\n sidePages: 1,\n })}\n >\n <ReactPagify.Button className={pagination.page <= 1 ? 'button-disabled' : ''} page={prevPage}>\n {labelPrevious}\n </ReactPagify.Button>\n\n <ReactPagify.Segment field=\"beginPages\" />\n\n <ReactPagify.Ellipsis className=\"ellipsis\" nextField=\"previousPages\" previousField=\"beginPages\" />\n\n <ReactPagify.Segment field=\"previousPages\" />\n <ReactPagify.Segment className=\"selected\" field=\"centerPage\" />\n <ReactPagify.Segment field=\"nextPages\" />\n\n <ReactPagify.Ellipsis className=\"ellipsis\" nextField=\"endPages\" previousField=\"nextPages\" />\n\n <ReactPagify.Segment field=\"endPages\" />\n\n <ReactPagify.Button className={pagination.page >= pages ? 'button-disabled' : ''} page={nextPage}>\n {labelNext}\n </ReactPagify.Button>\n </PagifyContext>\n </PaginationContainer>\n );\n};\n\nexport { Paginator };\nexport default Paginator;\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADEvB,mBAAkB;AAClB,0BAAwB;AACxB,wBAAuB;AACvB,2BAAkC;AAElC,MAAM,YAAY;AAElB,MAAM,sBAAsB,4CAAkB,OAAO,WAAW;AAChE,MAAM,gBAAgB,4CAAkB,6BAAa,SAAS,WAAW;AAEzE,MAAM,YAAY,CAAC,EAAE,YAAY,OAAO,UAAU,gBAAgB,YAAY,YAAY,aAAa;AACrG,QAAM,WAAW,WAAW,OAAO;AACnC,QAAM,WAAW,WAAW,OAAO;AACnC,SACE,mDAAC,qBAAD,MACE,mDAAC,eAAD;AAAA,IACE,UAAU,CAAC,SAAS,SAAS,WAAW,QAAQ,SAAS;AAAA,IACzD,UAAU,+BAAW;AAAA,MACnB,MAAM,WAAW;AAAA,MACjB;AAAA,MACA,YAAY;AAAA,MACZ,UAAU;AAAA,MACV,WAAW;AAAA;AAAA,KAGb,mDAAC,4BAAY,QAAb;AAAA,IAAoB,WAAW,WAAW,QAAQ,IAAI,oBAAoB;AAAA,IAAI,MAAM;AAAA,KACjF,gBAGH,mDAAC,4BAAY,SAAb;AAAA,IAAqB,OAAM;AAAA,MAE3B,mDAAC,4BAAY,UAAb;AAAA,IAAsB,WAAU;AAAA,IAAW,WAAU;AAAA,IAAgB,eAAc;AAAA,MAEnF,mDAAC,4BAAY,SAAb;AAAA,IAAqB,OAAM;AAAA,MAC3B,mDAAC,4BAAY,SAAb;AAAA,IAAqB,WAAU;AAAA,IAAW,OAAM;AAAA,MAChD,mDAAC,4BAAY,SAAb;AAAA,IAAqB,OAAM;AAAA,MAE3B,mDAAC,4BAAY,UAAb;AAAA,IAAsB,WAAU;AAAA,IAAW,WAAU;AAAA,IAAW,eAAc;AAAA,MAE9E,mDAAC,4BAAY,SAAb;AAAA,IAAqB,OAAM;AAAA,MAE3B,mDAAC,4BAAY,QAAb;AAAA,IAAoB,WAAW,WAAW,QAAQ,QAAQ,oBAAoB;AAAA,IAAI,MAAM;AAAA,KACrF;AAAA;AAQX,IAAO,oBAAQ;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADEvB,mBAAkB;AAClB,0BAAwB;AACxB,wBAAuB;AACvB,2BAAkC;AAElC,MAAM,YAAY;AAElB,MAAM,sBAAsB,4CAAkB,KAAK,EAAE,WAAW,YAAY;AAC5E,MAAM,gBAAgB,4CAAkB,6BAAa,OAAO,EAAE,WAAW,mBAAmB;AAE5F,MAAM,YAAY,CAAC,EAAE,YAAY,OAAO,UAAU,gBAAgB,YAAY,YAAY,aAAa;AACrG,QAAM,WAAW,WAAW,OAAO;AACnC,QAAM,WAAW,WAAW,OAAO;AACnC,SACE,mDAAC,2BACC,mDAAC;AAAA,IACC,UAAU,CAAC,SAAS,SAAS,WAAW,QAAQ,SAAS,IAAI;AAAA,IAC7D,UAAU,+BAAW;AAAA,MACnB,MAAM,WAAW;AAAA,MACjB;AAAA,MACA,YAAY;AAAA,MACZ,UAAU;AAAA,MACV,WAAW;AAAA,IACb,CAAC;AAAA,KAED,mDAAC,4BAAY,QAAZ;AAAA,IAAmB,WAAW,WAAW,QAAQ,IAAI,oBAAoB;AAAA,IAAI,MAAM;AAAA,KACjF,aACH,GAEA,mDAAC,4BAAY,SAAZ;AAAA,IAAoB,OAAM;AAAA,GAAa,GAExC,mDAAC,4BAAY,UAAZ;AAAA,IAAqB,WAAU;AAAA,IAAW,WAAU;AAAA,IAAgB,eAAc;AAAA,GAAa,GAEhG,mDAAC,4BAAY,SAAZ;AAAA,IAAoB,OAAM;AAAA,GAAgB,GAC3C,mDAAC,4BAAY,SAAZ;AAAA,IAAoB,WAAU;AAAA,IAAW,OAAM;AAAA,GAAa,GAC7D,mDAAC,4BAAY,SAAZ;AAAA,IAAoB,OAAM;AAAA,GAAY,GAEvC,mDAAC,4BAAY,UAAZ;AAAA,IAAqB,WAAU;AAAA,IAAW,WAAU;AAAA,IAAW,eAAc;AAAA,GAAY,GAE1F,mDAAC,4BAAY,SAAZ;AAAA,IAAoB,OAAM;AAAA,GAAW,GAEtC,mDAAC,4BAAY,QAAZ;AAAA,IAAmB,WAAW,WAAW,QAAQ,QAAQ,oBAAoB;AAAA,IAAI,MAAM;AAAA,KACrF,SACH,CACF,CACF;AAEJ;AAGA,IAAO,oBAAQ;",
6
6
  "names": []
7
7
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/plugins/pagination/components/PerPageDropdown.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["import React from 'react';\nimport memoize from 'memoize-one';\nimport { range } from '@elliemae/ds-utilities';\nimport { DSComboBox, components } from '@elliemae/ds-form';\n\nconst SingleValue = ({ children, ...props }) => (\n <components.SingleValue {...props}>\n {children} <span>per page</span>\n </components.SingleValue>\n);\n\nconst generateOption = (value) => ({\n value,\n label: value,\n});\nconst getOptions = memoize((step, min, max) => {\n const options = range(min, max + step, step).map(generateOption);\n return min === 0 ? options.slice(1, options.length) : options;\n});\n\nfunction PerPageDropdown({ min = 0, max = 100, step = 5, value = 0, onChange = () => null }) {\n const options = getOptions(step, min, max);\n return (\n <DSComboBox\n className=\"per-page-dropdown\"\n components={{\n SingleValue,\n }}\n containerProps={{\n 'data-testid': 'per-page-dropdown',\n }}\n maxOptions={10}\n onChange={onChange}\n options={options}\n searchable={false}\n value={value}\n />\n );\n}\n\nexport { PerPageDropdown };\nexport default PerPageDropdown;\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAkB;AAClB,yBAAoB;AACpB,0BAAsB;AACtB,qBAAuC;AAEvC,MAAM,cAAc,CAAC,OAAwB;AAAxB,eAAE,eAAF,IAAe,kBAAf,IAAe,CAAb;AACrB,4DAAC,0BAAW,aAAZ,mBAA4B,QACzB,UAAS,KAAC,mDAAC,QAAD,MAAM;AAAA;AAIrB,MAAM,iBAAiB,CAAC,UAAW;AAAA,EACjC;AAAA,EACA,OAAO;AAAA;AAET,MAAM,aAAa,gCAAQ,CAAC,MAAM,KAAK,QAAQ;AAC7C,QAAM,UAAU,+BAAM,KAAK,MAAM,MAAM,MAAM,IAAI;AACjD,SAAO,QAAQ,IAAI,QAAQ,MAAM,GAAG,QAAQ,UAAU;AAAA;AAGxD,yBAAyB,EAAE,MAAM,GAAG,MAAM,KAAK,OAAO,GAAG,QAAQ,GAAG,WAAW,MAAM,QAAQ;AAC3F,QAAM,UAAU,WAAW,MAAM,KAAK;AACtC,SACE,mDAAC,2BAAD;AAAA,IACE,WAAU;AAAA,IACV,YAAY;AAAA,MACV;AAAA;AAAA,IAEF,gBAAgB;AAAA,MACd,eAAe;AAAA;AAAA,IAEjB,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,IACA,YAAY;AAAA,IACZ;AAAA;AAAA;AAMN,IAAO,0BAAQ;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAkB;AAClB,yBAAoB;AACpB,0BAAsB;AACtB,qBAAuC;AAEvC,MAAM,cAAc,CAAC,OAAwB;AAAxB,eAAE,eAAF,IAAe,kBAAf,IAAe,CAAb;AACrB,4DAAC,0BAAW,aAAX,mBAA2B,QACzB,UAAS,KAAC,mDAAC,cAAK,UAAQ,CAC3B;AAAA;AAGF,MAAM,iBAAiB,CAAC,UAAW;AAAA,EACjC;AAAA,EACA,OAAO;AACT;AACA,MAAM,aAAa,gCAAQ,CAAC,MAAM,KAAK,QAAQ;AAC7C,QAAM,UAAU,+BAAM,KAAK,MAAM,MAAM,IAAI,EAAE,IAAI,cAAc;AAC/D,SAAO,QAAQ,IAAI,QAAQ,MAAM,GAAG,QAAQ,MAAM,IAAI;AACxD,CAAC;AAED,yBAAyB,EAAE,MAAM,GAAG,MAAM,KAAK,OAAO,GAAG,QAAQ,GAAG,WAAW,MAAM,QAAQ;AAC3F,QAAM,UAAU,WAAW,MAAM,KAAK,GAAG;AACzC,SACE,mDAAC;AAAA,IACC,WAAU;AAAA,IACV,YAAY;AAAA,MACV;AAAA,IACF;AAAA,IACA,gBAAgB;AAAA,MACd,eAAe;AAAA,IACjB;AAAA,IACA,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,IACA,YAAY;AAAA,IACZ;AAAA,GACF;AAEJ;AAGA,IAAO,0BAAQ;",
6
6
  "names": []
7
7
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/plugins/pagination/helper.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["export const parsePerPageNumber = (number, max, min = 1) => {\n if (number > max) return max;\n if (number < min) return min;\n return number;\n};\n\nexport const paginate = (\n rows,\n { page, perPage = 1, amountOfPages: amount, totalRows },\n) => {\n // return if pagination state is controlled\n if (amount && totalRows) {\n return {\n amount,\n rows,\n page,\n };\n }\n // adapt to zero indexed logic\n const p = page - 1 || 0;\n\n const amountOfPages = perPage\n ? Math.ceil(rows.length / (perPage > 0 ? perPage : 1))\n : 1;\n const startPage = p < amountOfPages ? p : 0;\n\n return {\n amount: amountOfPages,\n rows: perPage\n ? rows.slice(startPage * perPage, startPage * perPage + perPage)\n : rows,\n allRows: rows,\n page: startPage,\n };\n};\n\nexport default paginate;\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAhB,MAAM,qBAAqB,CAAC,QAAQ,KAAK,MAAM,MAAM;AAC1D,MAAI,SAAS;AAAK,WAAO;AACzB,MAAI,SAAS;AAAK,WAAO;AACzB,SAAO;AAAA;AAGF,MAAM,WAAW,CACtB,MACA,EAAE,MAAM,UAAU,GAAG,eAAe,QAAQ,gBACzC;AAEH,MAAI,UAAU,WAAW;AACvB,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA;AAAA;AAIJ,QAAM,IAAI,OAAO,KAAK;AAEtB,QAAM,gBAAgB,UAClB,KAAK,KAAK,KAAK,SAAU,WAAU,IAAI,UAAU,MACjD;AACJ,QAAM,YAAY,IAAI,gBAAgB,IAAI;AAE1C,SAAO;AAAA,IACL,QAAQ;AAAA,IACR,MAAM,UACF,KAAK,MAAM,YAAY,SAAS,YAAY,UAAU,WACtD;AAAA,IACJ,SAAS;AAAA,IACT,MAAM;AAAA;AAAA;AAIV,IAAO,iBAAQ;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAhB,MAAM,qBAAqB,CAAC,QAAQ,KAAK,MAAM,MAAM;AAC1D,MAAI,SAAS;AAAK,WAAO;AACzB,MAAI,SAAS;AAAK,WAAO;AACzB,SAAO;AACT;AAEO,MAAM,WAAW,CACtB,MACA,EAAE,MAAM,UAAU,GAAG,eAAe,QAAQ,gBACzC;AAEH,MAAI,UAAU,WAAW;AACvB,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAEA,QAAM,IAAI,OAAO,KAAK;AAEtB,QAAM,gBAAgB,UAClB,KAAK,KAAK,KAAK,SAAU,WAAU,IAAI,UAAU,EAAE,IACnD;AACJ,QAAM,YAAY,IAAI,gBAAgB,IAAI;AAE1C,SAAO;AAAA,IACL,QAAQ;AAAA,IACR,MAAM,UACF,KAAK,MAAM,YAAY,SAAS,YAAY,UAAU,OAAO,IAC7D;AAAA,IACJ,SAAS;AAAA,IACT,MAAM;AAAA,EACR;AACF;AAEA,IAAO,iBAAQ;",
6
6
  "names": []
7
7
  }
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/plugins/pagination/usePaginationState.tsx", "../../../../../../scripts/build/transpile/react-shim.js"],
4
4
  "sourcesContent": ["import { useDerivedStateFromProps } from '@elliemae/ds-utilities';\nimport { parsePerPageNumber } from './helper';\n\nexport function usePaginationState(grid) {\n const {\n minPerPage = 0,\n maxPerPage = 50,\n onPerPageChange = () => null,\n onPageChange = () => null,\n pagination: paginationProp = {\n page: 1,\n perPage: 10,\n },\n groupedRows,\n } = grid.props;\n const { composedRows, rows } = grid.getInstance();\n const [pagination, setPagination] = useDerivedStateFromProps(paginationProp);\n\n const onPerPage = (perPageNumber) => {\n const parsedPerPageNumber = parsePerPageNumber(perPageNumber, maxPerPage, minPerPage);\n const actualNumber = parsedPerPageNumber ? parseInt(parsedPerPageNumber, 10) : 0;\n\n setPagination((prevPagination) => {\n onPerPageChange(actualNumber);\n return {\n page: prevPagination.page,\n perPage: actualNumber,\n };\n });\n };\n\n const onPageSelect = (page) => {\n const length = groupedRows ? composedRows.length : rows.length;\n setPagination((prevPagination) => {\n const pages = Math.ceil(length / prevPagination.perPage);\n onPageChange(page);\n return {\n ...prevPagination,\n page: Math.min(Math.max(page, 1), pages),\n };\n });\n };\n\n return {\n state: {\n pagination,\n },\n actions: {\n onPerPage,\n onPageSelect,\n },\n };\n}\n", "import * as React from 'react';\nexport { React };\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,0BAAyC;AACzC,oBAAmC;AAE5B,4BAA4B,MAAM;AACvC,QAAM;AAAA,IACJ,aAAa;AAAA,IACb,aAAa;AAAA,IACb,kBAAkB,MAAM;AAAA,IACxB,eAAe,MAAM;AAAA,IACrB,YAAY,iBAAiB;AAAA,MAC3B,MAAM;AAAA,MACN,SAAS;AAAA;AAAA,IAEX;AAAA,MACE,KAAK;AACT,QAAM,EAAE,cAAc,SAAS,KAAK;AACpC,QAAM,CAAC,YAAY,iBAAiB,kDAAyB;AAE7D,QAAM,YAAY,CAAC,kBAAkB;AACnC,UAAM,sBAAsB,sCAAmB,eAAe,YAAY;AAC1E,UAAM,eAAe,sBAAsB,SAAS,qBAAqB,MAAM;AAE/E,kBAAc,CAAC,mBAAmB;AAChC,sBAAgB;AAChB,aAAO;AAAA,QACL,MAAM,eAAe;AAAA,QACrB,SAAS;AAAA;AAAA;AAAA;AAKf,QAAM,eAAe,CAAC,SAAS;AAC7B,UAAM,SAAS,cAAc,aAAa,SAAS,KAAK;AACxD,kBAAc,CAAC,mBAAmB;AAChC,YAAM,QAAQ,KAAK,KAAK,SAAS,eAAe;AAChD,mBAAa;AACb,aAAO,iCACF,iBADE;AAAA,QAEL,MAAM,KAAK,IAAI,KAAK,IAAI,MAAM,IAAI;AAAA;AAAA;AAAA;AAKxC,SAAO;AAAA,IACL,OAAO;AAAA,MACL;AAAA;AAAA,IAEF,SAAS;AAAA,MACP;AAAA,MACA;AAAA;AAAA;AAAA;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,0BAAyC;AACzC,oBAAmC;AAE5B,4BAA4B,MAAM;AACvC,QAAM;AAAA,IACJ,aAAa;AAAA,IACb,aAAa;AAAA,IACb,kBAAkB,MAAM;AAAA,IACxB,eAAe,MAAM;AAAA,IACrB,YAAY,iBAAiB;AAAA,MAC3B,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IACA;AAAA,MACE,KAAK;AACT,QAAM,EAAE,cAAc,SAAS,KAAK,YAAY;AAChD,QAAM,CAAC,YAAY,iBAAiB,kDAAyB,cAAc;AAE3E,QAAM,YAAY,CAAC,kBAAkB;AACnC,UAAM,sBAAsB,sCAAmB,eAAe,YAAY,UAAU;AACpF,UAAM,eAAe,sBAAsB,SAAS,qBAAqB,EAAE,IAAI;AAE/E,kBAAc,CAAC,mBAAmB;AAChC,sBAAgB,YAAY;AAC5B,aAAO;AAAA,QACL,MAAM,eAAe;AAAA,QACrB,SAAS;AAAA,MACX;AAAA,IACF,CAAC;AAAA,EACH;AAEA,QAAM,eAAe,CAAC,SAAS;AAC7B,UAAM,SAAS,cAAc,aAAa,SAAS,KAAK;AACxD,kBAAc,CAAC,mBAAmB;AAChC,YAAM,QAAQ,KAAK,KAAK,SAAS,eAAe,OAAO;AACvD,mBAAa,IAAI;AACjB,aAAO,iCACF,iBADE;AAAA,QAEL,MAAM,KAAK,IAAI,KAAK,IAAI,MAAM,CAAC,GAAG,KAAK;AAAA,MACzC;AAAA,IACF,CAAC;AAAA,EACH;AAEA,SAAO;AAAA,IACL,OAAO;AAAA,MACL;AAAA,IACF;AAAA,IACA,SAAS;AAAA,MACP;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;",
6
6
  "names": []
7
7
  }
@@ -31,7 +31,7 @@ __export(ResizablePlugin_exports, {
31
31
  });
32
32
  var React = __toESM(require("react"));
33
33
  var import_ds_utilities = require("@elliemae/ds-utilities");
34
- var import_createInstancePlugin = require("@elliemae/ds-shared/createDataInstance/createInstancePlugin");
34
+ var import_ds_shared = require("@elliemae/ds-shared");
35
35
  var import_decorateResizable = require("./decorateResizable");
36
36
  const noop = () => null;
37
37
  const DELTA_LAST_COLUMN = 25;
@@ -102,7 +102,7 @@ const decorateColumn = (column, grid, index) => {
102
102
  isLast
103
103
  }));
104
104
  };
105
- const ResizablePlugin = (0, import_createInstancePlugin.createInstancePlugin)("resizable", {
105
+ const ResizablePlugin = (0, import_ds_shared.createInstancePlugin)("resizable", {
106
106
  decorateColumn
107
107
  });
108
108
  module.exports = __toCommonJS(ResizablePlugin_exports);