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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (355) hide show
  1. package/cjs/DSDataGrid.js +12 -29
  2. package/cjs/DSDataGrid.js.map +1 -1
  3. package/cjs/DataGridImpl.js +12 -29
  4. package/cjs/DataGridImpl.js.map +1 -1
  5. package/cjs/PaginatedDataGrid.js +12 -26
  6. package/cjs/PaginatedDataGrid.js.map +1 -1
  7. package/cjs/columns/IconColumn.js +3 -3
  8. package/cjs/columns/IconColumn.js.map +1 -1
  9. package/cjs/components/BodyCell.js +1 -1
  10. package/cjs/components/BodyCell.js.map +1 -1
  11. package/cjs/components/EmptyState.js +4 -5
  12. package/cjs/components/EmptyState.js.map +1 -1
  13. package/cjs/components/HeaderCell.js +1 -1
  14. package/cjs/components/HeaderCell.js.map +1 -1
  15. package/cjs/components/RowsLoader.js +1 -1
  16. package/cjs/components/RowsLoader.js.map +1 -1
  17. package/cjs/components/Table.js +1 -1
  18. package/cjs/components/footer/addOptionalFooterComponents.js +2 -2
  19. package/cjs/components/header/PrimaryControls.js +2 -3
  20. package/cjs/components/header/PrimaryControls.js.map +1 -1
  21. package/cjs/components/index.js +1 -1
  22. package/cjs/components/renderers/index.js +2 -2
  23. package/cjs/components/renderers/renderRowsLoader.js +1 -1
  24. package/cjs/defaultPlugins.js +5 -11
  25. package/cjs/defaultPlugins.js.map +1 -1
  26. package/cjs/{index-9d448b9a.js → index-0be12eb8.js} +1 -1
  27. package/cjs/{index-9d448b9a.js.map → index-0be12eb8.js.map} +1 -1
  28. package/cjs/index.js +12 -29
  29. package/cjs/index.js.map +1 -1
  30. package/cjs/plugins/body-header-scroll-sync/BodyHeaderScrollSyncPlugin.js +3 -3
  31. package/cjs/plugins/body-header-scroll-sync/BodyHeaderScrollSyncPlugin.js.map +1 -1
  32. package/cjs/plugins/body-header-scroll-sync/index.js +1 -1
  33. package/cjs/plugins/column-dnd/DndColumnsPlugin.js +5 -6
  34. package/cjs/plugins/column-dnd/DndColumnsPlugin.js.map +1 -1
  35. package/cjs/plugins/column-dnd/decorateGridWithDndColumns.js +2 -3
  36. package/cjs/plugins/column-dnd/decorateGridWithDndColumns.js.map +1 -1
  37. package/cjs/plugins/column-dnd/index.js +2 -3
  38. package/cjs/plugins/column-dnd/index.js.map +1 -1
  39. package/cjs/plugins/column-sizing/ColumnSizingPlugin.js +2 -4
  40. package/cjs/plugins/column-sizing/ColumnSizingPlugin.js.map +1 -1
  41. package/cjs/plugins/column-sizing/columnMeasurerTransformer.js +2 -2
  42. package/cjs/plugins/column-sizing/columnMeasurerTransformer.js.map +1 -1
  43. package/cjs/plugins/column-sizing/ext-points/decorateColumn.js +3 -4
  44. package/cjs/plugins/column-sizing/ext-points/decorateColumn.js.map +1 -1
  45. package/cjs/plugins/column-sizing/ext-points/getTableProps.js +3 -6
  46. package/cjs/plugins/column-sizing/ext-points/getTableProps.js.map +1 -1
  47. package/cjs/plugins/column-sizing/index.js +1 -3
  48. package/cjs/plugins/column-sizing/index.js.map +1 -1
  49. package/cjs/plugins/column-sizing/useColumnSizeService.js +1 -1
  50. package/cjs/plugins/column-sizing/useStylesheetHelpers.js +3 -3
  51. package/cjs/plugins/column-sizing/useStylesheetHelpers.js.map +1 -1
  52. package/cjs/plugins/column-sizing/utils.js +3 -3
  53. package/cjs/plugins/column-sizing/utils.js.map +1 -1
  54. package/cjs/plugins/custom-cell-renderer/CustomRendererPlugin.js +5 -9
  55. package/cjs/plugins/custom-cell-renderer/CustomRendererPlugin.js.map +1 -1
  56. package/cjs/plugins/custom-cell-renderer/addCustomRendererToCell.js +8 -12
  57. package/cjs/plugins/custom-cell-renderer/addCustomRendererToCell.js.map +1 -1
  58. package/cjs/plugins/custom-cell-renderer/getRendererComponent.js +9 -18
  59. package/cjs/plugins/custom-cell-renderer/getRendererComponent.js.map +1 -1
  60. package/cjs/plugins/custom-cell-renderer/index.js +5 -9
  61. package/cjs/plugins/custom-cell-renderer/index.js.map +1 -1
  62. package/cjs/plugins/editable/EditableComponents/ComboBox.js +2 -3
  63. package/cjs/plugins/editable/EditableComponents/ComboBox.js.map +1 -1
  64. package/cjs/plugins/editable/EditableComponents/TextBox.js +2 -3
  65. package/cjs/plugins/editable/EditableComponents/TextBox.js.map +1 -1
  66. package/cjs/plugins/editable/EditableComponents/index.js +1 -2
  67. package/cjs/plugins/editable/EditableComponents/index.js.map +1 -1
  68. package/cjs/plugins/editable/EditablePlugin.js +5 -8
  69. package/cjs/plugins/editable/EditablePlugin.js.map +1 -1
  70. package/cjs/plugins/editable/decorateEditable.js +5 -7
  71. package/cjs/plugins/editable/decorateEditable.js.map +1 -1
  72. package/cjs/plugins/editable/getEditorComponent.js +1 -2
  73. package/cjs/plugins/editable/getEditorComponent.js.map +1 -1
  74. package/cjs/plugins/editable/index.js +3 -5
  75. package/cjs/plugins/editable/index.js.map +1 -1
  76. package/cjs/plugins/expandable-grid/ExpandableColumn.js +4 -7
  77. package/cjs/plugins/expandable-grid/ExpandableColumn.js.map +1 -1
  78. package/cjs/plugins/expandable-grid/ExpandablePlugin.js +11 -18
  79. package/cjs/plugins/expandable-grid/ExpandablePlugin.js.map +1 -1
  80. package/cjs/plugins/expandable-grid/ExpandedRow.js +7 -10
  81. package/cjs/plugins/expandable-grid/ExpandedRow.js.map +1 -1
  82. package/cjs/plugins/expandable-grid/ExpandedRowExtra.js +3 -3
  83. package/cjs/plugins/expandable-grid/ExpandedRowExtra.js.map +1 -1
  84. package/cjs/plugins/expandable-grid/index.js +7 -12
  85. package/cjs/plugins/expandable-grid/index.js.map +1 -1
  86. package/cjs/plugins/expandable-grid/useExpandGridState.js +3 -5
  87. package/cjs/plugins/expandable-grid/useExpandGridState.js.map +1 -1
  88. package/cjs/plugins/export-data/ExportDataPlugin.js +2 -2
  89. package/cjs/plugins/export-data/ExportDataPlugin.js.map +1 -1
  90. package/cjs/plugins/export-data/index.js +1 -1
  91. package/cjs/plugins/filterable/FilterablePlugin.js +10 -11
  92. package/cjs/plugins/filterable/FilterablePlugin.js.map +1 -1
  93. package/cjs/plugins/filterable/addFilterToColumn.js +8 -9
  94. package/cjs/plugins/filterable/addFilterToColumn.js.map +1 -1
  95. package/cjs/plugins/filterable/components/FilterableHeader.js +13 -15
  96. package/cjs/plugins/filterable/components/FilterableHeader.js.map +1 -1
  97. package/cjs/plugins/filterable/components/filterable-menus/DateRangeFilterMenu.js +9 -8
  98. package/cjs/plugins/filterable/components/filterable-menus/DateRangeFilterMenu.js.map +1 -1
  99. package/cjs/plugins/filterable/components/filterable-menus/SingleDateFilterMenu.js +4 -5
  100. package/cjs/plugins/filterable/components/filterable-menus/SingleDateFilterMenu.js.map +1 -1
  101. package/cjs/plugins/filterable/components/filterable-menus/SingleRangeSwitcherMenu.js +133 -168
  102. package/cjs/plugins/filterable/components/filterable-menus/SingleRangeSwitcherMenu.js.map +1 -1
  103. package/cjs/plugins/filterable/components/filterable-menus/TextFilterMenu.js +4 -5
  104. package/cjs/plugins/filterable/components/filterable-menus/TextFilterMenu.js.map +1 -1
  105. package/cjs/plugins/filterable/components/filterable-menus/getFilterMenuByType.js +7 -7
  106. package/cjs/plugins/filterable/filterableFormatter.js +9 -10
  107. package/cjs/plugins/filterable/filterableFormatter.js.map +1 -1
  108. package/cjs/plugins/filterable/filtering-helper/filterRowsByQuery.js +3 -3
  109. package/cjs/plugins/filterable/filtering-helper/filterRowsByQuery.js.map +1 -1
  110. package/cjs/plugins/filterable/helper.js +7 -7
  111. package/cjs/plugins/filterable/helper.js.map +1 -1
  112. package/cjs/plugins/filterable/index.js +8 -9
  113. package/cjs/plugins/filterable/index.js.map +1 -1
  114. package/cjs/plugins/filterable/useFilterableState.js +1 -1
  115. package/cjs/plugins/index.js +11 -26
  116. package/cjs/plugins/index.js.map +1 -1
  117. package/cjs/plugins/infinite-scrolling/InfiniteScrollPlugin.js.map +1 -1
  118. package/cjs/plugins/pagination/PaginationPlugin.js +2 -3
  119. package/cjs/plugins/pagination/PaginationPlugin.js.map +1 -1
  120. package/cjs/plugins/pagination/components/Pagination.js +2 -2
  121. package/cjs/plugins/pagination/components/PerPageDropdown.js +5 -6
  122. package/cjs/plugins/pagination/components/PerPageDropdown.js.map +1 -1
  123. package/cjs/plugins/pagination/index.js +1 -2
  124. package/cjs/plugins/pagination/index.js.map +1 -1
  125. package/cjs/plugins/pagination/usePaginationState.js +2 -3
  126. package/cjs/plugins/pagination/usePaginationState.js.map +1 -1
  127. package/cjs/plugins/resizable/ResizablePlugin.js +2 -2
  128. package/cjs/plugins/resizable/ResizablePlugin.js.map +1 -1
  129. package/cjs/plugins/resizable/index.js +1 -1
  130. package/cjs/plugins/resizable/utils.js +3 -3
  131. package/cjs/plugins/resizable/utils.js.map +1 -1
  132. package/cjs/plugins/row-dnd/DndRowsPlugin.js +4 -5
  133. package/cjs/plugins/row-dnd/DndRowsPlugin.js.map +1 -1
  134. package/cjs/plugins/row-dnd/index.js +2 -2
  135. package/cjs/plugins/selectable/SelectablePlugin.js +3 -5
  136. package/cjs/plugins/selectable/SelectablePlugin.js.map +1 -1
  137. package/cjs/plugins/selectable/addSelectableColumn.js +2 -3
  138. package/cjs/plugins/selectable/addSelectableColumn.js.map +1 -1
  139. package/cjs/plugins/selectable/helper.js +3 -3
  140. package/cjs/plugins/selectable/helper.js.map +1 -1
  141. package/cjs/plugins/selectable/index.js +2 -4
  142. package/cjs/plugins/selectable/index.js.map +1 -1
  143. package/cjs/plugins/selectable/selectableFormatter.js +4 -7
  144. package/cjs/plugins/selectable/selectableFormatter.js.map +1 -1
  145. package/cjs/plugins/selectable/useSelectableState.js +6 -8
  146. package/cjs/plugins/selectable/useSelectableState.js.map +1 -1
  147. package/cjs/plugins/sortable/SortablePlugin.js +5 -7
  148. package/cjs/plugins/sortable/SortablePlugin.js.map +1 -1
  149. package/cjs/plugins/sortable/index.js +2 -4
  150. package/cjs/plugins/sortable/index.js.map +1 -1
  151. package/cjs/plugins/sortable/sortHeaderFormatter.js +3 -6
  152. package/cjs/plugins/sortable/sortHeaderFormatter.js.map +1 -1
  153. package/cjs/plugins/sortable/sorter.js +3 -3
  154. package/cjs/plugins/sortable/sorter.js.map +1 -1
  155. package/cjs/plugins/sortable/useSortableState.js +2 -3
  156. package/cjs/plugins/sortable/useSortableState.js.map +1 -1
  157. package/cjs/plugins/toolbar/RowRenderer.js +4 -4
  158. package/cjs/plugins/toolbar/RowRenderer.js.map +1 -1
  159. package/cjs/plugins/toolbar/ToolbarPlugin.js +3 -3
  160. package/cjs/plugins/toolbar/ToolbarTrigger.js +3 -4
  161. package/cjs/plugins/toolbar/ToolbarTrigger.js.map +1 -1
  162. package/cjs/plugins/toolbar/index.js +3 -3
  163. package/cjs/plugins/virtualization/AutoHeightList.js +5 -8
  164. package/cjs/plugins/virtualization/AutoHeightList.js.map +1 -1
  165. package/cjs/plugins/virtualization/VirtualizationPlugin.js +4 -5
  166. package/cjs/plugins/virtualization/VirtualizationPlugin.js.map +1 -1
  167. package/cjs/plugins/virtualization/VirtualizedBody.js +6 -7
  168. package/cjs/plugins/virtualization/VirtualizedBody.js.map +1 -1
  169. package/cjs/plugins/virtualization/index.js +1 -2
  170. package/cjs/plugins/virtualization/index.js.map +1 -1
  171. package/cjs/renders/CellWithAddons.js +7 -6
  172. package/cjs/renders/CellWithAddons.js.map +1 -1
  173. package/cjs/renders/index.js +2 -2
  174. package/cjs/renders/styled.js +3 -2
  175. package/cjs/renders/styled.js.map +1 -1
  176. package/cjs/utilities/getPluginsFromProps.js +12 -26
  177. package/cjs/utilities/getPluginsFromProps.js.map +1 -1
  178. package/esm/DSDataGrid.js +12 -29
  179. package/esm/DSDataGrid.js.map +1 -1
  180. package/esm/DataGridImpl.js +12 -29
  181. package/esm/DataGridImpl.js.map +1 -1
  182. package/esm/PaginatedDataGrid.js +12 -26
  183. package/esm/PaginatedDataGrid.js.map +1 -1
  184. package/esm/columns/IconColumn.js +2 -2
  185. package/esm/columns/IconColumn.js.map +1 -1
  186. package/esm/components/BodyCell.js +1 -1
  187. package/esm/components/BodyCell.js.map +1 -1
  188. package/esm/components/EmptyState.js +3 -3
  189. package/esm/components/EmptyState.js.map +1 -1
  190. package/esm/components/HeaderCell.js +1 -1
  191. package/esm/components/HeaderCell.js.map +1 -1
  192. package/esm/components/RowsLoader.js +1 -1
  193. package/esm/components/RowsLoader.js.map +1 -1
  194. package/esm/components/Table.js +1 -1
  195. package/esm/components/footer/addOptionalFooterComponents.js +2 -2
  196. package/esm/components/header/PrimaryControls.js +1 -1
  197. package/esm/components/header/PrimaryControls.js.map +1 -1
  198. package/esm/components/index.js +1 -1
  199. package/esm/components/renderers/index.js +2 -2
  200. package/esm/components/renderers/renderRowsLoader.js +1 -1
  201. package/esm/defaultPlugins.js +5 -11
  202. package/esm/defaultPlugins.js.map +1 -1
  203. package/esm/{index-203a51cc.js → index-afbbe9c8.js} +1 -1
  204. package/esm/{index-203a51cc.js.map → index-afbbe9c8.js.map} +1 -1
  205. package/esm/index.js +12 -29
  206. package/esm/index.js.map +1 -1
  207. package/esm/plugins/body-header-scroll-sync/BodyHeaderScrollSyncPlugin.js +1 -1
  208. package/esm/plugins/body-header-scroll-sync/BodyHeaderScrollSyncPlugin.js.map +1 -1
  209. package/esm/plugins/body-header-scroll-sync/index.js +1 -1
  210. package/esm/plugins/column-dnd/DndColumnsPlugin.js +2 -3
  211. package/esm/plugins/column-dnd/DndColumnsPlugin.js.map +1 -1
  212. package/esm/plugins/column-dnd/decorateGridWithDndColumns.js +1 -1
  213. package/esm/plugins/column-dnd/decorateGridWithDndColumns.js.map +1 -1
  214. package/esm/plugins/column-dnd/index.js +2 -3
  215. package/esm/plugins/column-dnd/index.js.map +1 -1
  216. package/esm/plugins/column-sizing/ColumnSizingPlugin.js +1 -3
  217. package/esm/plugins/column-sizing/ColumnSizingPlugin.js.map +1 -1
  218. package/esm/plugins/column-sizing/columnMeasurerTransformer.js +1 -1
  219. package/esm/plugins/column-sizing/columnMeasurerTransformer.js.map +1 -1
  220. package/esm/plugins/column-sizing/ext-points/decorateColumn.js +1 -2
  221. package/esm/plugins/column-sizing/ext-points/decorateColumn.js.map +1 -1
  222. package/esm/plugins/column-sizing/ext-points/getTableProps.js +1 -3
  223. package/esm/plugins/column-sizing/ext-points/getTableProps.js.map +1 -1
  224. package/esm/plugins/column-sizing/index.js +1 -3
  225. package/esm/plugins/column-sizing/index.js.map +1 -1
  226. package/esm/plugins/column-sizing/useColumnSizeService.js +1 -1
  227. package/esm/plugins/column-sizing/useStylesheetHelpers.js +1 -1
  228. package/esm/plugins/column-sizing/useStylesheetHelpers.js.map +1 -1
  229. package/esm/plugins/column-sizing/utils.js +1 -1
  230. package/esm/plugins/column-sizing/utils.js.map +1 -1
  231. package/esm/plugins/custom-cell-renderer/CustomRendererPlugin.js +5 -9
  232. package/esm/plugins/custom-cell-renderer/CustomRendererPlugin.js.map +1 -1
  233. package/esm/plugins/custom-cell-renderer/addCustomRendererToCell.js +5 -9
  234. package/esm/plugins/custom-cell-renderer/addCustomRendererToCell.js.map +1 -1
  235. package/esm/plugins/custom-cell-renderer/getRendererComponent.js +4 -8
  236. package/esm/plugins/custom-cell-renderer/getRendererComponent.js.map +1 -1
  237. package/esm/plugins/custom-cell-renderer/index.js +5 -9
  238. package/esm/plugins/custom-cell-renderer/index.js.map +1 -1
  239. package/esm/plugins/editable/EditableComponents/ComboBox.js +1 -1
  240. package/esm/plugins/editable/EditableComponents/ComboBox.js.map +1 -1
  241. package/esm/plugins/editable/EditableComponents/TextBox.js +1 -1
  242. package/esm/plugins/editable/EditableComponents/TextBox.js.map +1 -1
  243. package/esm/plugins/editable/EditableComponents/index.js +1 -2
  244. package/esm/plugins/editable/EditableComponents/index.js.map +1 -1
  245. package/esm/plugins/editable/EditablePlugin.js +3 -5
  246. package/esm/plugins/editable/EditablePlugin.js.map +1 -1
  247. package/esm/plugins/editable/decorateEditable.js +3 -4
  248. package/esm/plugins/editable/decorateEditable.js.map +1 -1
  249. package/esm/plugins/editable/getEditorComponent.js +1 -2
  250. package/esm/plugins/editable/getEditorComponent.js.map +1 -1
  251. package/esm/plugins/editable/index.js +3 -5
  252. package/esm/plugins/editable/index.js.map +1 -1
  253. package/esm/plugins/expandable-grid/ExpandableColumn.js +3 -4
  254. package/esm/plugins/expandable-grid/ExpandableColumn.js.map +1 -1
  255. package/esm/plugins/expandable-grid/ExpandablePlugin.js +7 -12
  256. package/esm/plugins/expandable-grid/ExpandablePlugin.js.map +1 -1
  257. package/esm/plugins/expandable-grid/ExpandedRow.js +6 -9
  258. package/esm/plugins/expandable-grid/ExpandedRow.js.map +1 -1
  259. package/esm/plugins/expandable-grid/ExpandedRowExtra.js +2 -2
  260. package/esm/plugins/expandable-grid/ExpandedRowExtra.js.map +1 -1
  261. package/esm/plugins/expandable-grid/index.js +7 -12
  262. package/esm/plugins/expandable-grid/index.js.map +1 -1
  263. package/esm/plugins/expandable-grid/useExpandGridState.js +1 -2
  264. package/esm/plugins/expandable-grid/useExpandGridState.js.map +1 -1
  265. package/esm/plugins/export-data/ExportDataPlugin.js +1 -1
  266. package/esm/plugins/export-data/ExportDataPlugin.js.map +1 -1
  267. package/esm/plugins/export-data/index.js +1 -1
  268. package/esm/plugins/filterable/FilterablePlugin.js +8 -9
  269. package/esm/plugins/filterable/FilterablePlugin.js.map +1 -1
  270. package/esm/plugins/filterable/addFilterToColumn.js +8 -9
  271. package/esm/plugins/filterable/addFilterToColumn.js.map +1 -1
  272. package/esm/plugins/filterable/components/FilterableHeader.js +9 -10
  273. package/esm/plugins/filterable/components/FilterableHeader.js.map +1 -1
  274. package/esm/plugins/filterable/components/filterable-menus/DateRangeFilterMenu.js +9 -7
  275. package/esm/plugins/filterable/components/filterable-menus/DateRangeFilterMenu.js.map +1 -1
  276. package/esm/plugins/filterable/components/filterable-menus/SingleDateFilterMenu.js +4 -4
  277. package/esm/plugins/filterable/components/filterable-menus/SingleDateFilterMenu.js.map +1 -1
  278. package/esm/plugins/filterable/components/filterable-menus/SingleRangeSwitcherMenu.js +132 -165
  279. package/esm/plugins/filterable/components/filterable-menus/SingleRangeSwitcherMenu.js.map +1 -1
  280. package/esm/plugins/filterable/components/filterable-menus/TextFilterMenu.js +3 -3
  281. package/esm/plugins/filterable/components/filterable-menus/TextFilterMenu.js.map +1 -1
  282. package/esm/plugins/filterable/components/filterable-menus/getFilterMenuByType.js +7 -7
  283. package/esm/plugins/filterable/filterableFormatter.js +9 -10
  284. package/esm/plugins/filterable/filterableFormatter.js.map +1 -1
  285. package/esm/plugins/filterable/filtering-helper/filterRowsByQuery.js +1 -1
  286. package/esm/plugins/filterable/filtering-helper/filterRowsByQuery.js.map +1 -1
  287. package/esm/plugins/filterable/helper.js +1 -1
  288. package/esm/plugins/filterable/helper.js.map +1 -1
  289. package/esm/plugins/filterable/index.js +8 -9
  290. package/esm/plugins/filterable/index.js.map +1 -1
  291. package/esm/plugins/filterable/useFilterableState.js +1 -1
  292. package/esm/plugins/index.js +11 -26
  293. package/esm/plugins/index.js.map +1 -1
  294. package/esm/plugins/infinite-scrolling/InfiniteScrollPlugin.js.map +1 -1
  295. package/esm/plugins/pagination/PaginationPlugin.js +1 -2
  296. package/esm/plugins/pagination/PaginationPlugin.js.map +1 -1
  297. package/esm/plugins/pagination/components/Pagination.js +2 -2
  298. package/esm/plugins/pagination/components/PerPageDropdown.js +2 -2
  299. package/esm/plugins/pagination/components/PerPageDropdown.js.map +1 -1
  300. package/esm/plugins/pagination/index.js +1 -2
  301. package/esm/plugins/pagination/index.js.map +1 -1
  302. package/esm/plugins/pagination/usePaginationState.js +1 -1
  303. package/esm/plugins/pagination/usePaginationState.js.map +1 -1
  304. package/esm/plugins/resizable/ResizablePlugin.js +1 -1
  305. package/esm/plugins/resizable/ResizablePlugin.js.map +1 -1
  306. package/esm/plugins/resizable/index.js +1 -1
  307. package/esm/plugins/resizable/utils.js +1 -1
  308. package/esm/plugins/resizable/utils.js.map +1 -1
  309. package/esm/plugins/row-dnd/DndRowsPlugin.js +2 -2
  310. package/esm/plugins/row-dnd/DndRowsPlugin.js.map +1 -1
  311. package/esm/plugins/row-dnd/index.js +2 -2
  312. package/esm/plugins/selectable/SelectablePlugin.js +2 -4
  313. package/esm/plugins/selectable/SelectablePlugin.js.map +1 -1
  314. package/esm/plugins/selectable/addSelectableColumn.js +2 -3
  315. package/esm/plugins/selectable/addSelectableColumn.js.map +1 -1
  316. package/esm/plugins/selectable/helper.js +1 -1
  317. package/esm/plugins/selectable/helper.js.map +1 -1
  318. package/esm/plugins/selectable/index.js +2 -4
  319. package/esm/plugins/selectable/index.js.map +1 -1
  320. package/esm/plugins/selectable/selectableFormatter.js +2 -3
  321. package/esm/plugins/selectable/selectableFormatter.js.map +1 -1
  322. package/esm/plugins/selectable/useSelectableState.js +1 -2
  323. package/esm/plugins/selectable/useSelectableState.js.map +1 -1
  324. package/esm/plugins/sortable/SortablePlugin.js +2 -4
  325. package/esm/plugins/sortable/SortablePlugin.js.map +1 -1
  326. package/esm/plugins/sortable/index.js +2 -4
  327. package/esm/plugins/sortable/index.js.map +1 -1
  328. package/esm/plugins/sortable/sortHeaderFormatter.js +1 -2
  329. package/esm/plugins/sortable/sortHeaderFormatter.js.map +1 -1
  330. package/esm/plugins/sortable/sorter.js +1 -1
  331. package/esm/plugins/sortable/sorter.js.map +1 -1
  332. package/esm/plugins/sortable/useSortableState.js +1 -1
  333. package/esm/plugins/sortable/useSortableState.js.map +1 -1
  334. package/esm/plugins/toolbar/RowRenderer.js +3 -3
  335. package/esm/plugins/toolbar/RowRenderer.js.map +1 -1
  336. package/esm/plugins/toolbar/ToolbarPlugin.js +3 -3
  337. package/esm/plugins/toolbar/ToolbarTrigger.js +2 -2
  338. package/esm/plugins/toolbar/ToolbarTrigger.js.map +1 -1
  339. package/esm/plugins/toolbar/index.js +3 -3
  340. package/esm/plugins/virtualization/AutoHeightList.js +1 -3
  341. package/esm/plugins/virtualization/AutoHeightList.js.map +1 -1
  342. package/esm/plugins/virtualization/VirtualizationPlugin.js +1 -2
  343. package/esm/plugins/virtualization/VirtualizationPlugin.js.map +1 -1
  344. package/esm/plugins/virtualization/VirtualizedBody.js +1 -2
  345. package/esm/plugins/virtualization/VirtualizedBody.js.map +1 -1
  346. package/esm/plugins/virtualization/index.js +1 -2
  347. package/esm/plugins/virtualization/index.js.map +1 -1
  348. package/esm/renders/CellWithAddons.js +2 -2
  349. package/esm/renders/CellWithAddons.js.map +1 -1
  350. package/esm/renders/index.js +2 -2
  351. package/esm/renders/styled.js +1 -1
  352. package/esm/renders/styled.js.map +1 -1
  353. package/esm/utilities/getPluginsFromProps.js +12 -26
  354. package/esm/utilities/getPluginsFromProps.js.map +1 -1
  355. package/package.json +15 -15
@@ -1 +1 @@
1
- {"version":3,"file":"useExpandGridState.js","sources":["../../../../src/plugins/expandable-grid/useExpandGridState.tsx"],"sourcesContent":["import { isFunction } from '@elliemae/ds-utilities/utils';\nimport useExpandState from '@elliemae/ds-utilities/hooks/useExpandState';\nimport { useState } from 'react';\n\nexport const useExpandGridState = grid => {\n const {\n composedRows,\n props: {\n expandedRows: expandedRowsProp = {},\n rowKey = 'id',\n onExpandRow,\n onToggleShowAllRows,\n onExpandChange,\n onExpandAll,\n onToggleExpand,\n onCollapseRow,\n },\n } = grid;\n\n const { state, actions } = useExpandState({\n items: composedRows,\n itemKey: rowKey,\n expanded: expandedRowsProp,\n onExpand: onExpandRow,\n onExpandChange,\n onExpandAll,\n onToggleExpand,\n onCollapse: onCollapseRow,\n });\n\n const [shouldRefocus, setShouldReFocus] = useState(false);\n const expandRow = row => actions.expand(row, { showAllRows: false });\n\n const toggleExpandAllRows = actions.toggleExpandAll;\n\n const collapseRow = actions.collapse;\n\n const toggleExpand = row => {\n setShouldReFocus(false);\n actions.toggleExpand(row, { showAllRows: false });\n };\n\n const toggleShowAllRows = row => {\n if (isFunction(onToggleShowAllRows)) {\n onToggleShowAllRows(row);\n } else {\n const key = row[rowKey];\n actions.expand(row, {\n showAllRows: state.expanded[key] && !state.expanded[key].showAllRows,\n });\n }\n };\n\n return {\n state: {\n expandedRows: state.expanded,\n isExpandedAll: state.isExpandedAll,\n shouldRefocus,\n },\n actions: {\n expandRow,\n toggleExpandAllRows,\n toggleExpand,\n toggleShowAllRows,\n collapseRow,\n },\n };\n};\n"],"names":["useExpandGridState","grid","composedRows","props","expandedRows","expandedRowsProp","rowKey","onExpandRow","onToggleShowAllRows","onExpandChange","onExpandAll","onToggleExpand","onCollapseRow","useExpandState","items","itemKey","expanded","onExpand","onCollapse","state","actions","useState","shouldRefocus","setShouldReFocus","expandRow","row","expand","showAllRows","toggleExpandAllRows","toggleExpandAll","collapseRow","collapse","toggleExpand","toggleShowAllRows","isFunction","key","isExpandedAll"],"mappings":";;;;;;;;;;;;;;IAIaA,kBAAkB,GAAG,SAArBA,kBAAqB,CAAAC,IAAI,EAAI;AACxC,MACEC,YADF,GAYID,IAZJ,CACEC,YADF;AAAA,oBAYID,IAZJ,CAEEE,KAFF;AAAA,0CAGIC,YAHJ;AAAA,MAGkBC,gBAHlB,sCAGqC,EAHrC;AAAA,uCAIIC,MAJJ;AAAA,MAIIA,MAJJ,mCAIa,IAJb;AAAA,MAKIC,WALJ,eAKIA,WALJ;AAAA,MAMIC,mBANJ,eAMIA,mBANJ;AAAA,MAOIC,cAPJ,eAOIA,cAPJ;AAAA,MAQIC,WARJ,eAQIA,WARJ;AAAA,MASIC,cATJ,eASIA,cATJ;AAAA,MAUIC,aAVJ,eAUIA,aAVJ;;AAcA,wBAA2BC,kCAAc,CAAC;AACxCC,IAAAA,KAAK,EAAEZ,YADiC;AAExCa,IAAAA,OAAO,EAAET,MAF+B;AAGxCU,IAAAA,QAAQ,EAAEX,gBAH8B;AAIxCY,IAAAA,QAAQ,EAAEV,WAJ8B;AAKxCE,IAAAA,cAAc,EAAdA,cALwC;AAMxCC,IAAAA,WAAW,EAAXA,WANwC;AAOxCC,IAAAA,cAAc,EAAdA,cAPwC;AAQxCO,IAAAA,UAAU,EAAEN;AAR4B,GAAD,CAAzC;AAAA,MAAQO,KAAR,mBAAQA,KAAR;AAAA,MAAeC,OAAf,mBAAeA,OAAf;;AAWA,kBAA0CC,cAAQ,CAAC,KAAD,CAAlD;AAAA;AAAA,MAAOC,aAAP;AAAA,MAAsBC,gBAAtB;;AACA,MAAMC,SAAS,GAAG,SAAZA,SAAY,CAAAC,GAAG;AAAA,WAAIL,OAAO,CAACM,MAAR,CAAeD,GAAf,EAAoB;AAAEE,MAAAA,WAAW,EAAE;AAAf,KAApB,CAAJ;AAAA,GAArB;;AAEA,MAAMC,mBAAmB,GAAGR,OAAO,CAACS,eAApC;AAEA,MAAMC,WAAW,GAAGV,OAAO,CAACW,QAA5B;;AAEA,MAAMC,YAAY,GAAG,SAAfA,YAAe,CAAAP,GAAG,EAAI;AAC1BF,IAAAA,gBAAgB,CAAC,KAAD,CAAhB;AACAH,IAAAA,OAAO,CAACY,YAAR,CAAqBP,GAArB,EAA0B;AAAEE,MAAAA,WAAW,EAAE;AAAf,KAA1B;AACD,GAHD;;AAKA,MAAMM,iBAAiB,GAAG,SAApBA,iBAAoB,CAAAR,GAAG,EAAI;AAC/B,QAAIS,gBAAU,CAAC1B,mBAAD,CAAd,EAAqC;AACnCA,MAAAA,mBAAmB,CAACiB,GAAD,CAAnB;AACD,KAFD,MAEO;AACL,UAAMU,GAAG,GAAGV,GAAG,CAACnB,MAAD,CAAf;AACAc,MAAAA,OAAO,CAACM,MAAR,CAAeD,GAAf,EAAoB;AAClBE,QAAAA,WAAW,EAAER,KAAK,CAACH,QAAN,CAAemB,GAAf,KAAuB,CAAChB,KAAK,CAACH,QAAN,CAAemB,GAAf,EAAoBR;AADvC,OAApB;AAGD;AACF,GATD;;AAWA,SAAO;AACLR,IAAAA,KAAK,EAAE;AACLf,MAAAA,YAAY,EAAEe,KAAK,CAACH,QADf;AAELoB,MAAAA,aAAa,EAAEjB,KAAK,CAACiB,aAFhB;AAGLd,MAAAA,aAAa,EAAbA;AAHK,KADF;AAMLF,IAAAA,OAAO,EAAE;AACPI,MAAAA,SAAS,EAATA,SADO;AAEPI,MAAAA,mBAAmB,EAAnBA,mBAFO;AAGPI,MAAAA,YAAY,EAAZA,YAHO;AAIPC,MAAAA,iBAAiB,EAAjBA,iBAJO;AAKPH,MAAAA,WAAW,EAAXA;AALO;AANJ,GAAP;AAcD;;;;"}
1
+ {"version":3,"file":"useExpandGridState.js","sources":["../../../../src/plugins/expandable-grid/useExpandGridState.tsx"],"sourcesContent":["import { isFunction,useExpandState } from '@elliemae/ds-utilities';\nimport { useState } from 'react';\n\nexport const useExpandGridState = grid => {\n const {\n composedRows,\n props: {\n expandedRows: expandedRowsProp = {},\n rowKey = 'id',\n onExpandRow,\n onToggleShowAllRows,\n onExpandChange,\n onExpandAll,\n onToggleExpand,\n onCollapseRow,\n },\n } = grid;\n\n const { state, actions } = useExpandState({\n items: composedRows,\n itemKey: rowKey,\n expanded: expandedRowsProp,\n onExpand: onExpandRow,\n onExpandChange,\n onExpandAll,\n onToggleExpand,\n onCollapse: onCollapseRow,\n });\n\n const [shouldRefocus, setShouldReFocus] = useState(false);\n const expandRow = row => actions.expand(row, { showAllRows: false });\n\n const toggleExpandAllRows = actions.toggleExpandAll;\n\n const collapseRow = actions.collapse;\n\n const toggleExpand = row => {\n setShouldReFocus(false);\n actions.toggleExpand(row, { showAllRows: false });\n };\n\n const toggleShowAllRows = row => {\n if (isFunction(onToggleShowAllRows)) {\n onToggleShowAllRows(row);\n } else {\n const key = row[rowKey];\n actions.expand(row, {\n showAllRows: state.expanded[key] && !state.expanded[key].showAllRows,\n });\n }\n };\n\n return {\n state: {\n expandedRows: state.expanded,\n isExpandedAll: state.isExpandedAll,\n shouldRefocus,\n },\n actions: {\n expandRow,\n toggleExpandAllRows,\n toggleExpand,\n toggleShowAllRows,\n collapseRow,\n },\n };\n};\n"],"names":["useExpandGridState","grid","composedRows","props","expandedRows","expandedRowsProp","rowKey","onExpandRow","onToggleShowAllRows","onExpandChange","onExpandAll","onToggleExpand","onCollapseRow","useExpandState","items","itemKey","expanded","onExpand","onCollapse","state","actions","useState","shouldRefocus","setShouldReFocus","expandRow","row","expand","showAllRows","toggleExpandAllRows","toggleExpandAll","collapseRow","collapse","toggleExpand","toggleShowAllRows","isFunction","key","isExpandedAll"],"mappings":";;;;;;;;;;;;IAGaA,kBAAkB,GAAG,SAArBA,kBAAqB,CAAAC,IAAI,EAAI;AACxC,MACEC,YADF,GAYID,IAZJ,CACEC,YADF;AAAA,oBAYID,IAZJ,CAEEE,KAFF;AAAA,0CAGIC,YAHJ;AAAA,MAGkBC,gBAHlB,sCAGqC,EAHrC;AAAA,uCAIIC,MAJJ;AAAA,MAIIA,MAJJ,mCAIa,IAJb;AAAA,MAKIC,WALJ,eAKIA,WALJ;AAAA,MAMIC,mBANJ,eAMIA,mBANJ;AAAA,MAOIC,cAPJ,eAOIA,cAPJ;AAAA,MAQIC,WARJ,eAQIA,WARJ;AAAA,MASIC,cATJ,eASIA,cATJ;AAAA,MAUIC,aAVJ,eAUIA,aAVJ;;AAcA,wBAA2BC,0BAAc,CAAC;AACxCC,IAAAA,KAAK,EAAEZ,YADiC;AAExCa,IAAAA,OAAO,EAAET,MAF+B;AAGxCU,IAAAA,QAAQ,EAAEX,gBAH8B;AAIxCY,IAAAA,QAAQ,EAAEV,WAJ8B;AAKxCE,IAAAA,cAAc,EAAdA,cALwC;AAMxCC,IAAAA,WAAW,EAAXA,WANwC;AAOxCC,IAAAA,cAAc,EAAdA,cAPwC;AAQxCO,IAAAA,UAAU,EAAEN;AAR4B,GAAD,CAAzC;AAAA,MAAQO,KAAR,mBAAQA,KAAR;AAAA,MAAeC,OAAf,mBAAeA,OAAf;;AAWA,kBAA0CC,cAAQ,CAAC,KAAD,CAAlD;AAAA;AAAA,MAAOC,aAAP;AAAA,MAAsBC,gBAAtB;;AACA,MAAMC,SAAS,GAAG,SAAZA,SAAY,CAAAC,GAAG;AAAA,WAAIL,OAAO,CAACM,MAAR,CAAeD,GAAf,EAAoB;AAAEE,MAAAA,WAAW,EAAE;AAAf,KAApB,CAAJ;AAAA,GAArB;;AAEA,MAAMC,mBAAmB,GAAGR,OAAO,CAACS,eAApC;AAEA,MAAMC,WAAW,GAAGV,OAAO,CAACW,QAA5B;;AAEA,MAAMC,YAAY,GAAG,SAAfA,YAAe,CAAAP,GAAG,EAAI;AAC1BF,IAAAA,gBAAgB,CAAC,KAAD,CAAhB;AACAH,IAAAA,OAAO,CAACY,YAAR,CAAqBP,GAArB,EAA0B;AAAEE,MAAAA,WAAW,EAAE;AAAf,KAA1B;AACD,GAHD;;AAKA,MAAMM,iBAAiB,GAAG,SAApBA,iBAAoB,CAAAR,GAAG,EAAI;AAC/B,QAAIS,sBAAU,CAAC1B,mBAAD,CAAd,EAAqC;AACnCA,MAAAA,mBAAmB,CAACiB,GAAD,CAAnB;AACD,KAFD,MAEO;AACL,UAAMU,GAAG,GAAGV,GAAG,CAACnB,MAAD,CAAf;AACAc,MAAAA,OAAO,CAACM,MAAR,CAAeD,GAAf,EAAoB;AAClBE,QAAAA,WAAW,EAAER,KAAK,CAACH,QAAN,CAAemB,GAAf,KAAuB,CAAChB,KAAK,CAACH,QAAN,CAAemB,GAAf,EAAoBR;AADvC,OAApB;AAGD;AACF,GATD;;AAWA,SAAO;AACLR,IAAAA,KAAK,EAAE;AACLf,MAAAA,YAAY,EAAEe,KAAK,CAACH,QADf;AAELoB,MAAAA,aAAa,EAAEjB,KAAK,CAACiB,aAFhB;AAGLd,MAAAA,aAAa,EAAbA;AAHK,KADF;AAMLF,IAAAA,OAAO,EAAE;AACPI,MAAAA,SAAS,EAATA,SADO;AAEPI,MAAAA,mBAAmB,EAAnBA,mBAFO;AAGPI,MAAAA,YAAY,EAAZA,YAHO;AAIPC,MAAAA,iBAAiB,EAAjBA,iBAJO;AAKPH,MAAAA,WAAW,EAAXA;AALO;AANJ,GAAP;AAcD;;;;"}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
6
6
  var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
7
- var utils = require('@elliemae/ds-utilities/utils');
7
+ var dsUtilities = require('@elliemae/ds-utilities');
8
8
  var createInstancePlugin = require('@elliemae/ds-shared/createDataInstance/createInstancePlugin');
9
9
 
10
10
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -26,7 +26,7 @@ var isVisible = function isVisible(column) {
26
26
  };
27
27
 
28
28
  var getColumnValue = function getColumnValue(row, property) {
29
- return utils.get(row, property);
29
+ return dsUtilities.get(row, property);
30
30
  };
31
31
  var getVisibleRowData = function getVisibleRowData(row, columns) {
32
32
  return columns.reduce(function (result, column) {
@@ -1 +1 @@
1
- {"version":3,"file":"ExportDataPlugin.js","sources":["../../../../src/plugins/export-data/ExportDataPlugin.tsx"],"sourcesContent":["/* eslint-disable max-lines */\n/* eslint-disable indent */\nimport { get } from '@elliemae/ds-utilities/utils';\nimport createInstancePlugin from '@elliemae/ds-shared/createDataInstance/createInstancePlugin';\n\nconst isVisible = (column) => {\n if (typeof column === 'undefined') {\n return false;\n }\n return typeof column.visible === 'undefined' || column.visible;\n};\n\nexport const getColumnValue = (row, property) => get(row, property);\nexport const getVisibleRowData = (row, columns) =>\n columns.reduce((result, column) => {\n const columnProperty = column.property;\n return isVisible(column)\n ? [\n ...result,\n getColumnValue(row, `_${columnProperty}`) ||\n getColumnValue(row, columnProperty),\n ]\n : result;\n }, []);\n\nconst defaultOptions = (uuid) => ({\n sheetName: 'SheetName',\n fileName: `datagrid-${uuid}`,\n type: 'csv',\n onlySelection: false,\n excludedColumns: undefined,\n});\n\nconst getOptions = (opts, uuid) => ({\n ...defaultOptions(uuid),\n ...opts,\n});\n\nconst getCellValue = (cell) => {\n if (cell === undefined || cell === null) return '';\n return cell;\n};\n\nexport const getExportedData = (rows, columns, range) => {\n const rowsRanged = range ? rows.slice(...range) : rows;\n const dataToExport = rowsRanged.map((row) => getVisibleRowData(row, columns));\n const columnsContent = columns\n .filter((c) => isVisible(c))\n .reduce(\n (acc, curr, idx) => `${acc}${idx === 0 ? '' : ','}${curr.label}`,\n '',\n );\n const rowsContent = dataToExport\n .map((e) =>\n e\n .map((r) => `\"${String(getCellValue(r)).replace(/\"/g, '\"\"')}\"`)\n .join(','),\n )\n .join('\\r\\n');\n const csvContent = `${columnsContent}\\r\\n${rowsContent}`;\n return csvContent;\n};\n\n// eslint-disable-next-line max-statements\nconst exportTo = (\n rows,\n columns,\n { range, fileName, type, excludedColumns },\n) => {\n if (excludedColumns) {\n // eslint-disable-next-line no-param-reassign\n columns = columns.filter((col) => !excludedColumns.includes(col.property));\n }\n const csvContent = getExportedData(rows, columns, range);\n\n const blob = new Blob([csvContent], { type: 'text/csv;charset=utf-8;' });\n if (navigator.msSaveBlob) {\n // IE 10+\n navigator.msSaveBlob(blob, `${fileName}.${type}`);\n } else {\n const link = document.createElement('a');\n if (link.download !== undefined) {\n // feature detection\n // Browsers that support HTML5 download attribute\n const url = URL.createObjectURL(blob);\n link.setAttribute('href', url);\n link.setAttribute('download', `${fileName}.${type}`);\n link.style.visibility = 'hidden';\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n }\n }\n};\n\nexport const ExportDataPlugin = createInstancePlugin('export-data', {\n decorateGrid(instance) {\n return {\n exportRows(opts = {}) {\n const {\n composedRows: rows,\n columns,\n uuid,\n props: { rowKey },\n state: { selection },\n } = instance.getInstance();\n const options = getOptions(opts, uuid);\n // check paginated rows\n let currentRows = rows.allRows || rows;\n if (opts.onlySelection) {\n const selectedRows = Object.keys(selection.selectedRows);\n currentRows = currentRows.filter((r) =>\n selectedRows.includes(String(r[rowKey])),\n );\n }\n\n exportTo(currentRows, columns, options);\n },\n exportVisibleRows(opts = {}) {\n const {\n composedRows: rows,\n columns,\n uuid,\n props: { rowKey },\n state: { selection },\n } = instance.getInstance();\n const options = getOptions(opts, uuid);\n\n // check paginated rows\n let currentRows = rows.rows || rows;\n if (opts.onlySelection) {\n const selectedRows = Object.keys(selection.selectedRows);\n currentRows = currentRows.filter((r) =>\n selectedRows.includes(String(r[rowKey])),\n );\n }\n\n exportTo(currentRows, columns, options);\n },\n };\n },\n});\n"],"names":["isVisible","column","visible","getColumnValue","row","property","get","getVisibleRowData","columns","reduce","result","columnProperty","defaultOptions","uuid","sheetName","fileName","type","onlySelection","excludedColumns","undefined","getOptions","opts","getCellValue","cell","getExportedData","rows","range","rowsRanged","slice","dataToExport","map","columnsContent","filter","c","acc","curr","idx","label","rowsContent","e","r","String","replace","join","csvContent","exportTo","col","includes","blob","Blob","navigator","msSaveBlob","link","document","createElement","download","url","URL","createObjectURL","setAttribute","style","visibility","body","appendChild","click","removeChild","ExportDataPlugin","createInstancePlugin","decorateGrid","instance","exportRows","getInstance","composedRows","rowKey","props","selection","state","options","currentRows","allRows","selectedRows","Object","keys","exportVisibleRows"],"mappings":"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"}
1
+ {"version":3,"file":"ExportDataPlugin.js","sources":["../../../../src/plugins/export-data/ExportDataPlugin.tsx"],"sourcesContent":["/* eslint-disable max-lines */\n/* eslint-disable indent */\nimport { get } from '@elliemae/ds-utilities';\nimport createInstancePlugin from '@elliemae/ds-shared/createDataInstance/createInstancePlugin';\n\nconst isVisible = (column) => {\n if (typeof column === 'undefined') {\n return false;\n }\n return typeof column.visible === 'undefined' || column.visible;\n};\n\nexport const getColumnValue = (row, property) => get(row, property);\nexport const getVisibleRowData = (row, columns) =>\n columns.reduce((result, column) => {\n const columnProperty = column.property;\n return isVisible(column)\n ? [\n ...result,\n getColumnValue(row, `_${columnProperty}`) ||\n getColumnValue(row, columnProperty),\n ]\n : result;\n }, []);\n\nconst defaultOptions = (uuid) => ({\n sheetName: 'SheetName',\n fileName: `datagrid-${uuid}`,\n type: 'csv',\n onlySelection: false,\n excludedColumns: undefined,\n});\n\nconst getOptions = (opts, uuid) => ({\n ...defaultOptions(uuid),\n ...opts,\n});\n\nconst getCellValue = (cell) => {\n if (cell === undefined || cell === null) return '';\n return cell;\n};\n\nexport const getExportedData = (rows, columns, range) => {\n const rowsRanged = range ? rows.slice(...range) : rows;\n const dataToExport = rowsRanged.map((row) => getVisibleRowData(row, columns));\n const columnsContent = columns\n .filter((c) => isVisible(c))\n .reduce(\n (acc, curr, idx) => `${acc}${idx === 0 ? '' : ','}${curr.label}`,\n '',\n );\n const rowsContent = dataToExport\n .map((e) =>\n e\n .map((r) => `\"${String(getCellValue(r)).replace(/\"/g, '\"\"')}\"`)\n .join(','),\n )\n .join('\\r\\n');\n const csvContent = `${columnsContent}\\r\\n${rowsContent}`;\n return csvContent;\n};\n\n// eslint-disable-next-line max-statements\nconst exportTo = (\n rows,\n columns,\n { range, fileName, type, excludedColumns },\n) => {\n if (excludedColumns) {\n // eslint-disable-next-line no-param-reassign\n columns = columns.filter((col) => !excludedColumns.includes(col.property));\n }\n const csvContent = getExportedData(rows, columns, range);\n\n const blob = new Blob([csvContent], { type: 'text/csv;charset=utf-8;' });\n if (navigator.msSaveBlob) {\n // IE 10+\n navigator.msSaveBlob(blob, `${fileName}.${type}`);\n } else {\n const link = document.createElement('a');\n if (link.download !== undefined) {\n // feature detection\n // Browsers that support HTML5 download attribute\n const url = URL.createObjectURL(blob);\n link.setAttribute('href', url);\n link.setAttribute('download', `${fileName}.${type}`);\n link.style.visibility = 'hidden';\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n }\n }\n};\n\nexport const ExportDataPlugin = createInstancePlugin('export-data', {\n decorateGrid(instance) {\n return {\n exportRows(opts = {}) {\n const {\n composedRows: rows,\n columns,\n uuid,\n props: { rowKey },\n state: { selection },\n } = instance.getInstance();\n const options = getOptions(opts, uuid);\n // check paginated rows\n let currentRows = rows.allRows || rows;\n if (opts.onlySelection) {\n const selectedRows = Object.keys(selection.selectedRows);\n currentRows = currentRows.filter((r) =>\n selectedRows.includes(String(r[rowKey])),\n );\n }\n\n exportTo(currentRows, columns, options);\n },\n exportVisibleRows(opts = {}) {\n const {\n composedRows: rows,\n columns,\n uuid,\n props: { rowKey },\n state: { selection },\n } = instance.getInstance();\n const options = getOptions(opts, uuid);\n\n // check paginated rows\n let currentRows = rows.rows || rows;\n if (opts.onlySelection) {\n const selectedRows = Object.keys(selection.selectedRows);\n currentRows = currentRows.filter((r) =>\n selectedRows.includes(String(r[rowKey])),\n );\n }\n\n exportTo(currentRows, columns, options);\n },\n };\n },\n});\n"],"names":["isVisible","column","visible","getColumnValue","row","property","get","getVisibleRowData","columns","reduce","result","columnProperty","defaultOptions","uuid","sheetName","fileName","type","onlySelection","excludedColumns","undefined","getOptions","opts","getCellValue","cell","getExportedData","rows","range","rowsRanged","slice","dataToExport","map","columnsContent","filter","c","acc","curr","idx","label","rowsContent","e","r","String","replace","join","csvContent","exportTo","col","includes","blob","Blob","navigator","msSaveBlob","link","document","createElement","download","url","URL","createObjectURL","setAttribute","style","visibility","body","appendChild","click","removeChild","ExportDataPlugin","createInstancePlugin","decorateGrid","instance","exportRows","getInstance","composedRows","rowKey","props","selection","state","options","currentRows","allRows","selectedRows","Object","keys","exportVisibleRows"],"mappings":"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"}
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var plugins_exportData_ExportDataPlugin = require('./ExportDataPlugin.js');
6
6
  require('@babel/runtime/helpers/defineProperty');
7
7
  require('@babel/runtime/helpers/toConsumableArray');
8
- require('@elliemae/ds-utilities/utils');
8
+ require('@elliemae/ds-utilities');
9
9
  require('@elliemae/ds-shared/createDataInstance/createInstancePlugin');
10
10
 
11
11
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var utils = require('@elliemae/ds-utilities/utils');
5
+ var dsUtilities = require('@elliemae/ds-utilities');
6
6
  var createInstancePlugin = require('@elliemae/ds-shared/createDataInstance/createInstancePlugin');
7
7
  var plugins_filterable_addFilterToColumn = require('./addFilterToColumn.js');
8
8
  var plugins_filterable_filteringHelper_filterRowsByQuery = require('./filtering-helper/filterRowsByQuery.js');
@@ -16,28 +16,27 @@ require('@babel/runtime/helpers/extends');
16
16
  require('@babel/runtime/helpers/slicedToArray');
17
17
  require('prop-types');
18
18
  require('@elliemae/ds-classnames');
19
- require('@elliemae/ds-utilities/hooks/useResizeObserver');
20
19
  require('@elliemae/ds-system');
21
20
  require('./components/filterable-menus/getFilterMenuByType.js');
22
21
  require('./components/filterable-menus/DateRangeFilterMenu.js');
23
22
  require('@elliemae/ds-controlled-form');
24
- require('@elliemae/ds-basic/Popper');
25
- require('@elliemae/ds-icons/DatePicker2');
26
- require('@elliemae/ds-basic/Button');
23
+ require('@elliemae/ds-popper');
24
+ require('@elliemae/ds-icons');
25
+ require('@elliemae/ds-button');
27
26
  require('moment');
28
27
  require('./components/filterable-menus/defaultDateFormat.js');
29
28
  require('./components/filterable-menus/SingleDateFilterMenu.js');
30
29
  require('@elliemae/ds-grid');
31
30
  require('./components/filterable-menus/SingleRangeSwitcherMenu.js');
32
- require('@babel/runtime/helpers/objectWithoutProperties');
33
- require('@elliemae/ds-date-range-picker');
34
- require('@elliemae/ds-date-picker');
31
+ require('@elliemae/ds-basic/Popper');
32
+ require('@elliemae/ds-basic/Button');
33
+ require('styled-components');
35
34
  require('./components/filterable-menus/TextFilterMenu.js');
36
35
  require('@babel/runtime/helpers/toConsumableArray');
36
+ require('@babel/runtime/helpers/objectWithoutProperties');
37
37
  require('lodash');
38
38
  require('@elliemae/ds-dropdownmenu');
39
39
  require('@elliemae/ds-menu');
40
- require('@elliemae/ds-icons/SearchSmall');
41
40
  require('./helper.js');
42
41
  require('./filtering-helper/strategiesOperators.js');
43
42
  require('comparejs');
@@ -98,8 +97,8 @@ var FilterablePlugin = createInstancePlugin__default['default']('filterable', {
98
97
  decoratedColumns = _grid$getInstance2.decoratedColumns;
99
98
 
100
99
  var column = decoratedColumns[cellIndex];
101
- var toggleMenuMethod = utils.get(column, ['filterMenu', 'current', 'toggleMenu']);
102
- if (utils.isFunction(toggleMenuMethod)) toggleMenuMethod();
100
+ var toggleMenuMethod = dsUtilities.get(column, ['filterMenu', 'current', 'toggleMenu']);
101
+ if (dsUtilities.isFunction(toggleMenuMethod)) toggleMenuMethod();
103
102
  }
104
103
  };
105
104
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FilterablePlugin.js","sources":["../../../../src/plugins/filterable/FilterablePlugin.tsx"],"sourcesContent":["/* eslint-disable indent */\nimport { get, isFunction } from '@elliemae/ds-utilities/utils';\nimport createInstancePlugin from '@elliemae/ds-shared/createDataInstance/createInstancePlugin';\nimport { addFilterToColumn } from './addFilterToColumn';\n\nimport filterRowsByQuery, {\n filterRowsByQueryGroup,\n} from './filtering-helper/filterRowsByQuery';\nimport { useFilterableState } from './useFilterableState';\n\nconst decorateColumn = (column, grid) => {\n const {\n props: {\n isFilterableColumnActive = (col) => col.searchable,\n onRemoveAllFilters,\n },\n actions: { addFilter, removeFilter },\n state: { query, filters },\n } = grid;\n\n return isFilterableColumnActive(column)\n ? addFilterToColumn(\n {\n grid,\n onAddFilter: addFilter,\n onRemoveFilter: removeFilter,\n onRemoveAllFilters,\n query,\n filters,\n },\n column,\n )\n : column;\n};\n\nconst composeRows = (rows, grid) => {\n const {\n props: { isDataFiltered, groupedRows },\n state: { query },\n composedRows,\n } = grid.getInstance();\n const nextRows = !groupedRows\n ? filterRowsByQuery(rows, query)\n : filterRowsByQueryGroup(rows, query, composedRows);\n\n return !isDataFiltered ? nextRows : rows;\n};\n\nexport const FilterablePlugin = createInstancePlugin('filterable', {\n registerStateHook: useFilterableState,\n decorateColumn,\n composeRows,\n registerHotKeys(grid) {\n return {\n key: 'ctrl+f',\n handler: ({ cellIndex }) => {\n const { decoratedColumns } = grid.getInstance();\n\n const column = decoratedColumns[cellIndex];\n const toggleMenuMethod = get(column, [\n 'filterMenu',\n 'current',\n 'toggleMenu',\n ]);\n if (isFunction(toggleMenuMethod)) toggleMenuMethod();\n },\n };\n },\n});\n"],"names":["decorateColumn","column","grid","props","isFilterableColumnActive","col","searchable","onRemoveAllFilters","actions","addFilter","removeFilter","state","query","filters","addFilterToColumn","onAddFilter","onRemoveFilter","composeRows","rows","getInstance","isDataFiltered","groupedRows","composedRows","nextRows","filterRowsByQuery","filterRowsByQueryGroup","FilterablePlugin","createInstancePlugin","registerStateHook","useFilterableState","registerHotKeys","key","handler","cellIndex","decoratedColumns","toggleMenuMethod","get","isFunction"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAUA,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,CAACC,MAAD,EAASC,IAAT,EAAkB;AACvC,oBAOIA,IAPJ,CACEC,KADF;AAAA,0CAEIC,wBAFJ;AAAA,MAEIA,wBAFJ,sCAE+B,UAACC,GAAD;AAAA,WAASA,GAAG,CAACC,UAAb;AAAA,GAF/B;AAAA,MAGIC,kBAHJ,eAGIA,kBAHJ;AAAA,sBAOIL,IAPJ,CAKEM,OALF;AAAA,MAKaC,SALb,iBAKaA,SALb;AAAA,MAKwBC,YALxB,iBAKwBA,YALxB;AAAA,oBAOIR,IAPJ,CAMES,KANF;AAAA,MAMWC,KANX,eAMWA,KANX;AAAA,MAMkBC,OANlB,eAMkBA,OANlB;AASA,SAAOT,wBAAwB,CAACH,MAAD,CAAxB,GACHa,sDAAiB,CACf;AACEZ,IAAAA,IAAI,EAAJA,IADF;AAEEa,IAAAA,WAAW,EAAEN,SAFf;AAGEO,IAAAA,cAAc,EAAEN,YAHlB;AAIEH,IAAAA,kBAAkB,EAAlBA,kBAJF;AAKEK,IAAAA,KAAK,EAALA,KALF;AAMEC,IAAAA,OAAO,EAAPA;AANF,GADe,EASfZ,MATe,CADd,GAYHA,MAZJ;AAaD,CAvBD;;AAyBA,IAAMgB,WAAW,GAAG,SAAdA,WAAc,CAACC,IAAD,EAAOhB,IAAP,EAAgB;AAClC,0BAIIA,IAAI,CAACiB,WAAL,EAJJ;AAAA,gDACEhB,KADF;AAAA,MACWiB,cADX,yBACWA,cADX;AAAA,MAC2BC,WAD3B,yBAC2BA,WAD3B;AAAA,MAEWT,KAFX,qBAEED,KAFF,CAEWC,KAFX;AAAA,MAGEU,YAHF,qBAGEA,YAHF;;AAKA,MAAMC,QAAQ,GAAG,CAACF,WAAD,GACbG,+DAAiB,CAACN,IAAD,EAAON,KAAP,CADJ,GAEba,2EAAsB,CAACP,IAAD,EAAON,KAAP,EAAcU,YAAd,CAF1B;AAIA,SAAO,CAACF,cAAD,GAAkBG,QAAlB,GAA6BL,IAApC;AACD,CAXD;;IAaaQ,gBAAgB,GAAGC,wCAAoB,CAAC,YAAD,EAAe;AACjEC,EAAAA,iBAAiB,EAAEC,wDAD8C;AAEjE7B,EAAAA,cAAc,EAAdA,cAFiE;AAGjEiB,EAAAA,WAAW,EAAXA,WAHiE;AAIjEa,EAAAA,eAJiE,2BAIjD5B,IAJiD,EAI3C;AACpB,WAAO;AACL6B,MAAAA,GAAG,EAAE,QADA;AAELC,MAAAA,OAAO,EAAE,uBAAmB;AAAA,YAAhBC,SAAgB,QAAhBA,SAAgB;;AAC1B,iCAA6B/B,IAAI,CAACiB,WAAL,EAA7B;AAAA,YAAQe,gBAAR,sBAAQA,gBAAR;;AAEA,YAAMjC,MAAM,GAAGiC,gBAAgB,CAACD,SAAD,CAA/B;AACA,YAAME,gBAAgB,GAAGC,SAAG,CAACnC,MAAD,EAAS,CACnC,YADmC,EAEnC,SAFmC,EAGnC,YAHmC,CAAT,CAA5B;AAKA,YAAIoC,gBAAU,CAACF,gBAAD,CAAd,EAAkCA,gBAAgB;AACnD;AAZI,KAAP;AAcD;AAnBgE,CAAf;;;;"}
1
+ {"version":3,"file":"FilterablePlugin.js","sources":["../../../../src/plugins/filterable/FilterablePlugin.tsx"],"sourcesContent":["/* eslint-disable indent */\nimport { get, isFunction } from '@elliemae/ds-utilities';\nimport createInstancePlugin from '@elliemae/ds-shared/createDataInstance/createInstancePlugin';\nimport { addFilterToColumn } from './addFilterToColumn';\n\nimport filterRowsByQuery, {\n filterRowsByQueryGroup,\n} from './filtering-helper/filterRowsByQuery';\nimport { useFilterableState } from './useFilterableState';\n\nconst decorateColumn = (column, grid) => {\n const {\n props: {\n isFilterableColumnActive = (col) => col.searchable,\n onRemoveAllFilters,\n },\n actions: { addFilter, removeFilter },\n state: { query, filters },\n } = grid;\n\n return isFilterableColumnActive(column)\n ? addFilterToColumn(\n {\n grid,\n onAddFilter: addFilter,\n onRemoveFilter: removeFilter,\n onRemoveAllFilters,\n query,\n filters,\n },\n column,\n )\n : column;\n};\n\nconst composeRows = (rows, grid) => {\n const {\n props: { isDataFiltered, groupedRows },\n state: { query },\n composedRows,\n } = grid.getInstance();\n const nextRows = !groupedRows\n ? filterRowsByQuery(rows, query)\n : filterRowsByQueryGroup(rows, query, composedRows);\n\n return !isDataFiltered ? nextRows : rows;\n};\n\nexport const FilterablePlugin = createInstancePlugin('filterable', {\n registerStateHook: useFilterableState,\n decorateColumn,\n composeRows,\n registerHotKeys(grid) {\n return {\n key: 'ctrl+f',\n handler: ({ cellIndex }) => {\n const { decoratedColumns } = grid.getInstance();\n\n const column = decoratedColumns[cellIndex];\n const toggleMenuMethod = get(column, [\n 'filterMenu',\n 'current',\n 'toggleMenu',\n ]);\n if (isFunction(toggleMenuMethod)) toggleMenuMethod();\n },\n };\n },\n});\n"],"names":["decorateColumn","column","grid","props","isFilterableColumnActive","col","searchable","onRemoveAllFilters","actions","addFilter","removeFilter","state","query","filters","addFilterToColumn","onAddFilter","onRemoveFilter","composeRows","rows","getInstance","isDataFiltered","groupedRows","composedRows","nextRows","filterRowsByQuery","filterRowsByQueryGroup","FilterablePlugin","createInstancePlugin","registerStateHook","useFilterableState","registerHotKeys","key","handler","cellIndex","decoratedColumns","toggleMenuMethod","get","isFunction"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAUA,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,CAACC,MAAD,EAASC,IAAT,EAAkB;AACvC,oBAOIA,IAPJ,CACEC,KADF;AAAA,0CAEIC,wBAFJ;AAAA,MAEIA,wBAFJ,sCAE+B,UAACC,GAAD;AAAA,WAASA,GAAG,CAACC,UAAb;AAAA,GAF/B;AAAA,MAGIC,kBAHJ,eAGIA,kBAHJ;AAAA,sBAOIL,IAPJ,CAKEM,OALF;AAAA,MAKaC,SALb,iBAKaA,SALb;AAAA,MAKwBC,YALxB,iBAKwBA,YALxB;AAAA,oBAOIR,IAPJ,CAMES,KANF;AAAA,MAMWC,KANX,eAMWA,KANX;AAAA,MAMkBC,OANlB,eAMkBA,OANlB;AASA,SAAOT,wBAAwB,CAACH,MAAD,CAAxB,GACHa,sDAAiB,CACf;AACEZ,IAAAA,IAAI,EAAJA,IADF;AAEEa,IAAAA,WAAW,EAAEN,SAFf;AAGEO,IAAAA,cAAc,EAAEN,YAHlB;AAIEH,IAAAA,kBAAkB,EAAlBA,kBAJF;AAKEK,IAAAA,KAAK,EAALA,KALF;AAMEC,IAAAA,OAAO,EAAPA;AANF,GADe,EASfZ,MATe,CADd,GAYHA,MAZJ;AAaD,CAvBD;;AAyBA,IAAMgB,WAAW,GAAG,SAAdA,WAAc,CAACC,IAAD,EAAOhB,IAAP,EAAgB;AAClC,0BAIIA,IAAI,CAACiB,WAAL,EAJJ;AAAA,gDACEhB,KADF;AAAA,MACWiB,cADX,yBACWA,cADX;AAAA,MAC2BC,WAD3B,yBAC2BA,WAD3B;AAAA,MAEWT,KAFX,qBAEED,KAFF,CAEWC,KAFX;AAAA,MAGEU,YAHF,qBAGEA,YAHF;;AAKA,MAAMC,QAAQ,GAAG,CAACF,WAAD,GACbG,+DAAiB,CAACN,IAAD,EAAON,KAAP,CADJ,GAEba,2EAAsB,CAACP,IAAD,EAAON,KAAP,EAAcU,YAAd,CAF1B;AAIA,SAAO,CAACF,cAAD,GAAkBG,QAAlB,GAA6BL,IAApC;AACD,CAXD;;IAaaQ,gBAAgB,GAAGC,wCAAoB,CAAC,YAAD,EAAe;AACjEC,EAAAA,iBAAiB,EAAEC,wDAD8C;AAEjE7B,EAAAA,cAAc,EAAdA,cAFiE;AAGjEiB,EAAAA,WAAW,EAAXA,WAHiE;AAIjEa,EAAAA,eAJiE,2BAIjD5B,IAJiD,EAI3C;AACpB,WAAO;AACL6B,MAAAA,GAAG,EAAE,QADA;AAELC,MAAAA,OAAO,EAAE,uBAAmB;AAAA,YAAhBC,SAAgB,QAAhBA,SAAgB;;AAC1B,iCAA6B/B,IAAI,CAACiB,WAAL,EAA7B;AAAA,YAAQe,gBAAR,sBAAQA,gBAAR;;AAEA,YAAMjC,MAAM,GAAGiC,gBAAgB,CAACD,SAAD,CAA/B;AACA,YAAME,gBAAgB,GAAGC,eAAG,CAACnC,MAAD,EAAS,CACnC,YADmC,EAEnC,SAFmC,EAGnC,YAHmC,CAAT,CAA5B;AAKA,YAAIoC,sBAAU,CAACF,gBAAD,CAAd,EAAkCA,gBAAgB;AACnD;AAZI,KAAP;AAcD;AAnBgE,CAAf;;;;"}
@@ -11,29 +11,28 @@ require('@babel/runtime/helpers/extends');
11
11
  require('@babel/runtime/helpers/slicedToArray');
12
12
  require('prop-types');
13
13
  require('@elliemae/ds-classnames');
14
- require('@elliemae/ds-utilities/utils');
15
- require('@elliemae/ds-utilities/hooks/useResizeObserver');
14
+ require('@elliemae/ds-utilities');
16
15
  require('@elliemae/ds-system');
17
16
  require('./components/filterable-menus/getFilterMenuByType.js');
18
17
  require('./components/filterable-menus/DateRangeFilterMenu.js');
19
18
  require('@elliemae/ds-controlled-form');
20
- require('@elliemae/ds-basic/Popper');
21
- require('@elliemae/ds-icons/DatePicker2');
22
- require('@elliemae/ds-basic/Button');
19
+ require('@elliemae/ds-popper');
20
+ require('@elliemae/ds-icons');
21
+ require('@elliemae/ds-button');
23
22
  require('moment');
24
23
  require('./components/filterable-menus/defaultDateFormat.js');
25
24
  require('./components/filterable-menus/SingleDateFilterMenu.js');
26
25
  require('@elliemae/ds-grid');
27
26
  require('./components/filterable-menus/SingleRangeSwitcherMenu.js');
28
- require('@babel/runtime/helpers/objectWithoutProperties');
29
- require('@elliemae/ds-date-range-picker');
30
- require('@elliemae/ds-date-picker');
27
+ require('@elliemae/ds-basic/Popper');
28
+ require('@elliemae/ds-basic/Button');
29
+ require('styled-components');
31
30
  require('./components/filterable-menus/TextFilterMenu.js');
32
31
  require('@babel/runtime/helpers/toConsumableArray');
32
+ require('@babel/runtime/helpers/objectWithoutProperties');
33
33
  require('lodash');
34
34
  require('@elliemae/ds-dropdownmenu');
35
35
  require('@elliemae/ds-menu');
36
- require('@elliemae/ds-icons/SearchSmall');
37
36
  require('./helper.js');
38
37
 
39
38
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -1 +1 @@
1
- {"version":3,"file":"addFilterToColumn.js","sources":["../../../../src/plugins/filterable/addFilterToColumn.tsx"],"sourcesContent":["import { createRef } from 'react';\nimport { mergeClassNameToColumnHeader } from '@elliemae/ds-shared/useDataGrid/initColumnDefinition';\nimport filterableFormatter from './filterableFormatter';\n\nexport const addFilterToColumn = (props, column) => {\n const filterMenuRef = createRef();\n column.header.formatters.push(\n filterableFormatter({ ...props, filterMenuRef }),\n );\n column.filterMenu = filterMenuRef;\n return mergeClassNameToColumnHeader('with-filtering', column);\n};\n"],"names":["addFilterToColumn","props","column","filterMenuRef","createRef","header","formatters","push","filterableFormatter","filterMenu","mergeClassNameToColumnHeader"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAIaA,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,KAAD,EAAQC,MAAR,EAAmB;AAClD,MAAMC,aAAa,gBAAGC,eAAS,EAA/B;AACAF,EAAAA,MAAM,CAACG,MAAP,CAAcC,UAAd,CAAyBC,IAAzB,CACEC,sCAAmB,iCAAMP,KAAN;AAAaE,IAAAA,aAAa,EAAbA;AAAb,KADrB;AAGAD,EAAAA,MAAM,CAACO,UAAP,GAAoBN,aAApB;AACA,SAAOO,iDAA4B,CAAC,gBAAD,EAAmBR,MAAnB,CAAnC;AACD;;;;"}
1
+ {"version":3,"file":"addFilterToColumn.js","sources":["../../../../src/plugins/filterable/addFilterToColumn.tsx"],"sourcesContent":["import { createRef } from 'react';\nimport { mergeClassNameToColumnHeader } from '@elliemae/ds-shared/useDataGrid/initColumnDefinition';\nimport filterableFormatter from './filterableFormatter';\n\nexport const addFilterToColumn = (props, column) => {\n const filterMenuRef = createRef();\n column.header.formatters.push(\n filterableFormatter({ ...props, filterMenuRef }),\n );\n column.filterMenu = filterMenuRef;\n return mergeClassNameToColumnHeader('with-filtering', column);\n};\n"],"names":["addFilterToColumn","props","column","filterMenuRef","createRef","header","formatters","push","filterableFormatter","filterMenu","mergeClassNameToColumnHeader"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAIaA,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,KAAD,EAAQC,MAAR,EAAmB;AAClD,MAAMC,aAAa,gBAAGC,eAAS,EAA/B;AACAF,EAAAA,MAAM,CAACG,MAAP,CAAcC,UAAd,CAAyBC,IAAzB,CACEC,sCAAmB,iCAAMP,KAAN;AAAaE,IAAAA,aAAa,EAAbA;AAAb,KADrB;AAGAD,EAAAA,MAAM,CAACO,UAAP,GAAoBN,aAApB;AACA,SAAOO,iDAA4B,CAAC,gBAAD,EAAmBR,MAAnB,CAAnC;AACD;;;;"}
@@ -5,30 +5,29 @@ var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
5
5
  var React = require('react');
6
6
  var PropTypes = require('prop-types');
7
7
  var dsClassnames = require('@elliemae/ds-classnames');
8
- var utils = require('@elliemae/ds-utilities/utils');
9
- var useResizeObserver = require('@elliemae/ds-utilities/hooks/useResizeObserver');
8
+ var dsUtilities = require('@elliemae/ds-utilities');
10
9
  var dsSystem = require('@elliemae/ds-system');
11
10
  var plugins_filterable_components_filterableMenus_getFilterMenuByType = require('./filterable-menus/getFilterMenuByType.js');
12
11
  require('./filterable-menus/DateRangeFilterMenu.js');
13
12
  require('@elliemae/ds-controlled-form');
14
- require('@elliemae/ds-basic/Popper');
15
- require('@elliemae/ds-icons/DatePicker2');
16
- require('@elliemae/ds-basic/Button');
13
+ require('@elliemae/ds-popper');
14
+ require('@elliemae/ds-icons');
15
+ require('@elliemae/ds-button');
17
16
  require('moment');
18
17
  require('./filterable-menus/defaultDateFormat.js');
19
18
  require('./filterable-menus/SingleDateFilterMenu.js');
20
19
  require('@elliemae/ds-grid');
21
20
  require('./filterable-menus/SingleRangeSwitcherMenu.js');
22
- require('@babel/runtime/helpers/defineProperty');
23
- require('@babel/runtime/helpers/objectWithoutProperties');
24
- require('@elliemae/ds-date-range-picker');
25
- require('@elliemae/ds-date-picker');
21
+ require('@elliemae/ds-basic/Popper');
22
+ require('@elliemae/ds-basic/Button');
23
+ require('styled-components');
26
24
  require('./filterable-menus/TextFilterMenu.js');
25
+ require('@babel/runtime/helpers/defineProperty');
27
26
  require('@babel/runtime/helpers/toConsumableArray');
27
+ require('@babel/runtime/helpers/objectWithoutProperties');
28
28
  require('lodash');
29
29
  require('@elliemae/ds-dropdownmenu');
30
30
  require('@elliemae/ds-menu');
31
- require('@elliemae/ds-icons/SearchSmall');
32
31
 
33
32
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
34
33
 
@@ -36,7 +35,6 @@ var _extends__default = /*#__PURE__*/_interopDefaultLegacy(_extends);
36
35
  var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
37
36
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
38
37
  var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
39
- var useResizeObserver__default = /*#__PURE__*/_interopDefaultLegacy(useResizeObserver);
40
38
 
41
39
  var blockName = 'data-grid-filter-header';
42
40
  var Container = dsClassnames.aggregatedClasses('div')(blockName, null, function (_ref) {
@@ -69,7 +67,7 @@ function FilterableHeader(_ref2) {
69
67
  headerWidth = _useState4[0],
70
68
  setHeaderWidth = _useState4[1];
71
69
 
72
- var debouncedWidthSetter = utils.debounce(setHeaderWidth, 200);
70
+ var debouncedWidthSetter = dsUtilities.debounce(setHeaderWidth, 200);
73
71
  var filterMenuMinWidth = column.filterMenuMinWidth,
74
72
  filterMenuMaxWidth = column.filterMenuMaxWidth;
75
73
  var theme = dsSystem.useTheme();
@@ -99,7 +97,7 @@ function FilterableHeader(_ref2) {
99
97
  if (!isMenuOpened) onFilterMenuClose(column);else onFilterMenuOpen(column);
100
98
  });
101
99
 
102
- var _useResizeObserver = useResizeObserver__default['default'](defineHeaderWidth),
100
+ var _useResizeObserver = dsUtilities.useResizeObserver(defineHeaderWidth),
103
101
  _useResizeObserver2 = _slicedToArray__default['default'](_useResizeObserver, 1),
104
102
  ref = _useResizeObserver2[0];
105
103
 
@@ -107,7 +105,7 @@ function FilterableHeader(_ref2) {
107
105
  setMenuOpened(open);
108
106
  if (open) onFilterMenuOpen();
109
107
  }, []);
110
- var FilterMenuComponent = plugins_filterable_components_filterableMenus_getFilterMenuByType(utils.get(column, ['filter', 'type']));
108
+ var FilterMenuComponent = plugins_filterable_components_filterableMenus_getFilterMenuByType(dsUtilities.get(column, ['filter', 'type']));
111
109
  return /*#__PURE__*/React__default['default'].createElement(Container, {
112
110
  ref: ref,
113
111
  classProps: {
@@ -136,7 +134,7 @@ function FilterableHeader(_ref2) {
136
134
  onOpenMenu: handleOpenMenu,
137
135
  onClose: onFilterMenuClose,
138
136
  width: headerWidth
139
- }, utils.get(column, ['filter'], {})))));
137
+ }, dsUtilities.get(column, ['filter'], {})))));
140
138
  }
141
139
  FilterableHeader.propTypes = {
142
140
  column: PropTypes__default['default'].any,
@@ -1 +1 @@
1
- {"version":3,"file":"FilterableHeader.js","sources":["../../../../../src/plugins/filterable/components/FilterableHeader.tsx"],"sourcesContent":["/* eslint-disable no-param-reassign */\nimport React, { useCallback, useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport { get, debounce } from '@elliemae/ds-utilities/utils';\nimport useResizeObserver from '@elliemae/ds-utilities/hooks/useResizeObserver';\nimport { useTheme } from '@elliemae/ds-system';\nimport getFilterMenuByType from './filterable-menus/getFilterMenuByType';\n\nconst blockName = 'data-grid-filter-header';\n\nconst Container = aggregatedClasses('div')(\n blockName,\n null,\n ({ showFilter }) => ({\n 'show-filter': showFilter,\n }),\n);\nconst FilterHeaderValue = aggregatedClasses('div')(blockName, 'value');\nconst FilterHeaderButton = aggregatedClasses('div')(blockName, 'button');\n\nexport default function FilterableHeader({\n column,\n value,\n columnData,\n onAddFilter,\n onRemoveFilter,\n filterMenuRef,\n onFilterMenuClose,\n onFilterMenuOpen,\n filters,\n isMulti,\n}) {\n const [isMenuOpened, setMenuOpened] = useState(false);\n const [headerWidth, setHeaderWidth] = useState();\n const debouncedWidthSetter = debounce(setHeaderWidth, 200);\n const { filterMenuMinWidth, filterMenuMaxWidth } = column;\n const theme = useTheme();\n const dropdownMinWidth =\n filterMenuMinWidth || Number(theme.space.xl.replace('px', '')) * 2;\n\n const defineHeaderWidth = ({ width }) => {\n let nextWidth = width + 16; // todo: use dimsum space once we convert it to JS\n if (nextWidth < dropdownMinWidth) nextWidth = dropdownMinWidth;\n if (filterMenuMaxWidth && nextWidth > filterMenuMaxWidth)\n nextWidth = filterMenuMaxWidth;\n return !isMenuOpened\n ? debouncedWidthSetter(nextWidth)\n : setHeaderWidth(nextWidth);\n };\n\n useEffect(() => {\n if (filterMenuRef) {\n filterMenuRef.current = {\n toggleMenu: () => setMenuOpened((prevState) => !prevState),\n };\n }\n }, [filterMenuRef]);\n\n useEffect(() => {\n if (!isMenuOpened) onFilterMenuClose(column);\n else onFilterMenuOpen(column);\n });\n\n const [ref] = useResizeObserver(defineHeaderWidth);\n const handleOpenMenu = useCallback((open) => {\n setMenuOpened(open);\n if (open) onFilterMenuOpen();\n }, []);\n const FilterMenuComponent = getFilterMenuByType(\n get(column, ['filter', 'type']),\n );\n return (\n <Container ref={ref} classProps={{ showFilter: isMenuOpened }}>\n <FilterHeaderValue className=\"header-value\">{value}</FilterHeaderValue>\n <FilterHeaderButton data-testid=\"data-grid-filter-header__button\">\n <FilterMenuComponent\n className=\"filter-header-menu\"\n column={column}\n filters={filters}\n isMenuOpened={isMenuOpened}\n isMulti={isMulti}\n menuProps={{\n options: columnData || [],\n style: { minWidth: headerWidth, maxWidth: filterMenuMaxWidth },\n zIndex: 100,\n }}\n onAddFilter={onAddFilter}\n onRemoveFilter={onRemoveFilter}\n onOpenMenu={handleOpenMenu}\n onClose={onFilterMenuClose}\n width={headerWidth}\n {...get(column, ['filter'], {})}\n />\n </FilterHeaderButton>\n </Container>\n );\n}\n\nFilterableHeader.propTypes = {\n column: PropTypes.any,\n value: PropTypes.any,\n columnData: PropTypes.any,\n onAddFilter: PropTypes.func,\n onRemoveFilter: PropTypes.func,\n filterMenuRef: PropTypes.any,\n onFilterMenuClose: PropTypes.func,\n onFilterMenuOpen: PropTypes.func,\n filters: PropTypes.arrayOf(PropTypes.shape({})),\n isMulti: PropTypes.bool,\n};\n"],"names":["blockName","Container","aggregatedClasses","showFilter","FilterHeaderValue","FilterHeaderButton","FilterableHeader","column","value","columnData","onAddFilter","onRemoveFilter","filterMenuRef","onFilterMenuClose","onFilterMenuOpen","filters","isMulti","useState","isMenuOpened","setMenuOpened","headerWidth","setHeaderWidth","debouncedWidthSetter","debounce","filterMenuMinWidth","filterMenuMaxWidth","theme","useTheme","dropdownMinWidth","Number","space","xl","replace","defineHeaderWidth","width","nextWidth","useEffect","current","toggleMenu","prevState","useResizeObserver","ref","handleOpenMenu","useCallback","open","FilterMenuComponent","getFilterMenuByType","get","React","options","style","minWidth","maxWidth","zIndex","propTypes","PropTypes","any","func","arrayOf","shape","bool"],"mappings":"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"}
1
+ {"version":3,"file":"FilterableHeader.js","sources":["../../../../../src/plugins/filterable/components/FilterableHeader.tsx"],"sourcesContent":["/* eslint-disable no-param-reassign */\nimport React, { useCallback, useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport { get, debounce ,useResizeObserver} from '@elliemae/ds-utilities';\nimport { useTheme } from '@elliemae/ds-system';\nimport getFilterMenuByType from './filterable-menus/getFilterMenuByType';\n\nconst blockName = 'data-grid-filter-header';\n\nconst Container = aggregatedClasses('div')(\n blockName,\n null,\n ({ showFilter }) => ({\n 'show-filter': showFilter,\n }),\n);\nconst FilterHeaderValue = aggregatedClasses('div')(blockName, 'value');\nconst FilterHeaderButton = aggregatedClasses('div')(blockName, 'button');\n\nexport default function FilterableHeader({\n column,\n value,\n columnData,\n onAddFilter,\n onRemoveFilter,\n filterMenuRef,\n onFilterMenuClose,\n onFilterMenuOpen,\n filters,\n isMulti,\n}) {\n const [isMenuOpened, setMenuOpened] = useState(false);\n const [headerWidth, setHeaderWidth] = useState();\n const debouncedWidthSetter = debounce(setHeaderWidth, 200);\n const { filterMenuMinWidth, filterMenuMaxWidth } = column;\n const theme = useTheme();\n const dropdownMinWidth =\n filterMenuMinWidth || Number(theme.space.xl.replace('px', '')) * 2;\n\n const defineHeaderWidth = ({ width }) => {\n let nextWidth = width + 16; // todo: use dimsum space once we convert it to JS\n if (nextWidth < dropdownMinWidth) nextWidth = dropdownMinWidth;\n if (filterMenuMaxWidth && nextWidth > filterMenuMaxWidth)\n nextWidth = filterMenuMaxWidth;\n return !isMenuOpened\n ? debouncedWidthSetter(nextWidth)\n : setHeaderWidth(nextWidth);\n };\n\n useEffect(() => {\n if (filterMenuRef) {\n filterMenuRef.current = {\n toggleMenu: () => setMenuOpened((prevState) => !prevState),\n };\n }\n }, [filterMenuRef]);\n\n useEffect(() => {\n if (!isMenuOpened) onFilterMenuClose(column);\n else onFilterMenuOpen(column);\n });\n\n const [ref] = useResizeObserver(defineHeaderWidth);\n const handleOpenMenu = useCallback((open) => {\n setMenuOpened(open);\n if (open) onFilterMenuOpen();\n }, []);\n const FilterMenuComponent = getFilterMenuByType(\n get(column, ['filter', 'type']),\n );\n return (\n <Container ref={ref} classProps={{ showFilter: isMenuOpened }}>\n <FilterHeaderValue className=\"header-value\">{value}</FilterHeaderValue>\n <FilterHeaderButton data-testid=\"data-grid-filter-header__button\">\n <FilterMenuComponent\n className=\"filter-header-menu\"\n column={column}\n filters={filters}\n isMenuOpened={isMenuOpened}\n isMulti={isMulti}\n menuProps={{\n options: columnData || [],\n style: { minWidth: headerWidth, maxWidth: filterMenuMaxWidth },\n zIndex: 100,\n }}\n onAddFilter={onAddFilter}\n onRemoveFilter={onRemoveFilter}\n onOpenMenu={handleOpenMenu}\n onClose={onFilterMenuClose}\n width={headerWidth}\n {...get(column, ['filter'], {})}\n />\n </FilterHeaderButton>\n </Container>\n );\n}\n\nFilterableHeader.propTypes = {\n column: PropTypes.any,\n value: PropTypes.any,\n columnData: PropTypes.any,\n onAddFilter: PropTypes.func,\n onRemoveFilter: PropTypes.func,\n filterMenuRef: PropTypes.any,\n onFilterMenuClose: PropTypes.func,\n onFilterMenuOpen: PropTypes.func,\n filters: PropTypes.arrayOf(PropTypes.shape({})),\n isMulti: PropTypes.bool,\n};\n"],"names":["blockName","Container","aggregatedClasses","showFilter","FilterHeaderValue","FilterHeaderButton","FilterableHeader","column","value","columnData","onAddFilter","onRemoveFilter","filterMenuRef","onFilterMenuClose","onFilterMenuOpen","filters","isMulti","useState","isMenuOpened","setMenuOpened","headerWidth","setHeaderWidth","debouncedWidthSetter","debounce","filterMenuMinWidth","filterMenuMaxWidth","theme","useTheme","dropdownMinWidth","Number","space","xl","replace","defineHeaderWidth","width","nextWidth","useEffect","current","toggleMenu","prevState","useResizeObserver","ref","handleOpenMenu","useCallback","open","FilterMenuComponent","getFilterMenuByType","get","React","options","style","minWidth","maxWidth","zIndex","propTypes","PropTypes","any","func","arrayOf","shape","bool"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,IAAMA,SAAS,GAAG,yBAAlB;AAEA,IAAMC,SAAS,GAAGC,8BAAiB,CAAC,KAAD,CAAjB,CAChBF,SADgB,EAEhB,IAFgB,EAGhB;AAAA,MAAGG,UAAH,QAAGA,UAAH;AAAA,SAAqB;AACnB,mBAAeA;AADI,GAArB;AAAA,CAHgB,CAAlB;AAOA,IAAMC,iBAAiB,GAAGF,8BAAiB,CAAC,KAAD,CAAjB,CAAyBF,SAAzB,EAAoC,OAApC,CAA1B;AACA,IAAMK,kBAAkB,GAAGH,8BAAiB,CAAC,KAAD,CAAjB,CAAyBF,SAAzB,EAAoC,QAApC,CAA3B;AAEe,SAASM,gBAAT,QAWZ;AAAA,MAVDC,MAUC,SAVDA,MAUC;AAAA,MATDC,KASC,SATDA,KASC;AAAA,MARDC,UAQC,SARDA,UAQC;AAAA,MAPDC,WAOC,SAPDA,WAOC;AAAA,MANDC,cAMC,SANDA,cAMC;AAAA,MALDC,aAKC,SALDA,aAKC;AAAA,MAJDC,iBAIC,SAJDA,iBAIC;AAAA,MAHDC,gBAGC,SAHDA,gBAGC;AAAA,MAFDC,OAEC,SAFDA,OAEC;AAAA,MADDC,OACC,SADDA,OACC;;AACD,kBAAsCC,cAAQ,CAAC,KAAD,CAA9C;AAAA;AAAA,MAAOC,YAAP;AAAA,MAAqBC,aAArB;;AACA,mBAAsCF,cAAQ,EAA9C;AAAA;AAAA,MAAOG,WAAP;AAAA,MAAoBC,cAApB;;AACA,MAAMC,oBAAoB,GAAGC,oBAAQ,CAACF,cAAD,EAAiB,GAAjB,CAArC;AACA,MAAQG,kBAAR,GAAmDjB,MAAnD,CAAQiB,kBAAR;AAAA,MAA4BC,kBAA5B,GAAmDlB,MAAnD,CAA4BkB,kBAA5B;AACA,MAAMC,KAAK,GAAGC,iBAAQ,EAAtB;AACA,MAAMC,gBAAgB,GACpBJ,kBAAkB,IAAIK,MAAM,CAACH,KAAK,CAACI,KAAN,CAAYC,EAAZ,CAAeC,OAAf,CAAuB,IAAvB,EAA6B,EAA7B,CAAD,CAAN,GAA2C,CADnE;;AAGA,MAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,QAAe;AAAA,QAAZC,KAAY,SAAZA,KAAY;AACvC,QAAIC,SAAS,GAAGD,KAAK,GAAG,EAAxB,CADuC;;AAEvC,QAAIC,SAAS,GAAGP,gBAAhB,EAAkCO,SAAS,GAAGP,gBAAZ;AAClC,QAAIH,kBAAkB,IAAIU,SAAS,GAAGV,kBAAtC,EACEU,SAAS,GAAGV,kBAAZ;AACF,WAAO,CAACP,YAAD,GACHI,oBAAoB,CAACa,SAAD,CADjB,GAEHd,cAAc,CAACc,SAAD,CAFlB;AAGD,GARD;;AAUAC,EAAAA,eAAS,CAAC,YAAM;AACd,QAAIxB,aAAJ,EAAmB;AACjBA,MAAAA,aAAa,CAACyB,OAAd,GAAwB;AACtBC,QAAAA,UAAU,EAAE;AAAA,iBAAMnB,aAAa,CAAC,UAACoB,SAAD;AAAA,mBAAe,CAACA,SAAhB;AAAA,WAAD,CAAnB;AAAA;AADU,OAAxB;AAGD;AACF,GANQ,EAMN,CAAC3B,aAAD,CANM,CAAT;AAQAwB,EAAAA,eAAS,CAAC,YAAM;AACd,QAAI,CAAClB,YAAL,EAAmBL,iBAAiB,CAACN,MAAD,CAAjB,CAAnB,KACKO,gBAAgB,CAACP,MAAD,CAAhB;AACN,GAHQ,CAAT;;AAKA,2BAAciC,6BAAiB,CAACP,iBAAD,CAA/B;AAAA;AAAA,MAAOQ,GAAP;;AACA,MAAMC,cAAc,GAAGC,iBAAW,CAAC,UAACC,IAAD,EAAU;AAC3CzB,IAAAA,aAAa,CAACyB,IAAD,CAAb;AACA,QAAIA,IAAJ,EAAU9B,gBAAgB;AAC3B,GAHiC,EAG/B,EAH+B,CAAlC;AAIA,MAAM+B,mBAAmB,GAAGC,iEAAmB,CAC7CC,eAAG,CAACxC,MAAD,EAAS,CAAC,QAAD,EAAW,MAAX,CAAT,CAD0C,CAA/C;AAGA,sBACEyC,wCAAC,SAAD;AAAW,IAAA,GAAG,EAAEP,GAAhB;AAAqB,IAAA,UAAU,EAAE;AAAEtC,MAAAA,UAAU,EAAEe;AAAd;AAAjC,kBACE8B,wCAAC,iBAAD;AAAmB,IAAA,SAAS,EAAC;AAA7B,KAA6CxC,KAA7C,CADF,eAEEwC,wCAAC,kBAAD;AAAoB,mBAAY;AAAhC,kBACEA,wCAAC,mBAAD;AACE,IAAA,SAAS,EAAC,oBADZ;AAEE,IAAA,MAAM,EAAEzC,MAFV;AAGE,IAAA,OAAO,EAAEQ,OAHX;AAIE,IAAA,YAAY,EAAEG,YAJhB;AAKE,IAAA,OAAO,EAAEF,OALX;AAME,IAAA,SAAS,EAAE;AACTiC,MAAAA,OAAO,EAAExC,UAAU,IAAI,EADd;AAETyC,MAAAA,KAAK,EAAE;AAAEC,QAAAA,QAAQ,EAAE/B,WAAZ;AAAyBgC,QAAAA,QAAQ,EAAE3B;AAAnC,OAFE;AAGT4B,MAAAA,MAAM,EAAE;AAHC,KANb;AAWE,IAAA,WAAW,EAAE3C,WAXf;AAYE,IAAA,cAAc,EAAEC,cAZlB;AAaE,IAAA,UAAU,EAAE+B,cAbd;AAcE,IAAA,OAAO,EAAE7B,iBAdX;AAeE,IAAA,KAAK,EAAEO;AAfT,KAgBM2B,eAAG,CAACxC,MAAD,EAAS,CAAC,QAAD,CAAT,EAAqB,EAArB,CAhBT,EADF,CAFF,CADF;AAyBD;AAEDD,gBAAgB,CAACgD,SAAjB,GAA6B;AAC3B/C,EAAAA,MAAM,EAAEgD,6BAAS,CAACC,GADS;AAE3BhD,EAAAA,KAAK,EAAE+C,6BAAS,CAACC,GAFU;AAG3B/C,EAAAA,UAAU,EAAE8C,6BAAS,CAACC,GAHK;AAI3B9C,EAAAA,WAAW,EAAE6C,6BAAS,CAACE,IAJI;AAK3B9C,EAAAA,cAAc,EAAE4C,6BAAS,CAACE,IALC;AAM3B7C,EAAAA,aAAa,EAAE2C,6BAAS,CAACC,GANE;AAO3B3C,EAAAA,iBAAiB,EAAE0C,6BAAS,CAACE,IAPF;AAQ3B3C,EAAAA,gBAAgB,EAAEyC,6BAAS,CAACE,IARD;AAS3B1C,EAAAA,OAAO,EAAEwC,6BAAS,CAACG,OAAV,CAAkBH,6BAAS,CAACI,KAAV,CAAgB,EAAhB,CAAlB,CATkB;AAU3B3C,EAAAA,OAAO,EAAEuC,6BAAS,CAACK;AAVQ,CAA7B;;;;"}
@@ -4,9 +4,9 @@ var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
4
4
  var React = require('react');
5
5
  var PropTypes = require('prop-types');
6
6
  var dsControlledForm = require('@elliemae/ds-controlled-form');
7
- var DSPopper = require('@elliemae/ds-basic/Popper');
8
- var DatePickerIcon = require('@elliemae/ds-icons/DatePicker2');
9
- var DSButton = require('@elliemae/ds-basic/Button');
7
+ var DSPopper = require('@elliemae/ds-popper');
8
+ var dsIcons = require('@elliemae/ds-icons');
9
+ var DSButton = require('@elliemae/ds-button');
10
10
  var moment = require('moment');
11
11
  var dsClassnames = require('@elliemae/ds-classnames');
12
12
  var plugins_filterable_components_filterableMenus_defaultDateFormat = require('./defaultDateFormat.js');
@@ -17,7 +17,6 @@ var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray)
17
17
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
18
18
  var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
19
19
  var DSPopper__default = /*#__PURE__*/_interopDefaultLegacy(DSPopper);
20
- var DatePickerIcon__default = /*#__PURE__*/_interopDefaultLegacy(DatePickerIcon);
21
20
  var DSButton__default = /*#__PURE__*/_interopDefaultLegacy(DSButton);
22
21
  var moment__default = /*#__PURE__*/_interopDefaultLegacy(moment);
23
22
 
@@ -62,11 +61,13 @@ var DateRangePickerContainer = function DateRangePickerContainer(_ref) {
62
61
  }, [startDate, endDate, lastChangeWasPicker]);
63
62
  return /*#__PURE__*/React__default['default'].createElement(Wrapper, {
64
63
  "data-testid": "date-range__wrapper",
65
- style: {
66
- width: '262px'
67
- },
68
64
  onKeyDown: function onKeyDown(e) {
69
65
  return e.code === 'Enter' && setLastChangeWasPicker(true);
66
+ },
67
+ style: {
68
+ backgroundColor: 'white',
69
+ boxShadow: '0 6px 20px 0 rgb(0 0 0 / 24%)',
70
+ width: '261px'
70
71
  }
71
72
  }, showHeader && /*#__PURE__*/React__default['default'].createElement(Header, {
72
73
  style: {
@@ -173,7 +174,7 @@ function DateRangeFilterMenu(_ref3) {
173
174
  showArrow: false,
174
175
  triggerComponent: /*#__PURE__*/React__default['default'].createElement(DSButton__default['default'], {
175
176
  buttonType: "text",
176
- icon: /*#__PURE__*/React__default['default'].createElement(DatePickerIcon__default['default'], null),
177
+ icon: /*#__PURE__*/React__default['default'].createElement(dsIcons.DatePicker2, null),
177
178
  onClick: function onClick() {
178
179
  return !isMenuOpened ? onOpenMenu(true) : onOpenMenu(false);
179
180
  },
@@ -1 +1 @@
1
- {"version":3,"file":"DateRangeFilterMenu.js","sources":["../../../../../../src/plugins/filterable/components/filterable-menus/DateRangeFilterMenu.tsx"],"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-basic/Popper';\nimport DatePickerIcon from '@elliemae/ds-icons/DatePicker2';\nimport DSButton from '@elliemae/ds-basic/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 style={{ width: '262px' }}\n onKeyDown={(e) => e.code === 'Enter' && setLastChangeWasPicker(true)}\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={<DatePickerIcon />}\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 default DateRangeFilterMenu;\n"],"names":["blockname","Wrapper","aggregatedClasses","Header","DateRangePickerContainer","onChange","showHeader","useState","startDate","setStartDate","endDate","setEndDate","lastChangeWasPicker","setLastChangeWasPicker","useEffect","startMoment","moment","endMoment","includes","diff","React","width","e","code","padding","display","justifyContent","DSControlledDateRangePicker","_start","_end","propTypes","PropTypes","func","bool","formatRangeDate","format","DEFAULT_DATE_FORMAT","sameDay","isSame","DateRangeFilterMenu","column","className","isMenuOpened","onOpenMenu","placement","Position","BOTTOM_END","onAddFilter","dateFormatter","menuProps","DSPopper","startOf","endOf","group","property","label","value","type","filterParams","start","end","transformRowValue","dateFormat","operator","DSButton","DatePickerIcon","zIndex","any","string"],"mappings":"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"}
1
+ {"version":3,"file":"DateRangeFilterMenu.js","sources":["../../../../../../src/plugins/filterable/components/filterable-menus/DateRangeFilterMenu.tsx"],"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 default DateRangeFilterMenu;\n"],"names":["blockname","Wrapper","aggregatedClasses","Header","DateRangePickerContainer","onChange","showHeader","useState","startDate","setStartDate","endDate","setEndDate","lastChangeWasPicker","setLastChangeWasPicker","useEffect","startMoment","moment","endMoment","includes","diff","React","e","code","backgroundColor","boxShadow","width","padding","display","justifyContent","DSControlledDateRangePicker","_start","_end","propTypes","PropTypes","func","bool","formatRangeDate","format","DEFAULT_DATE_FORMAT","sameDay","isSame","DateRangeFilterMenu","column","className","isMenuOpened","onOpenMenu","placement","Position","BOTTOM_END","onAddFilter","dateFormatter","menuProps","DSPopper","startOf","endOf","group","property","label","value","type","filterParams","start","end","transformRowValue","dateFormat","operator","DSButton","DatePicker2","zIndex","any","string"],"mappings":"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"}
@@ -5,9 +5,9 @@ var React = require('react');
5
5
  var PropTypes = require('prop-types');
6
6
  var Grid = require('@elliemae/ds-grid');
7
7
  var dsControlledForm = require('@elliemae/ds-controlled-form');
8
- var DSPopper = require('@elliemae/ds-basic/Popper');
9
- var DatePickerIcon = require('@elliemae/ds-icons/DatePicker2');
10
- var DSButton = require('@elliemae/ds-basic/Button');
8
+ var DSPopper = require('@elliemae/ds-popper');
9
+ var dsIcons = require('@elliemae/ds-icons');
10
+ var DSButton = require('@elliemae/ds-button');
11
11
  var moment = require('moment');
12
12
  var plugins_filterable_components_filterableMenus_defaultDateFormat = require('./defaultDateFormat.js');
13
13
 
@@ -18,7 +18,6 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
18
18
  var PropTypes__default = /*#__PURE__*/_interopDefaultLegacy(PropTypes);
19
19
  var Grid__default = /*#__PURE__*/_interopDefaultLegacy(Grid);
20
20
  var DSPopper__default = /*#__PURE__*/_interopDefaultLegacy(DSPopper);
21
- var DatePickerIcon__default = /*#__PURE__*/_interopDefaultLegacy(DatePickerIcon);
22
21
  var DSButton__default = /*#__PURE__*/_interopDefaultLegacy(DSButton);
23
22
  var moment__default = /*#__PURE__*/_interopDefaultLegacy(moment);
24
23
 
@@ -118,7 +117,7 @@ function SingleDateFilterMenu(_ref2) {
118
117
  showArrow: false,
119
118
  triggerComponent: /*#__PURE__*/React__default['default'].createElement(DSButton__default['default'], {
120
119
  buttonType: "text",
121
- icon: /*#__PURE__*/React__default['default'].createElement(DatePickerIcon__default['default'], null),
120
+ icon: /*#__PURE__*/React__default['default'].createElement(dsIcons.DatePicker2, null),
122
121
  onClick: function onClick() {
123
122
  return !isMenuOpened ? onOpenMenu(true) : onOpenMenu(false);
124
123
  },
@@ -1 +1 @@
1
- {"version":3,"file":"SingleDateFilterMenu.js","sources":["../../../../../../src/plugins/filterable/components/filterable-menus/SingleDateFilterMenu.tsx"],"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-basic/Popper';\nimport DatePickerIcon from '@elliemae/ds-icons/DatePicker2';\nimport DSButton from '@elliemae/ds-basic/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={<DatePickerIcon />}\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 default SingleDateFilterMenu;\n"],"names":["SingleDatePickerContainer","onChange","showHeader","useState","date","setDate","handleDateChange","useCallback","data","includes","moment","React","boxShadow","Grid","DSControlledDateTimePicker","propTypes","PropTypes","func","bool","formatDate","format","DEFAULT_DATE_FORMAT","SingleDateFilterMenu","column","className","isMenuOpened","onOpenMenu","placement","Position","BOTTOM_END","onAddFilter","dateFormatter","menuProps","DSPopper","t","clone","group","property","label","value","dateFormat","type","operator","filterParams","start","startOf","end","endOf","transformRowValue","DSButton","DatePickerIcon","zIndex","any","string"],"mappings":"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"}
1
+ {"version":3,"file":"SingleDateFilterMenu.js","sources":["../../../../../../src/plugins/filterable/components/filterable-menus/SingleDateFilterMenu.tsx"],"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 default SingleDateFilterMenu;\n"],"names":["SingleDatePickerContainer","onChange","showHeader","useState","date","setDate","handleDateChange","useCallback","data","includes","moment","React","boxShadow","Grid","DSControlledDateTimePicker","propTypes","PropTypes","func","bool","formatDate","format","DEFAULT_DATE_FORMAT","SingleDateFilterMenu","column","className","isMenuOpened","onOpenMenu","placement","Position","BOTTOM_END","onAddFilter","dateFormatter","menuProps","DSPopper","t","clone","group","property","label","value","dateFormat","type","operator","filterParams","start","startOf","end","endOf","transformRowValue","DSButton","DatePicker2","zIndex","any","string"],"mappings":"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"}