@elliemae/ds-legacy-datagrids 1.0.0-rc.1

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 (657) hide show
  1. package/dist/cjs/DSDataGrid.js +589 -0
  2. package/dist/cjs/DSDataGrid.js.map +7 -0
  3. package/dist/cjs/DataGridImpl.js +156 -0
  4. package/dist/cjs/DataGridImpl.js.map +7 -0
  5. package/dist/cjs/PaginatedDataGrid.js +84 -0
  6. package/dist/cjs/PaginatedDataGrid.js.map +7 -0
  7. package/dist/cjs/blockNames.js +40 -0
  8. package/dist/cjs/blockNames.js.map +7 -0
  9. package/dist/cjs/columns/IconColumn.js +109 -0
  10. package/dist/cjs/columns/IconColumn.js.map +7 -0
  11. package/dist/cjs/columns/NumberColumn.js +37 -0
  12. package/dist/cjs/columns/NumberColumn.js.map +7 -0
  13. package/dist/cjs/components/BodyCell.js +114 -0
  14. package/dist/cjs/components/BodyCell.js.map +7 -0
  15. package/dist/cjs/components/BodyList.js +48 -0
  16. package/dist/cjs/components/BodyList.js.map +7 -0
  17. package/dist/cjs/components/ColumnVisibilityMenuOption.js +65 -0
  18. package/dist/cjs/components/ColumnVisibilityMenuOption.js.map +7 -0
  19. package/dist/cjs/components/ColumnsOptionsMenuSection.js +63 -0
  20. package/dist/cjs/components/ColumnsOptionsMenuSection.js.map +7 -0
  21. package/dist/cjs/components/EmptyState.js +81 -0
  22. package/dist/cjs/components/EmptyState.js.map +7 -0
  23. package/dist/cjs/components/HeaderCell.js +79 -0
  24. package/dist/cjs/components/HeaderCell.js.map +7 -0
  25. package/dist/cjs/components/List.js +43 -0
  26. package/dist/cjs/components/List.js.map +7 -0
  27. package/dist/cjs/components/ListItem.js +49 -0
  28. package/dist/cjs/components/ListItem.js.map +7 -0
  29. package/dist/cjs/components/NoResults.js +53 -0
  30. package/dist/cjs/components/NoResults.js.map +7 -0
  31. package/dist/cjs/components/RowsLoader.js +41 -0
  32. package/dist/cjs/components/RowsLoader.js.map +7 -0
  33. package/dist/cjs/components/Table.js +125 -0
  34. package/dist/cjs/components/Table.js.map +7 -0
  35. package/dist/cjs/components/TableBody.js +71 -0
  36. package/dist/cjs/components/TableBody.js.map +7 -0
  37. package/dist/cjs/components/TableHeader.js +60 -0
  38. package/dist/cjs/components/TableHeader.js.map +7 -0
  39. package/dist/cjs/components/footer/addOptionalFooterComponents.js +60 -0
  40. package/dist/cjs/components/footer/addOptionalFooterComponents.js.map +7 -0
  41. package/dist/cjs/components/header/PrimaryControls.js +54 -0
  42. package/dist/cjs/components/header/PrimaryControls.js.map +7 -0
  43. package/dist/cjs/components/header/addOptionalHeaderComponents.js +62 -0
  44. package/dist/cjs/components/header/addOptionalHeaderComponents.js.map +7 -0
  45. package/dist/cjs/components/index.js +44 -0
  46. package/dist/cjs/components/index.js.map +7 -0
  47. package/dist/cjs/components/renderers/defaultClassedRenderers.js +67 -0
  48. package/dist/cjs/components/renderers/defaultClassedRenderers.js.map +7 -0
  49. package/dist/cjs/components/renderers/index.js +51 -0
  50. package/dist/cjs/components/renderers/index.js.map +7 -0
  51. package/dist/cjs/components/renderers/renderRowsLoader.js +38 -0
  52. package/dist/cjs/components/renderers/renderRowsLoader.js.map +7 -0
  53. package/dist/cjs/components/tableContext.js +37 -0
  54. package/dist/cjs/components/tableContext.js.map +7 -0
  55. package/dist/cjs/defaultPlugins.js +40 -0
  56. package/dist/cjs/defaultPlugins.js.map +7 -0
  57. package/dist/cjs/index.js +73 -0
  58. package/dist/cjs/index.js.map +7 -0
  59. package/dist/cjs/package.json +7 -0
  60. package/dist/cjs/plugins/body-header-scroll-sync/BodyHeaderScrollSyncPlugin.js +145 -0
  61. package/dist/cjs/plugins/body-header-scroll-sync/BodyHeaderScrollSyncPlugin.js.map +7 -0
  62. package/dist/cjs/plugins/body-header-scroll-sync/index.js +36 -0
  63. package/dist/cjs/plugins/body-header-scroll-sync/index.js.map +7 -0
  64. package/dist/cjs/plugins/column-dnd/DndColumnsPlugin.js +159 -0
  65. package/dist/cjs/plugins/column-dnd/DndColumnsPlugin.js.map +7 -0
  66. package/dist/cjs/plugins/column-dnd/decorateGridWithDndColumns.js +48 -0
  67. package/dist/cjs/plugins/column-dnd/decorateGridWithDndColumns.js.map +7 -0
  68. package/dist/cjs/plugins/column-dnd/index.js +36 -0
  69. package/dist/cjs/plugins/column-dnd/index.js.map +7 -0
  70. package/dist/cjs/plugins/column-sizing/ColumnSizingPlugin.js +93 -0
  71. package/dist/cjs/plugins/column-sizing/ColumnSizingPlugin.js.map +7 -0
  72. package/dist/cjs/plugins/column-sizing/columnMeasurerTransformer.js +70 -0
  73. package/dist/cjs/plugins/column-sizing/columnMeasurerTransformer.js.map +7 -0
  74. package/dist/cjs/plugins/column-sizing/ext-points/decorateColumn.js +45 -0
  75. package/dist/cjs/plugins/column-sizing/ext-points/decorateColumn.js.map +7 -0
  76. package/dist/cjs/plugins/column-sizing/ext-points/getTableProps.js +65 -0
  77. package/dist/cjs/plugins/column-sizing/ext-points/getTableProps.js.map +7 -0
  78. package/dist/cjs/plugins/column-sizing/getColumnNameFromProperty.js +38 -0
  79. package/dist/cjs/plugins/column-sizing/getColumnNameFromProperty.js.map +7 -0
  80. package/dist/cjs/plugins/column-sizing/index.js +36 -0
  81. package/dist/cjs/plugins/column-sizing/index.js.map +7 -0
  82. package/dist/cjs/plugins/column-sizing/useColumnSizeService.js +148 -0
  83. package/dist/cjs/plugins/column-sizing/useColumnSizeService.js.map +7 -0
  84. package/dist/cjs/plugins/column-sizing/useStylesheetHelpers.js +181 -0
  85. package/dist/cjs/plugins/column-sizing/useStylesheetHelpers.js.map +7 -0
  86. package/dist/cjs/plugins/column-sizing/utils.js +69 -0
  87. package/dist/cjs/plugins/column-sizing/utils.js.map +7 -0
  88. package/dist/cjs/plugins/custom-cell-renderer/CustomRendererPlugin.js +41 -0
  89. package/dist/cjs/plugins/custom-cell-renderer/CustomRendererPlugin.js.map +7 -0
  90. package/dist/cjs/plugins/custom-cell-renderer/addCustomRendererToCell.js +79 -0
  91. package/dist/cjs/plugins/custom-cell-renderer/addCustomRendererToCell.js.map +7 -0
  92. package/dist/cjs/plugins/custom-cell-renderer/getRendererComponent.js +60 -0
  93. package/dist/cjs/plugins/custom-cell-renderer/getRendererComponent.js.map +7 -0
  94. package/dist/cjs/plugins/custom-cell-renderer/index.js +36 -0
  95. package/dist/cjs/plugins/custom-cell-renderer/index.js.map +7 -0
  96. package/dist/cjs/plugins/editable/EditableComponents/ComboBox.js +73 -0
  97. package/dist/cjs/plugins/editable/EditableComponents/ComboBox.js.map +7 -0
  98. package/dist/cjs/plugins/editable/EditableComponents/TextBox.js +95 -0
  99. package/dist/cjs/plugins/editable/EditableComponents/TextBox.js.map +7 -0
  100. package/dist/cjs/plugins/editable/EditableComponents/index.js +38 -0
  101. package/dist/cjs/plugins/editable/EditableComponents/index.js.map +7 -0
  102. package/dist/cjs/plugins/editable/EditablePlugin.js +112 -0
  103. package/dist/cjs/plugins/editable/EditablePlugin.js.map +7 -0
  104. package/dist/cjs/plugins/editable/decorateEditable.js +96 -0
  105. package/dist/cjs/plugins/editable/decorateEditable.js.map +7 -0
  106. package/dist/cjs/plugins/editable/getEditorComponent.js +60 -0
  107. package/dist/cjs/plugins/editable/getEditorComponent.js.map +7 -0
  108. package/dist/cjs/plugins/editable/index.js +39 -0
  109. package/dist/cjs/plugins/editable/index.js.map +7 -0
  110. package/dist/cjs/plugins/expandable-grid/ExpandableColumn.js +131 -0
  111. package/dist/cjs/plugins/expandable-grid/ExpandableColumn.js.map +7 -0
  112. package/dist/cjs/plugins/expandable-grid/ExpandablePlugin.js +197 -0
  113. package/dist/cjs/plugins/expandable-grid/ExpandablePlugin.js.map +7 -0
  114. package/dist/cjs/plugins/expandable-grid/ExpandedRow.js +147 -0
  115. package/dist/cjs/plugins/expandable-grid/ExpandedRow.js.map +7 -0
  116. package/dist/cjs/plugins/expandable-grid/ExpandedRowExtra.js +57 -0
  117. package/dist/cjs/plugins/expandable-grid/ExpandedRowExtra.js.map +7 -0
  118. package/dist/cjs/plugins/expandable-grid/index.js +38 -0
  119. package/dist/cjs/plugins/expandable-grid/index.js.map +7 -0
  120. package/dist/cjs/plugins/expandable-grid/useExpandGridState.js +94 -0
  121. package/dist/cjs/plugins/expandable-grid/useExpandGridState.js.map +7 -0
  122. package/dist/cjs/plugins/export-data/ExportDataPlugin.js +135 -0
  123. package/dist/cjs/plugins/export-data/ExportDataPlugin.js.map +7 -0
  124. package/dist/cjs/plugins/export-data/index.js +36 -0
  125. package/dist/cjs/plugins/export-data/index.js.map +7 -0
  126. package/dist/cjs/plugins/filterable/FilterablePlugin.js +84 -0
  127. package/dist/cjs/plugins/filterable/FilterablePlugin.js.map +7 -0
  128. package/dist/cjs/plugins/filterable/addFilterToColumn.js +44 -0
  129. package/dist/cjs/plugins/filterable/addFilterToColumn.js.map +7 -0
  130. package/dist/cjs/plugins/filterable/components/FilterableHeader.js +133 -0
  131. package/dist/cjs/plugins/filterable/components/FilterableHeader.js.map +7 -0
  132. package/dist/cjs/plugins/filterable/components/filterable-menus/DateRangeFilterMenu.js +179 -0
  133. package/dist/cjs/plugins/filterable/components/filterable-menus/DateRangeFilterMenu.js.map +7 -0
  134. package/dist/cjs/plugins/filterable/components/filterable-menus/SingleDateFilterMenu.js +133 -0
  135. package/dist/cjs/plugins/filterable/components/filterable-menus/SingleDateFilterMenu.js.map +7 -0
  136. package/dist/cjs/plugins/filterable/components/filterable-menus/SingleRangeSwitcherMenu.js +231 -0
  137. package/dist/cjs/plugins/filterable/components/filterable-menus/SingleRangeSwitcherMenu.js.map +7 -0
  138. package/dist/cjs/plugins/filterable/components/filterable-menus/TextFilterMenu.js +183 -0
  139. package/dist/cjs/plugins/filterable/components/filterable-menus/TextFilterMenu.js.map +7 -0
  140. package/dist/cjs/plugins/filterable/components/filterable-menus/defaultDateFormat.js +36 -0
  141. package/dist/cjs/plugins/filterable/components/filterable-menus/defaultDateFormat.js.map +7 -0
  142. package/dist/cjs/plugins/filterable/components/filterable-menus/getFilterMenuByType.js +48 -0
  143. package/dist/cjs/plugins/filterable/components/filterable-menus/getFilterMenuByType.js.map +7 -0
  144. package/dist/cjs/plugins/filterable/filterableFormatter.js +69 -0
  145. package/dist/cjs/plugins/filterable/filterableFormatter.js.map +7 -0
  146. package/dist/cjs/plugins/filterable/filtering-helper/filterRowsByQuery.js +83 -0
  147. package/dist/cjs/plugins/filterable/filtering-helper/filterRowsByQuery.js.map +7 -0
  148. package/dist/cjs/plugins/filterable/filtering-helper/strategiesOperators.js +45 -0
  149. package/dist/cjs/plugins/filterable/filtering-helper/strategiesOperators.js.map +7 -0
  150. package/dist/cjs/plugins/filterable/helper.js +113 -0
  151. package/dist/cjs/plugins/filterable/helper.js.map +7 -0
  152. package/dist/cjs/plugins/filterable/index.js +36 -0
  153. package/dist/cjs/plugins/filterable/index.js.map +7 -0
  154. package/dist/cjs/plugins/filterable/useFilterableState.js +112 -0
  155. package/dist/cjs/plugins/filterable/useFilterableState.js.map +7 -0
  156. package/dist/cjs/plugins/grouping-by/GroupingByPlugin.js +58 -0
  157. package/dist/cjs/plugins/grouping-by/GroupingByPlugin.js.map +7 -0
  158. package/dist/cjs/plugins/grouping-grid/GroupingPlugin.js +134 -0
  159. package/dist/cjs/plugins/grouping-grid/GroupingPlugin.js.map +7 -0
  160. package/dist/cjs/plugins/grouping-grid/walkStrategy.js +77 -0
  161. package/dist/cjs/plugins/grouping-grid/walkStrategy.js.map +7 -0
  162. package/dist/cjs/plugins/index.js +69 -0
  163. package/dist/cjs/plugins/index.js.map +7 -0
  164. package/dist/cjs/plugins/infinite-scrolling/InfiniteScrollPlugin.js +101 -0
  165. package/dist/cjs/plugins/infinite-scrolling/InfiniteScrollPlugin.js.map +7 -0
  166. package/dist/cjs/plugins/infinite-scrolling/index.js +36 -0
  167. package/dist/cjs/plugins/infinite-scrolling/index.js.map +7 -0
  168. package/dist/cjs/plugins/pagination/PaginationPlugin.js +90 -0
  169. package/dist/cjs/plugins/pagination/PaginationPlugin.js.map +7 -0
  170. package/dist/cjs/plugins/pagination/components/Pagination.js +57 -0
  171. package/dist/cjs/plugins/pagination/components/Pagination.js.map +7 -0
  172. package/dist/cjs/plugins/pagination/components/Paginator.js +73 -0
  173. package/dist/cjs/plugins/pagination/components/Paginator.js.map +7 -0
  174. package/dist/cjs/plugins/pagination/components/PerPageDropdown.js +74 -0
  175. package/dist/cjs/plugins/pagination/components/PerPageDropdown.js.map +7 -0
  176. package/dist/cjs/plugins/pagination/helper.js +63 -0
  177. package/dist/cjs/plugins/pagination/helper.js.map +7 -0
  178. package/dist/cjs/plugins/pagination/index.js +36 -0
  179. package/dist/cjs/plugins/pagination/index.js.map +7 -0
  180. package/dist/cjs/plugins/pagination/usePaginationState.js +83 -0
  181. package/dist/cjs/plugins/pagination/usePaginationState.js.map +7 -0
  182. package/dist/cjs/plugins/resizable/ResizablePlugin.js +116 -0
  183. package/dist/cjs/plugins/resizable/ResizablePlugin.js.map +7 -0
  184. package/dist/cjs/plugins/resizable/decorateResizable.js +57 -0
  185. package/dist/cjs/plugins/resizable/decorateResizable.js.map +7 -0
  186. package/dist/cjs/plugins/resizable/index.js +36 -0
  187. package/dist/cjs/plugins/resizable/index.js.map +7 -0
  188. package/dist/cjs/plugins/resizable/useResizeHandle.js +75 -0
  189. package/dist/cjs/plugins/resizable/useResizeHandle.js.map +7 -0
  190. package/dist/cjs/plugins/resizable/utils.js +55 -0
  191. package/dist/cjs/plugins/resizable/utils.js.map +7 -0
  192. package/dist/cjs/plugins/row-dnd/DndRowsPlugin.js +140 -0
  193. package/dist/cjs/plugins/row-dnd/DndRowsPlugin.js.map +7 -0
  194. package/dist/cjs/plugins/row-dnd/index.js +36 -0
  195. package/dist/cjs/plugins/row-dnd/index.js.map +7 -0
  196. package/dist/cjs/plugins/selectable/SelectablePlugin.js +170 -0
  197. package/dist/cjs/plugins/selectable/SelectablePlugin.js.map +7 -0
  198. package/dist/cjs/plugins/selectable/addSelectableColumn.js +105 -0
  199. package/dist/cjs/plugins/selectable/addSelectableColumn.js.map +7 -0
  200. package/dist/cjs/plugins/selectable/helper.js +55 -0
  201. package/dist/cjs/plugins/selectable/helper.js.map +7 -0
  202. package/dist/cjs/plugins/selectable/index.js +36 -0
  203. package/dist/cjs/plugins/selectable/index.js.map +7 -0
  204. package/dist/cjs/plugins/selectable/selectableFormatter.js +99 -0
  205. package/dist/cjs/plugins/selectable/selectableFormatter.js.map +7 -0
  206. package/dist/cjs/plugins/selectable/useSelectableState.js +128 -0
  207. package/dist/cjs/plugins/selectable/useSelectableState.js.map +7 -0
  208. package/dist/cjs/plugins/sortable/SortablePlugin.js +98 -0
  209. package/dist/cjs/plugins/sortable/SortablePlugin.js.map +7 -0
  210. package/dist/cjs/plugins/sortable/checkIfSortable.js +46 -0
  211. package/dist/cjs/plugins/sortable/checkIfSortable.js.map +7 -0
  212. package/dist/cjs/plugins/sortable/index.js +36 -0
  213. package/dist/cjs/plugins/sortable/index.js.map +7 -0
  214. package/dist/cjs/plugins/sortable/sortHeaderFormatter.js +66 -0
  215. package/dist/cjs/plugins/sortable/sortHeaderFormatter.js.map +7 -0
  216. package/dist/cjs/plugins/sortable/sortTree.js +49 -0
  217. package/dist/cjs/plugins/sortable/sortTree.js.map +7 -0
  218. package/dist/cjs/plugins/sortable/sorter.js +154 -0
  219. package/dist/cjs/plugins/sortable/sorter.js.map +7 -0
  220. package/dist/cjs/plugins/sortable/useSortableState.js +74 -0
  221. package/dist/cjs/plugins/sortable/useSortableState.js.map +7 -0
  222. package/dist/cjs/plugins/toolbar/RowRenderer.js +109 -0
  223. package/dist/cjs/plugins/toolbar/RowRenderer.js.map +7 -0
  224. package/dist/cjs/plugins/toolbar/ToolbarPlugin.js +63 -0
  225. package/dist/cjs/plugins/toolbar/ToolbarPlugin.js.map +7 -0
  226. package/dist/cjs/plugins/toolbar/ToolbarTrigger.js +115 -0
  227. package/dist/cjs/plugins/toolbar/ToolbarTrigger.js.map +7 -0
  228. package/dist/cjs/plugins/toolbar/index.js +36 -0
  229. package/dist/cjs/plugins/toolbar/index.js.map +7 -0
  230. package/dist/cjs/plugins/virtualization/AutoHeightList.js +78 -0
  231. package/dist/cjs/plugins/virtualization/AutoHeightList.js.map +7 -0
  232. package/dist/cjs/plugins/virtualization/VirtualizationPlugin.js +109 -0
  233. package/dist/cjs/plugins/virtualization/VirtualizationPlugin.js.map +7 -0
  234. package/dist/cjs/plugins/virtualization/VirtualizedBody.js +275 -0
  235. package/dist/cjs/plugins/virtualization/VirtualizedBody.js.map +7 -0
  236. package/dist/cjs/plugins/virtualization/VirtualizedBodyRow.js +58 -0
  237. package/dist/cjs/plugins/virtualization/VirtualizedBodyRow.js.map +7 -0
  238. package/dist/cjs/plugins/virtualization/helper.js +36 -0
  239. package/dist/cjs/plugins/virtualization/helper.js.map +7 -0
  240. package/dist/cjs/plugins/virtualization/index.js +36 -0
  241. package/dist/cjs/plugins/virtualization/index.js.map +7 -0
  242. package/dist/cjs/renders/CellWithAddons.js +113 -0
  243. package/dist/cjs/renders/CellWithAddons.js.map +7 -0
  244. package/dist/cjs/renders/index.js +38 -0
  245. package/dist/cjs/renders/index.js.map +7 -0
  246. package/dist/cjs/renders/styled.js +79 -0
  247. package/dist/cjs/renders/styled.js.map +7 -0
  248. package/dist/cjs/rowSizes.js +48 -0
  249. package/dist/cjs/rowSizes.js.map +7 -0
  250. package/dist/cjs/utilities/DataGridUtilities.json +1315 -0
  251. package/dist/cjs/utilities/getPluginsFromProps.js +73 -0
  252. package/dist/cjs/utilities/getPluginsFromProps.js.map +7 -0
  253. package/dist/cjs/utilities/getScrollbarSize.js +47 -0
  254. package/dist/cjs/utilities/getScrollbarSize.js.map +7 -0
  255. package/dist/cjs/utilities/normalizeData.js +50 -0
  256. package/dist/cjs/utilities/normalizeData.js.map +7 -0
  257. package/dist/esm/DSDataGrid.js +559 -0
  258. package/dist/esm/DSDataGrid.js.map +7 -0
  259. package/dist/esm/DataGridImpl.js +126 -0
  260. package/dist/esm/DataGridImpl.js.map +7 -0
  261. package/dist/esm/PaginatedDataGrid.js +54 -0
  262. package/dist/esm/PaginatedDataGrid.js.map +7 -0
  263. package/dist/esm/blockNames.js +10 -0
  264. package/dist/esm/blockNames.js.map +7 -0
  265. package/dist/esm/columns/IconColumn.js +79 -0
  266. package/dist/esm/columns/IconColumn.js.map +7 -0
  267. package/dist/esm/columns/NumberColumn.js +7 -0
  268. package/dist/esm/columns/NumberColumn.js.map +7 -0
  269. package/dist/esm/components/BodyCell.js +84 -0
  270. package/dist/esm/components/BodyCell.js.map +7 -0
  271. package/dist/esm/components/BodyList.js +18 -0
  272. package/dist/esm/components/BodyList.js.map +7 -0
  273. package/dist/esm/components/ColumnVisibilityMenuOption.js +35 -0
  274. package/dist/esm/components/ColumnVisibilityMenuOption.js.map +7 -0
  275. package/dist/esm/components/ColumnsOptionsMenuSection.js +33 -0
  276. package/dist/esm/components/ColumnsOptionsMenuSection.js.map +7 -0
  277. package/dist/esm/components/EmptyState.js +51 -0
  278. package/dist/esm/components/EmptyState.js.map +7 -0
  279. package/dist/esm/components/HeaderCell.js +49 -0
  280. package/dist/esm/components/HeaderCell.js.map +7 -0
  281. package/dist/esm/components/List.js +13 -0
  282. package/dist/esm/components/List.js.map +7 -0
  283. package/dist/esm/components/ListItem.js +19 -0
  284. package/dist/esm/components/ListItem.js.map +7 -0
  285. package/dist/esm/components/NoResults.js +23 -0
  286. package/dist/esm/components/NoResults.js.map +7 -0
  287. package/dist/esm/components/RowsLoader.js +11 -0
  288. package/dist/esm/components/RowsLoader.js.map +7 -0
  289. package/dist/esm/components/Table.js +95 -0
  290. package/dist/esm/components/Table.js.map +7 -0
  291. package/dist/esm/components/TableBody.js +41 -0
  292. package/dist/esm/components/TableBody.js.map +7 -0
  293. package/dist/esm/components/TableHeader.js +30 -0
  294. package/dist/esm/components/TableHeader.js.map +7 -0
  295. package/dist/esm/components/footer/addOptionalFooterComponents.js +30 -0
  296. package/dist/esm/components/footer/addOptionalFooterComponents.js.map +7 -0
  297. package/dist/esm/components/header/PrimaryControls.js +24 -0
  298. package/dist/esm/components/header/PrimaryControls.js.map +7 -0
  299. package/dist/esm/components/header/addOptionalHeaderComponents.js +32 -0
  300. package/dist/esm/components/header/addOptionalHeaderComponents.js.map +7 -0
  301. package/dist/esm/components/index.js +14 -0
  302. package/dist/esm/components/index.js.map +7 -0
  303. package/dist/esm/components/renderers/defaultClassedRenderers.js +37 -0
  304. package/dist/esm/components/renderers/defaultClassedRenderers.js.map +7 -0
  305. package/dist/esm/components/renderers/index.js +29 -0
  306. package/dist/esm/components/renderers/index.js.map +7 -0
  307. package/dist/esm/components/renderers/renderRowsLoader.js +8 -0
  308. package/dist/esm/components/renderers/renderRowsLoader.js.map +7 -0
  309. package/dist/esm/components/tableContext.js +7 -0
  310. package/dist/esm/components/tableContext.js.map +7 -0
  311. package/dist/esm/defaultPlugins.js +10 -0
  312. package/dist/esm/defaultPlugins.js.map +7 -0
  313. package/dist/esm/index.js +63 -0
  314. package/dist/esm/index.js.map +7 -0
  315. package/dist/esm/package.json +7 -0
  316. package/dist/esm/plugins/body-header-scroll-sync/BodyHeaderScrollSyncPlugin.js +115 -0
  317. package/dist/esm/plugins/body-header-scroll-sync/BodyHeaderScrollSyncPlugin.js.map +7 -0
  318. package/dist/esm/plugins/body-header-scroll-sync/index.js +6 -0
  319. package/dist/esm/plugins/body-header-scroll-sync/index.js.map +7 -0
  320. package/dist/esm/plugins/column-dnd/DndColumnsPlugin.js +129 -0
  321. package/dist/esm/plugins/column-dnd/DndColumnsPlugin.js.map +7 -0
  322. package/dist/esm/plugins/column-dnd/decorateGridWithDndColumns.js +18 -0
  323. package/dist/esm/plugins/column-dnd/decorateGridWithDndColumns.js.map +7 -0
  324. package/dist/esm/plugins/column-dnd/index.js +6 -0
  325. package/dist/esm/plugins/column-dnd/index.js.map +7 -0
  326. package/dist/esm/plugins/column-sizing/ColumnSizingPlugin.js +63 -0
  327. package/dist/esm/plugins/column-sizing/ColumnSizingPlugin.js.map +7 -0
  328. package/dist/esm/plugins/column-sizing/columnMeasurerTransformer.js +40 -0
  329. package/dist/esm/plugins/column-sizing/columnMeasurerTransformer.js.map +7 -0
  330. package/dist/esm/plugins/column-sizing/ext-points/decorateColumn.js +15 -0
  331. package/dist/esm/plugins/column-sizing/ext-points/decorateColumn.js.map +7 -0
  332. package/dist/esm/plugins/column-sizing/ext-points/getTableProps.js +35 -0
  333. package/dist/esm/plugins/column-sizing/ext-points/getTableProps.js.map +7 -0
  334. package/dist/esm/plugins/column-sizing/getColumnNameFromProperty.js +8 -0
  335. package/dist/esm/plugins/column-sizing/getColumnNameFromProperty.js.map +7 -0
  336. package/dist/esm/plugins/column-sizing/index.js +6 -0
  337. package/dist/esm/plugins/column-sizing/index.js.map +7 -0
  338. package/dist/esm/plugins/column-sizing/useColumnSizeService.js +118 -0
  339. package/dist/esm/plugins/column-sizing/useColumnSizeService.js.map +7 -0
  340. package/dist/esm/plugins/column-sizing/useStylesheetHelpers.js +151 -0
  341. package/dist/esm/plugins/column-sizing/useStylesheetHelpers.js.map +7 -0
  342. package/dist/esm/plugins/column-sizing/utils.js +39 -0
  343. package/dist/esm/plugins/column-sizing/utils.js.map +7 -0
  344. package/dist/esm/plugins/custom-cell-renderer/CustomRendererPlugin.js +11 -0
  345. package/dist/esm/plugins/custom-cell-renderer/CustomRendererPlugin.js.map +7 -0
  346. package/dist/esm/plugins/custom-cell-renderer/addCustomRendererToCell.js +49 -0
  347. package/dist/esm/plugins/custom-cell-renderer/addCustomRendererToCell.js.map +7 -0
  348. package/dist/esm/plugins/custom-cell-renderer/getRendererComponent.js +30 -0
  349. package/dist/esm/plugins/custom-cell-renderer/getRendererComponent.js.map +7 -0
  350. package/dist/esm/plugins/custom-cell-renderer/index.js +6 -0
  351. package/dist/esm/plugins/custom-cell-renderer/index.js.map +7 -0
  352. package/dist/esm/plugins/editable/EditableComponents/ComboBox.js +43 -0
  353. package/dist/esm/plugins/editable/EditableComponents/ComboBox.js.map +7 -0
  354. package/dist/esm/plugins/editable/EditableComponents/TextBox.js +65 -0
  355. package/dist/esm/plugins/editable/EditableComponents/TextBox.js.map +7 -0
  356. package/dist/esm/plugins/editable/EditableComponents/index.js +8 -0
  357. package/dist/esm/plugins/editable/EditableComponents/index.js.map +7 -0
  358. package/dist/esm/plugins/editable/EditablePlugin.js +82 -0
  359. package/dist/esm/plugins/editable/EditablePlugin.js.map +7 -0
  360. package/dist/esm/plugins/editable/decorateEditable.js +66 -0
  361. package/dist/esm/plugins/editable/decorateEditable.js.map +7 -0
  362. package/dist/esm/plugins/editable/getEditorComponent.js +30 -0
  363. package/dist/esm/plugins/editable/getEditorComponent.js.map +7 -0
  364. package/dist/esm/plugins/editable/index.js +9 -0
  365. package/dist/esm/plugins/editable/index.js.map +7 -0
  366. package/dist/esm/plugins/expandable-grid/ExpandableColumn.js +101 -0
  367. package/dist/esm/plugins/expandable-grid/ExpandableColumn.js.map +7 -0
  368. package/dist/esm/plugins/expandable-grid/ExpandablePlugin.js +167 -0
  369. package/dist/esm/plugins/expandable-grid/ExpandablePlugin.js.map +7 -0
  370. package/dist/esm/plugins/expandable-grid/ExpandedRow.js +117 -0
  371. package/dist/esm/plugins/expandable-grid/ExpandedRow.js.map +7 -0
  372. package/dist/esm/plugins/expandable-grid/ExpandedRowExtra.js +27 -0
  373. package/dist/esm/plugins/expandable-grid/ExpandedRowExtra.js.map +7 -0
  374. package/dist/esm/plugins/expandable-grid/index.js +8 -0
  375. package/dist/esm/plugins/expandable-grid/index.js.map +7 -0
  376. package/dist/esm/plugins/expandable-grid/useExpandGridState.js +64 -0
  377. package/dist/esm/plugins/expandable-grid/useExpandGridState.js.map +7 -0
  378. package/dist/esm/plugins/export-data/ExportDataPlugin.js +105 -0
  379. package/dist/esm/plugins/export-data/ExportDataPlugin.js.map +7 -0
  380. package/dist/esm/plugins/export-data/index.js +6 -0
  381. package/dist/esm/plugins/export-data/index.js.map +7 -0
  382. package/dist/esm/plugins/filterable/FilterablePlugin.js +54 -0
  383. package/dist/esm/plugins/filterable/FilterablePlugin.js.map +7 -0
  384. package/dist/esm/plugins/filterable/addFilterToColumn.js +14 -0
  385. package/dist/esm/plugins/filterable/addFilterToColumn.js.map +7 -0
  386. package/dist/esm/plugins/filterable/components/FilterableHeader.js +103 -0
  387. package/dist/esm/plugins/filterable/components/FilterableHeader.js.map +7 -0
  388. package/dist/esm/plugins/filterable/components/filterable-menus/DateRangeFilterMenu.js +149 -0
  389. package/dist/esm/plugins/filterable/components/filterable-menus/DateRangeFilterMenu.js.map +7 -0
  390. package/dist/esm/plugins/filterable/components/filterable-menus/SingleDateFilterMenu.js +103 -0
  391. package/dist/esm/plugins/filterable/components/filterable-menus/SingleDateFilterMenu.js.map +7 -0
  392. package/dist/esm/plugins/filterable/components/filterable-menus/SingleRangeSwitcherMenu.js +205 -0
  393. package/dist/esm/plugins/filterable/components/filterable-menus/SingleRangeSwitcherMenu.js.map +7 -0
  394. package/dist/esm/plugins/filterable/components/filterable-menus/TextFilterMenu.js +153 -0
  395. package/dist/esm/plugins/filterable/components/filterable-menus/TextFilterMenu.js.map +7 -0
  396. package/dist/esm/plugins/filterable/components/filterable-menus/defaultDateFormat.js +6 -0
  397. package/dist/esm/plugins/filterable/components/filterable-menus/defaultDateFormat.js.map +7 -0
  398. package/dist/esm/plugins/filterable/components/filterable-menus/getFilterMenuByType.js +18 -0
  399. package/dist/esm/plugins/filterable/components/filterable-menus/getFilterMenuByType.js.map +7 -0
  400. package/dist/esm/plugins/filterable/filterableFormatter.js +39 -0
  401. package/dist/esm/plugins/filterable/filterableFormatter.js.map +7 -0
  402. package/dist/esm/plugins/filterable/filtering-helper/filterRowsByQuery.js +53 -0
  403. package/dist/esm/plugins/filterable/filtering-helper/filterRowsByQuery.js.map +7 -0
  404. package/dist/esm/plugins/filterable/filtering-helper/strategiesOperators.js +15 -0
  405. package/dist/esm/plugins/filterable/filtering-helper/strategiesOperators.js.map +7 -0
  406. package/dist/esm/plugins/filterable/helper.js +83 -0
  407. package/dist/esm/plugins/filterable/helper.js.map +7 -0
  408. package/dist/esm/plugins/filterable/index.js +6 -0
  409. package/dist/esm/plugins/filterable/index.js.map +7 -0
  410. package/dist/esm/plugins/filterable/useFilterableState.js +82 -0
  411. package/dist/esm/plugins/filterable/useFilterableState.js.map +7 -0
  412. package/dist/esm/plugins/grouping-by/GroupingByPlugin.js +28 -0
  413. package/dist/esm/plugins/grouping-by/GroupingByPlugin.js.map +7 -0
  414. package/dist/esm/plugins/grouping-grid/GroupingPlugin.js +104 -0
  415. package/dist/esm/plugins/grouping-grid/GroupingPlugin.js.map +7 -0
  416. package/dist/esm/plugins/grouping-grid/walkStrategy.js +47 -0
  417. package/dist/esm/plugins/grouping-grid/walkStrategy.js.map +7 -0
  418. package/dist/esm/plugins/index.js +39 -0
  419. package/dist/esm/plugins/index.js.map +7 -0
  420. package/dist/esm/plugins/infinite-scrolling/InfiniteScrollPlugin.js +71 -0
  421. package/dist/esm/plugins/infinite-scrolling/InfiniteScrollPlugin.js.map +7 -0
  422. package/dist/esm/plugins/infinite-scrolling/index.js +6 -0
  423. package/dist/esm/plugins/infinite-scrolling/index.js.map +7 -0
  424. package/dist/esm/plugins/pagination/PaginationPlugin.js +60 -0
  425. package/dist/esm/plugins/pagination/PaginationPlugin.js.map +7 -0
  426. package/dist/esm/plugins/pagination/components/Pagination.js +27 -0
  427. package/dist/esm/plugins/pagination/components/Pagination.js.map +7 -0
  428. package/dist/esm/plugins/pagination/components/Paginator.js +43 -0
  429. package/dist/esm/plugins/pagination/components/Paginator.js.map +7 -0
  430. package/dist/esm/plugins/pagination/components/PerPageDropdown.js +44 -0
  431. package/dist/esm/plugins/pagination/components/PerPageDropdown.js.map +7 -0
  432. package/dist/esm/plugins/pagination/helper.js +33 -0
  433. package/dist/esm/plugins/pagination/helper.js.map +7 -0
  434. package/dist/esm/plugins/pagination/index.js +6 -0
  435. package/dist/esm/plugins/pagination/index.js.map +7 -0
  436. package/dist/esm/plugins/pagination/usePaginationState.js +53 -0
  437. package/dist/esm/plugins/pagination/usePaginationState.js.map +7 -0
  438. package/dist/esm/plugins/resizable/ResizablePlugin.js +86 -0
  439. package/dist/esm/plugins/resizable/ResizablePlugin.js.map +7 -0
  440. package/dist/esm/plugins/resizable/decorateResizable.js +27 -0
  441. package/dist/esm/plugins/resizable/decorateResizable.js.map +7 -0
  442. package/dist/esm/plugins/resizable/index.js +6 -0
  443. package/dist/esm/plugins/resizable/index.js.map +7 -0
  444. package/dist/esm/plugins/resizable/useResizeHandle.js +45 -0
  445. package/dist/esm/plugins/resizable/useResizeHandle.js.map +7 -0
  446. package/dist/esm/plugins/resizable/utils.js +25 -0
  447. package/dist/esm/plugins/resizable/utils.js.map +7 -0
  448. package/dist/esm/plugins/row-dnd/DndRowsPlugin.js +110 -0
  449. package/dist/esm/plugins/row-dnd/DndRowsPlugin.js.map +7 -0
  450. package/dist/esm/plugins/row-dnd/index.js +6 -0
  451. package/dist/esm/plugins/row-dnd/index.js.map +7 -0
  452. package/dist/esm/plugins/selectable/SelectablePlugin.js +140 -0
  453. package/dist/esm/plugins/selectable/SelectablePlugin.js.map +7 -0
  454. package/dist/esm/plugins/selectable/addSelectableColumn.js +75 -0
  455. package/dist/esm/plugins/selectable/addSelectableColumn.js.map +7 -0
  456. package/dist/esm/plugins/selectable/helper.js +25 -0
  457. package/dist/esm/plugins/selectable/helper.js.map +7 -0
  458. package/dist/esm/plugins/selectable/index.js +6 -0
  459. package/dist/esm/plugins/selectable/index.js.map +7 -0
  460. package/dist/esm/plugins/selectable/selectableFormatter.js +69 -0
  461. package/dist/esm/plugins/selectable/selectableFormatter.js.map +7 -0
  462. package/dist/esm/plugins/selectable/useSelectableState.js +98 -0
  463. package/dist/esm/plugins/selectable/useSelectableState.js.map +7 -0
  464. package/dist/esm/plugins/sortable/SortablePlugin.js +68 -0
  465. package/dist/esm/plugins/sortable/SortablePlugin.js.map +7 -0
  466. package/dist/esm/plugins/sortable/checkIfSortable.js +16 -0
  467. package/dist/esm/plugins/sortable/checkIfSortable.js.map +7 -0
  468. package/dist/esm/plugins/sortable/index.js +6 -0
  469. package/dist/esm/plugins/sortable/index.js.map +7 -0
  470. package/dist/esm/plugins/sortable/sortHeaderFormatter.js +36 -0
  471. package/dist/esm/plugins/sortable/sortHeaderFormatter.js.map +7 -0
  472. package/dist/esm/plugins/sortable/sortTree.js +19 -0
  473. package/dist/esm/plugins/sortable/sortTree.js.map +7 -0
  474. package/dist/esm/plugins/sortable/sorter.js +124 -0
  475. package/dist/esm/plugins/sortable/sorter.js.map +7 -0
  476. package/dist/esm/plugins/sortable/useSortableState.js +44 -0
  477. package/dist/esm/plugins/sortable/useSortableState.js.map +7 -0
  478. package/dist/esm/plugins/toolbar/RowRenderer.js +79 -0
  479. package/dist/esm/plugins/toolbar/RowRenderer.js.map +7 -0
  480. package/dist/esm/plugins/toolbar/ToolbarPlugin.js +33 -0
  481. package/dist/esm/plugins/toolbar/ToolbarPlugin.js.map +7 -0
  482. package/dist/esm/plugins/toolbar/ToolbarTrigger.js +85 -0
  483. package/dist/esm/plugins/toolbar/ToolbarTrigger.js.map +7 -0
  484. package/dist/esm/plugins/toolbar/index.js +6 -0
  485. package/dist/esm/plugins/toolbar/index.js.map +7 -0
  486. package/dist/esm/plugins/virtualization/AutoHeightList.js +48 -0
  487. package/dist/esm/plugins/virtualization/AutoHeightList.js.map +7 -0
  488. package/dist/esm/plugins/virtualization/VirtualizationPlugin.js +79 -0
  489. package/dist/esm/plugins/virtualization/VirtualizationPlugin.js.map +7 -0
  490. package/dist/esm/plugins/virtualization/VirtualizedBody.js +245 -0
  491. package/dist/esm/plugins/virtualization/VirtualizedBody.js.map +7 -0
  492. package/dist/esm/plugins/virtualization/VirtualizedBodyRow.js +28 -0
  493. package/dist/esm/plugins/virtualization/VirtualizedBodyRow.js.map +7 -0
  494. package/dist/esm/plugins/virtualization/helper.js +6 -0
  495. package/dist/esm/plugins/virtualization/helper.js.map +7 -0
  496. package/dist/esm/plugins/virtualization/index.js +6 -0
  497. package/dist/esm/plugins/virtualization/index.js.map +7 -0
  498. package/dist/esm/renders/CellWithAddons.js +83 -0
  499. package/dist/esm/renders/CellWithAddons.js.map +7 -0
  500. package/dist/esm/renders/index.js +8 -0
  501. package/dist/esm/renders/index.js.map +7 -0
  502. package/dist/esm/renders/styled.js +49 -0
  503. package/dist/esm/renders/styled.js.map +7 -0
  504. package/dist/esm/rowSizes.js +18 -0
  505. package/dist/esm/rowSizes.js.map +7 -0
  506. package/dist/esm/utilities/DataGridUtilities.json +1315 -0
  507. package/dist/esm/utilities/getPluginsFromProps.js +43 -0
  508. package/dist/esm/utilities/getPluginsFromProps.js.map +7 -0
  509. package/dist/esm/utilities/getScrollbarSize.js +17 -0
  510. package/dist/esm/utilities/getScrollbarSize.js.map +7 -0
  511. package/dist/esm/utilities/normalizeData.js +20 -0
  512. package/dist/esm/utilities/normalizeData.js.map +7 -0
  513. package/dist/types/DSDataGrid.d.ts +452 -0
  514. package/dist/types/DataGridImpl.d.ts +12 -0
  515. package/dist/types/PaginatedDataGrid.d.ts +14 -0
  516. package/dist/types/blockNames.d.ts +4 -0
  517. package/dist/types/columns/IconColumn.d.ts +35 -0
  518. package/dist/types/columns/NumberColumn.d.ts +4 -0
  519. package/dist/types/components/BodyCell.d.ts +33 -0
  520. package/dist/types/components/BodyList.d.ts +11 -0
  521. package/dist/types/components/ColumnVisibilityMenuOption.d.ts +15 -0
  522. package/dist/types/components/ColumnsOptionsMenuSection.d.ts +8 -0
  523. package/dist/types/components/EmptyState.d.ts +6 -0
  524. package/dist/types/components/HeaderCell.d.ts +18 -0
  525. package/dist/types/components/List.d.ts +2 -0
  526. package/dist/types/components/ListItem.d.ts +2 -0
  527. package/dist/types/components/NoResults.d.ts +7 -0
  528. package/dist/types/components/RowsLoader.d.ts +4 -0
  529. package/dist/types/components/Table.d.ts +8 -0
  530. package/dist/types/components/TableBody.d.ts +4 -0
  531. package/dist/types/components/TableHeader.d.ts +3 -0
  532. package/dist/types/components/footer/addOptionalFooterComponents.d.ts +6 -0
  533. package/dist/types/components/header/PrimaryControls.d.ts +5 -0
  534. package/dist/types/components/header/addOptionalHeaderComponents.d.ts +10 -0
  535. package/dist/types/components/index.d.ts +5 -0
  536. package/dist/types/components/renderers/defaultClassedRenderers.d.ts +11 -0
  537. package/dist/types/components/renderers/index.d.ts +15 -0
  538. package/dist/types/components/renderers/renderRowsLoader.d.ts +1 -0
  539. package/dist/types/components/tableContext.d.ts +2 -0
  540. package/dist/types/components/tests/ColumnVisibilityMenu.test.d.ts +1 -0
  541. package/dist/types/defaultPlugins.d.ts +1 -0
  542. package/dist/types/index.d.ts +9 -0
  543. package/dist/types/plugins/body-header-scroll-sync/BodyHeaderScrollSyncPlugin.d.ts +1 -0
  544. package/dist/types/plugins/body-header-scroll-sync/index.d.ts +1 -0
  545. package/dist/types/plugins/column-dnd/DndColumnsPlugin.d.ts +1 -0
  546. package/dist/types/plugins/column-dnd/decorateGridWithDndColumns.d.ts +2 -0
  547. package/dist/types/plugins/column-dnd/index.d.ts +1 -0
  548. package/dist/types/plugins/column-sizing/ColumnSizingPlugin.d.ts +1 -0
  549. package/dist/types/plugins/column-sizing/columnMeasurerTransformer.d.ts +6 -0
  550. package/dist/types/plugins/column-sizing/ext-points/decorateColumn.d.ts +1 -0
  551. package/dist/types/plugins/column-sizing/ext-points/getTableProps.d.ts +10 -0
  552. package/dist/types/plugins/column-sizing/getColumnNameFromProperty.d.ts +2 -0
  553. package/dist/types/plugins/column-sizing/index.d.ts +1 -0
  554. package/dist/types/plugins/column-sizing/useColumnSizeService.d.ts +18 -0
  555. package/dist/types/plugins/column-sizing/useStylesheetHelpers.d.ts +22 -0
  556. package/dist/types/plugins/column-sizing/utils.d.ts +5 -0
  557. package/dist/types/plugins/custom-cell-renderer/CustomRendererPlugin.d.ts +1 -0
  558. package/dist/types/plugins/custom-cell-renderer/addCustomRendererToCell.d.ts +4 -0
  559. package/dist/types/plugins/custom-cell-renderer/getRendererComponent.d.ts +11 -0
  560. package/dist/types/plugins/custom-cell-renderer/index.d.ts +1 -0
  561. package/dist/types/plugins/editable/EditableComponents/ComboBox.d.ts +12 -0
  562. package/dist/types/plugins/editable/EditableComponents/TextBox.d.ts +24 -0
  563. package/dist/types/plugins/editable/EditableComponents/index.d.ts +2 -0
  564. package/dist/types/plugins/editable/EditablePlugin.d.ts +1 -0
  565. package/dist/types/plugins/editable/decorateEditable.d.ts +7 -0
  566. package/dist/types/plugins/editable/getEditorComponent.d.ts +7 -0
  567. package/dist/types/plugins/editable/index.d.ts +2 -0
  568. package/dist/types/plugins/expandable-grid/ExpandableColumn.d.ts +28 -0
  569. package/dist/types/plugins/expandable-grid/ExpandablePlugin.d.ts +1 -0
  570. package/dist/types/plugins/expandable-grid/ExpandedRow.d.ts +11 -0
  571. package/dist/types/plugins/expandable-grid/ExpandedRowExtra.d.ts +9 -0
  572. package/dist/types/plugins/expandable-grid/index.d.ts +2 -0
  573. package/dist/types/plugins/expandable-grid/tests/ExpandablePlugin.test.d.ts +1 -0
  574. package/dist/types/plugins/expandable-grid/useExpandGridState.d.ts +16 -0
  575. package/dist/types/plugins/export-data/ExportDataPlugin.d.ts +4 -0
  576. package/dist/types/plugins/export-data/index.d.ts +1 -0
  577. package/dist/types/plugins/filterable/FilterablePlugin.d.ts +1 -0
  578. package/dist/types/plugins/filterable/addFilterToColumn.d.ts +1 -0
  579. package/dist/types/plugins/filterable/components/FilterableHeader.d.ts +28 -0
  580. package/dist/types/plugins/filterable/components/filterable-menus/DateRangeFilterMenu.d.ts +30 -0
  581. package/dist/types/plugins/filterable/components/filterable-menus/SingleDateFilterMenu.d.ts +27 -0
  582. package/dist/types/plugins/filterable/components/filterable-menus/SingleRangeSwitcherMenu.d.ts +31 -0
  583. package/dist/types/plugins/filterable/components/filterable-menus/TextFilterMenu.d.ts +35 -0
  584. package/dist/types/plugins/filterable/components/filterable-menus/defaultDateFormat.d.ts +1 -0
  585. package/dist/types/plugins/filterable/components/filterable-menus/getFilterMenuByType.d.ts +2 -0
  586. package/dist/types/plugins/filterable/filterableFormatter.d.ts +11 -0
  587. package/dist/types/plugins/filterable/filtering-helper/filterRowsByQuery.d.ts +3 -0
  588. package/dist/types/plugins/filterable/filtering-helper/strategiesOperators.d.ts +2 -0
  589. package/dist/types/plugins/filterable/helper.d.ts +22 -0
  590. package/dist/types/plugins/filterable/index.d.ts +1 -0
  591. package/dist/types/plugins/filterable/useFilterableState.d.ts +18 -0
  592. package/dist/types/plugins/grouping-by/GroupingByPlugin.d.ts +1 -0
  593. package/dist/types/plugins/grouping-grid/GroupingPlugin.d.ts +1 -0
  594. package/dist/types/plugins/grouping-grid/walkStrategy.d.ts +9 -0
  595. package/dist/types/plugins/index.d.ts +16 -0
  596. package/dist/types/plugins/infinite-scrolling/InfiniteScrollPlugin.d.ts +1 -0
  597. package/dist/types/plugins/infinite-scrolling/index.d.ts +1 -0
  598. package/dist/types/plugins/pagination/PaginationPlugin.d.ts +1 -0
  599. package/dist/types/plugins/pagination/components/Pagination.d.ts +10 -0
  600. package/dist/types/plugins/pagination/components/Paginator.d.ts +9 -0
  601. package/dist/types/plugins/pagination/components/PerPageDropdown.d.ts +9 -0
  602. package/dist/types/plugins/pagination/helper.d.ts +18 -0
  603. package/dist/types/plugins/pagination/index.d.ts +1 -0
  604. package/dist/types/plugins/pagination/usePaginationState.d.ts +9 -0
  605. package/dist/types/plugins/resizable/ResizablePlugin.d.ts +1 -0
  606. package/dist/types/plugins/resizable/decorateResizable.d.ts +3 -0
  607. package/dist/types/plugins/resizable/index.d.ts +1 -0
  608. package/dist/types/plugins/resizable/useResizeHandle.d.ts +13 -0
  609. package/dist/types/plugins/resizable/utils.d.ts +3 -0
  610. package/dist/types/plugins/row-dnd/DndRowsPlugin.d.ts +1 -0
  611. package/dist/types/plugins/row-dnd/index.d.ts +1 -0
  612. package/dist/types/plugins/selectable/SelectablePlugin.d.ts +1 -0
  613. package/dist/types/plugins/selectable/addSelectableColumn.d.ts +30 -0
  614. package/dist/types/plugins/selectable/helper.d.ts +6 -0
  615. package/dist/types/plugins/selectable/index.d.ts +1 -0
  616. package/dist/types/plugins/selectable/selectableFormatter.d.ts +9 -0
  617. package/dist/types/plugins/selectable/useSelectableState.d.ts +12 -0
  618. package/dist/types/plugins/sortable/SortablePlugin.d.ts +1 -0
  619. package/dist/types/plugins/sortable/checkIfSortable.d.ts +2 -0
  620. package/dist/types/plugins/sortable/index.d.ts +1 -0
  621. package/dist/types/plugins/sortable/sortHeaderFormatter.d.ts +6 -0
  622. package/dist/types/plugins/sortable/sortTree.d.ts +3 -0
  623. package/dist/types/plugins/sortable/sorter.d.ts +12 -0
  624. package/dist/types/plugins/sortable/useSortableState.d.ts +8 -0
  625. package/dist/types/plugins/toolbar/RowRenderer.d.ts +10 -0
  626. package/dist/types/plugins/toolbar/ToolbarPlugin.d.ts +1 -0
  627. package/dist/types/plugins/toolbar/ToolbarTrigger.d.ts +7 -0
  628. package/dist/types/plugins/toolbar/index.d.ts +1 -0
  629. package/dist/types/plugins/virtualization/AutoHeightList.d.ts +3 -0
  630. package/dist/types/plugins/virtualization/VirtualizationPlugin.d.ts +1 -0
  631. package/dist/types/plugins/virtualization/VirtualizedBody.d.ts +32 -0
  632. package/dist/types/plugins/virtualization/VirtualizedBodyRow.d.ts +8 -0
  633. package/dist/types/plugins/virtualization/helper.d.ts +1 -0
  634. package/dist/types/plugins/virtualization/index.d.ts +1 -0
  635. package/dist/types/renders/CellWithAddons.d.ts +51 -0
  636. package/dist/types/renders/index.d.ts +2 -0
  637. package/dist/types/renders/styled.d.ts +4 -0
  638. package/dist/types/rowSizes.d.ts +11 -0
  639. package/dist/types/tests/DataGrid-Columns.test.d.ts +1 -0
  640. package/dist/types/tests/DataGrid-Editable.test.d.ts +1 -0
  641. package/dist/types/tests/DataGrid-Export.test.d.ts +1 -0
  642. package/dist/types/tests/DataGrid-Filter-helper.test.d.ts +1 -0
  643. package/dist/types/tests/DataGrid-Filterable-Dates.test.d.ts +1 -0
  644. package/dist/types/tests/DataGrid-Filterable-State.test.d.ts +1 -0
  645. package/dist/types/tests/DataGrid-RowDnd.test.d.ts +1 -0
  646. package/dist/types/tests/DataGrid-Selectable.test.d.ts +1 -0
  647. package/dist/types/tests/DataGrid-Sortable.test.d.ts +1 -0
  648. package/dist/types/tests/DataGrid-Toolbar.test.d.ts +1 -0
  649. package/dist/types/tests/DataGrid-Virtualization.test.d.ts +1 -0
  650. package/dist/types/tests/DataGrids-ColumnSizing.test.d.ts +1 -0
  651. package/dist/types/tests/DataGrids-ConditionalPagination.test.d.ts +1 -0
  652. package/dist/types/tests/DataGrids-Rows.test.d.ts +1 -0
  653. package/dist/types/tests/DataGrids.test.d.ts +1 -0
  654. package/dist/types/utilities/getPluginsFromProps.d.ts +2 -0
  655. package/dist/types/utilities/getScrollbarSize.d.ts +1 -0
  656. package/dist/types/utilities/normalizeData.d.ts +3 -0
  657. package/package.json +600 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/plugins/filterable/components/FilterableHeader.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable no-param-reassign */\nimport React, { useCallback, useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { aggregatedClasses } from '@elliemae/ds-legacy-classnames';\nimport { get, debounce, useResizeObserver } from '@elliemae/ds-legacy-utilities';\nimport { useTheme } from '@elliemae/ds-legacy-system';\nimport { getFilterMenuByType } from './filterable-menus/getFilterMenuByType.js';\n\nconst blockName = 'data-grid-filter-header';\n\nconst Container = aggregatedClasses('div')(blockName, null, ({ showFilter }) => ({\n 'show-filter': showFilter,\n}));\nconst FilterHeaderValue = aggregatedClasses('div')(blockName, 'value');\nconst FilterHeaderButton = aggregatedClasses('div')(blockName, 'button');\n\nexport const 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 = 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) nextWidth = filterMenuMaxWidth;\n return !isMenuOpened ? debouncedWidthSetter(nextWidth) : 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(get(column, ['filter', 'type']));\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\nexport default FilterableHeader;\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,149 @@
1
+ import * as React from "react";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import { useEffect, useState } from "react";
4
+ import PropTypes from "prop-types";
5
+ import { DSControlledDateRangePicker } from "@elliemae/ds-legacy-controlled-form";
6
+ import { DSPopper, PopperPositions as Position } from "@elliemae/ds-legacy-popper";
7
+ import { DatePicker2 } from "@elliemae/ds-legacy-icons";
8
+ import { DSButton } from "@elliemae/ds-legacy-button";
9
+ import moment from "moment";
10
+ import { aggregatedClasses } from "@elliemae/ds-legacy-classnames";
11
+ import { DEFAULT_DATE_FORMAT } from "./defaultDateFormat.js";
12
+ const blockname = "date-range";
13
+ const Wrapper = aggregatedClasses("div")(blockname, "wrapper");
14
+ const Header = aggregatedClasses("div")(blockname, "header");
15
+ const DateRangePickerContainer = ({ onChange = () => null, showHeader }) => {
16
+ const [startDate, setStartDate] = useState("");
17
+ const [endDate, setEndDate] = useState("");
18
+ const [lastChangeWasPicker, setLastChangeWasPicker] = useState(false);
19
+ useEffect(() => {
20
+ const startMoment = moment(startDate);
21
+ const endMoment = moment(endDate);
22
+ if (lastChangeWasPicker && startDate && !startDate.includes("_") && endDate && !endDate.includes("_") && endMoment.diff(startMoment) >= 0) {
23
+ onChange({ startDate: startMoment, endDate: endMoment });
24
+ }
25
+ }, [startDate, endDate, lastChangeWasPicker]);
26
+ return /* @__PURE__ */ jsxs(
27
+ Wrapper,
28
+ {
29
+ "data-testid": "date-range__wrapper",
30
+ onKeyDown: (e) => e.code === "Enter" && setLastChangeWasPicker(true),
31
+ style: { backgroundColor: "white", boxShadow: "0 6px 20px 0 rgb(0 0 0 / 24%)", width: "261px" },
32
+ children: [
33
+ showHeader && /* @__PURE__ */ jsx(Header, { style: { padding: "8px", display: "flex", justifyContent: "center" }, children: /* @__PURE__ */ jsx(
34
+ DSControlledDateRangePicker,
35
+ {
36
+ fromDate: startDate,
37
+ onFromDateChange: (_start) => {
38
+ setStartDate(_start);
39
+ setLastChangeWasPicker(false);
40
+ },
41
+ toDate: endDate,
42
+ onToDateChange: (_end) => {
43
+ setEndDate(_end);
44
+ setLastChangeWasPicker(false);
45
+ },
46
+ type: "date-range-inputs"
47
+ }
48
+ ) }),
49
+ /* @__PURE__ */ jsx(
50
+ DSControlledDateRangePicker,
51
+ {
52
+ fromDate: startDate,
53
+ onFromDateChange: (_start) => {
54
+ setStartDate(_start);
55
+ setLastChangeWasPicker(true);
56
+ },
57
+ toDate: endDate,
58
+ onToDateChange: (_end) => {
59
+ setEndDate(_end);
60
+ setLastChangeWasPicker(true);
61
+ },
62
+ type: "date-range-picker-controller-only"
63
+ }
64
+ )
65
+ ]
66
+ }
67
+ );
68
+ };
69
+ DateRangePickerContainer.propTypes = {
70
+ onChange: PropTypes.func,
71
+ showHeader: PropTypes.bool
72
+ };
73
+ const formatRangeDate = ({ startDate, endDate }, format = DEFAULT_DATE_FORMAT) => {
74
+ const sameDay = startDate.isSame(endDate, "day");
75
+ if (sameDay)
76
+ return `${endDate.format(format)}`;
77
+ return `${startDate.format(format)} - ${endDate.format(format)}`;
78
+ };
79
+ const DateRangeFilterMenu = ({
80
+ column,
81
+ className,
82
+ isMenuOpened = false,
83
+ onOpenMenu = () => null,
84
+ placement = Position.BOTTOM_END,
85
+ onAddFilter = () => null,
86
+ dateFormatter = formatRangeDate,
87
+ showHeader = true,
88
+ menuProps
89
+ }) => /* @__PURE__ */ jsx(
90
+ DSPopper,
91
+ {
92
+ contentComponent: /* @__PURE__ */ jsx("div", { className, children: /* @__PURE__ */ jsx(
93
+ DateRangePickerContainer,
94
+ {
95
+ minimumNights: 0,
96
+ onChange: ({ startDate, endDate }) => {
97
+ startDate.startOf("day");
98
+ endDate.endOf("day");
99
+ onAddFilter(
100
+ {
101
+ group: column.property,
102
+ label: column.label,
103
+ value: dateFormatter({ startDate, endDate }),
104
+ type: "date",
105
+ // todo: create constants for filter types
106
+ filterParams: { start: startDate, end: endDate },
107
+ transformRowValue: (value) => moment(value, column.dateFormat || DEFAULT_DATE_FORMAT),
108
+ operator: "range"
109
+ },
110
+ column
111
+ );
112
+ onOpenMenu(false);
113
+ },
114
+ showHeader
115
+ }
116
+ ) }),
117
+ isOpen: isMenuOpened,
118
+ onOpen: onOpenMenu,
119
+ placement,
120
+ showArrow: false,
121
+ triggerComponent: /* @__PURE__ */ jsx(
122
+ DSButton,
123
+ {
124
+ buttonType: "text",
125
+ icon: /* @__PURE__ */ jsx(DatePicker2, {}),
126
+ onClick: () => !isMenuOpened ? onOpenMenu(true) : onOpenMenu(false),
127
+ size: "s"
128
+ }
129
+ ),
130
+ zIndex: menuProps.zIndex
131
+ }
132
+ );
133
+ DateRangeFilterMenu.propTypes = {
134
+ column: PropTypes.any,
135
+ className: PropTypes.string,
136
+ isMenuOpened: PropTypes.bool,
137
+ onOpenMenu: PropTypes.func,
138
+ placement: PropTypes.string,
139
+ onAddFilter: PropTypes.func,
140
+ dateFormatter: PropTypes.any,
141
+ showHeader: PropTypes.bool,
142
+ menuProps: PropTypes.any
143
+ };
144
+ var DateRangeFilterMenu_default = DateRangeFilterMenu;
145
+ export {
146
+ DateRangeFilterMenu,
147
+ DateRangeFilterMenu_default as default
148
+ };
149
+ //# sourceMappingURL=DateRangeFilterMenu.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../../src/plugins/filterable/components/filterable-menus/DateRangeFilterMenu.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { DSControlledDateRangePicker } from '@elliemae/ds-legacy-controlled-form';\nimport { DSPopper, PopperPositions as Position } from '@elliemae/ds-legacy-popper';\nimport { DatePicker2 } from '@elliemae/ds-legacy-icons';\nimport { DSButton } from '@elliemae/ds-legacy-button';\nimport moment from 'moment';\nimport { aggregatedClasses } from '@elliemae/ds-legacy-classnames';\nimport { DEFAULT_DATE_FORMAT } from './defaultDateFormat.js';\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\nconst 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 <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\nDateRangeFilterMenu.propTypes = {\n column: PropTypes.any,\n className: PropTypes.string,\n isMenuOpened: PropTypes.bool,\n onOpenMenu: PropTypes.func,\n placement: PropTypes.string,\n onAddFilter: PropTypes.func,\n dateFormatter: PropTypes.any,\n showHeader: PropTypes.bool,\n menuProps: PropTypes.any,\n};\n\nexport { DateRangeFilterMenu };\nexport default DateRangeFilterMenu;\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,103 @@
1
+ import * as React from "react";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import { useCallback, useState } from "react";
4
+ import PropTypes from "prop-types";
5
+ import { Grid } from "@elliemae/ds-legacy-grid";
6
+ import { DSControlledDateTimePicker } from "@elliemae/ds-legacy-controlled-form";
7
+ import { DSPopper, PopperPositions as Position } from "@elliemae/ds-legacy-popper";
8
+ import { DatePicker2 } from "@elliemae/ds-legacy-icons";
9
+ import { DSButton } from "@elliemae/ds-legacy-button";
10
+ import moment from "moment";
11
+ import { DEFAULT_DATE_FORMAT } from "./defaultDateFormat.js";
12
+ const SingleDatePickerContainer = ({ onChange = () => null, showHeader }) => {
13
+ const [date, setDate] = useState("");
14
+ const handleDateChange = useCallback(
15
+ (data) => {
16
+ if (!data.includes("_"))
17
+ onChange(moment(data));
18
+ setDate(data);
19
+ },
20
+ [onChange]
21
+ );
22
+ return /* @__PURE__ */ jsxs("div", { style: { boxShadow: "0 6px 20px 0 rgb(0 0 0 / 24%)" }, children: [
23
+ showHeader && /* @__PURE__ */ jsx(Grid, { p: "xxs", children: /* @__PURE__ */ jsx(DSControlledDateTimePicker, { date, onDateChange: handleDateChange, type: "date-inputs", isClearable: true }) }),
24
+ /* @__PURE__ */ jsx(DSControlledDateTimePicker, { date, onDateChange: handleDateChange, type: "date-picker-controller-only" })
25
+ ] });
26
+ };
27
+ SingleDatePickerContainer.propTypes = {
28
+ onChange: PropTypes.func,
29
+ showHeader: PropTypes.bool
30
+ };
31
+ const formatDate = (date, format = DEFAULT_DATE_FORMAT) => date.format(format);
32
+ const SingleDateFilterMenu = ({
33
+ column,
34
+ className,
35
+ isMenuOpened = false,
36
+ onOpenMenu = () => null,
37
+ placement = Position.BOTTOM_END,
38
+ onAddFilter = () => null,
39
+ dateFormatter = formatDate,
40
+ showHeader = false,
41
+ menuProps
42
+ }) => /* @__PURE__ */ jsx(
43
+ DSPopper,
44
+ {
45
+ contentComponent: /* @__PURE__ */ jsx("div", { className, "data-testid": "date-single__wrapper", children: /* @__PURE__ */ jsx(
46
+ SingleDatePickerContainer,
47
+ {
48
+ minimumNights: 0,
49
+ onChange: (date) => {
50
+ const t = date.clone();
51
+ onAddFilter(
52
+ {
53
+ group: column.property,
54
+ label: column.label,
55
+ value: dateFormatter(date, column.dateFormat),
56
+ type: "date",
57
+ operator: "range",
58
+ filterParams: {
59
+ start: date.startOf("day"),
60
+ end: t.endOf("day")
61
+ },
62
+ transformRowValue: (value) => moment(value, column.dateFormat || DEFAULT_DATE_FORMAT)
63
+ },
64
+ column
65
+ );
66
+ onOpenMenu(false);
67
+ },
68
+ showHeader
69
+ }
70
+ ) }),
71
+ isOpen: isMenuOpened,
72
+ onOpen: onOpenMenu,
73
+ placement,
74
+ showArrow: false,
75
+ triggerComponent: /* @__PURE__ */ jsx(
76
+ DSButton,
77
+ {
78
+ buttonType: "text",
79
+ icon: /* @__PURE__ */ jsx(DatePicker2, {}),
80
+ onClick: () => !isMenuOpened ? onOpenMenu(true) : onOpenMenu(false),
81
+ size: "s"
82
+ }
83
+ ),
84
+ zIndex: menuProps.zIndex
85
+ }
86
+ );
87
+ SingleDateFilterMenu.propTypes = {
88
+ column: PropTypes.any,
89
+ className: PropTypes.string,
90
+ isMenuOpened: PropTypes.bool,
91
+ onOpenMenu: PropTypes.func,
92
+ placement: PropTypes.string,
93
+ onAddFilter: PropTypes.func,
94
+ dateFormatter: PropTypes.any,
95
+ showHeader: PropTypes.bool,
96
+ menuProps: PropTypes.any
97
+ };
98
+ var SingleDateFilterMenu_default = SingleDateFilterMenu;
99
+ export {
100
+ SingleDateFilterMenu,
101
+ SingleDateFilterMenu_default as default
102
+ };
103
+ //# sourceMappingURL=SingleDateFilterMenu.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../../src/plugins/filterable/components/filterable-menus/SingleDateFilterMenu.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useCallback, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { Grid } from '@elliemae/ds-legacy-grid';\nimport { DSControlledDateTimePicker } from '@elliemae/ds-legacy-controlled-form';\nimport { DSPopper, PopperPositions as Position } from '@elliemae/ds-legacy-popper';\nimport { DatePicker2 } from '@elliemae/ds-legacy-icons';\nimport { DSButton } from '@elliemae/ds-legacy-button';\nimport moment from 'moment';\nimport { DEFAULT_DATE_FORMAT } from './defaultDateFormat.js';\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\nconst 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 <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\nSingleDateFilterMenu.propTypes = {\n column: PropTypes.any,\n className: PropTypes.string,\n isMenuOpened: PropTypes.bool,\n onOpenMenu: PropTypes.func,\n placement: PropTypes.string,\n onAddFilter: PropTypes.func,\n dateFormatter: PropTypes.any,\n showHeader: PropTypes.bool,\n menuProps: PropTypes.any,\n};\n\nexport { SingleDateFilterMenu };\nexport default SingleDateFilterMenu;\n"],
5
+ "mappings": "AAAA,YAAY,WAAW;ACsBnB,SAGM,KAHN;AAtBJ,SAAgB,aAAa,gBAAgB;AAC7C,OAAO,eAAe;AACtB,SAAS,YAAY;AACrB,SAAS,kCAAkC;AAC3C,SAAS,UAAU,mBAAmB,gBAAgB;AACtD,SAAS,mBAAmB;AAC5B,SAAS,gBAAgB;AACzB,OAAO,YAAY;AACnB,SAAS,2BAA2B;AAEpC,MAAM,4BAA4B,CAAC,EAAE,WAAW,MAAM,MAAM,WAAW,MAAM;AAC3E,QAAM,CAAC,MAAM,OAAO,IAAI,SAAS,EAAE;AAEnC,QAAM,mBAAmB;AAAA,IACvB,CAAC,SAAS;AACR,UAAI,CAAC,KAAK,SAAS,GAAG;AAAG,iBAAS,OAAO,IAAI,CAAC;AAC9C,cAAQ,IAAI;AAAA,IACd;AAAA,IACA,CAAC,QAAQ;AAAA,EACX;AAEA,SACE,qBAAC,SAAI,OAAO,EAAE,WAAW,gCAAgC,GACtD;AAAA,kBACC,oBAAC,QAAK,GAAE,OACN,8BAAC,8BAA2B,MAAY,cAAc,kBAAkB,MAAK,eAAc,aAAW,MAAC,GACzG;AAAA,IAEF,oBAAC,8BAA2B,MAAY,cAAc,kBAAkB,MAAK,+BAA8B;AAAA,KAC7G;AAEJ;AAEA,0BAA0B,YAAY;AAAA,EACpC,UAAU,UAAU;AAAA,EACpB,YAAY,UAAU;AACxB;AAEA,MAAM,aAAa,CAAC,MAAM,SAAS,wBAAwB,KAAK,OAAO,MAAM;AAE7E,MAAM,uBAAuB,CAAC;AAAA,EAC5B;AAAA,EACA;AAAA,EACA,eAAe;AAAA,EACf,aAAa,MAAM;AAAA,EACnB,YAAY,SAAS;AAAA,EACrB,cAAc,MAAM;AAAA,EACpB,gBAAgB;AAAA,EAChB,aAAa;AAAA,EACb;AACF,MACE;AAAA,EAAC;AAAA;AAAA,IACC,kBACE,oBAAC,SAAI,WAAsB,eAAY,wBACrC;AAAA,MAAC;AAAA;AAAA,QACC,eAAe;AAAA,QACf,UAAU,CAAC,SAAS;AAClB,gBAAM,IAAI,KAAK,MAAM;AACrB;AAAA,YACE;AAAA,cACE,OAAO,OAAO;AAAA,cACd,OAAO,OAAO;AAAA,cACd,OAAO,cAAc,MAAM,OAAO,UAAU;AAAA,cAC5C,MAAM;AAAA,cACN,UAAU;AAAA,cACV,cAAc;AAAA,gBACZ,OAAO,KAAK,QAAQ,KAAK;AAAA,gBACzB,KAAK,EAAE,MAAM,KAAK;AAAA,cACpB;AAAA,cACA,mBAAmB,CAAC,UAAU,OAAO,OAAO,OAAO,cAAc,mBAAmB;AAAA,YACtF;AAAA,YACA;AAAA,UACF;AACA,qBAAW,KAAK;AAAA,QAClB;AAAA,QACA;AAAA;AAAA,IACF,GACF;AAAA,IAEF,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR;AAAA,IACA,WAAW;AAAA,IACX,kBACE;AAAA,MAAC;AAAA;AAAA,QACC,YAAW;AAAA,QACX,MAAM,oBAAC,eAAY;AAAA,QACnB,SAAS,MAAO,CAAC,eAAe,WAAW,IAAI,IAAI,WAAW,KAAK;AAAA,QACnE,MAAK;AAAA;AAAA,IACP;AAAA,IAEF,QAAQ,UAAU;AAAA;AACpB;AAGF,qBAAqB,YAAY;AAAA,EAC/B,QAAQ,UAAU;AAAA,EAClB,WAAW,UAAU;AAAA,EACrB,cAAc,UAAU;AAAA,EACxB,YAAY,UAAU;AAAA,EACtB,WAAW,UAAU;AAAA,EACrB,aAAa,UAAU;AAAA,EACvB,eAAe,UAAU;AAAA,EACzB,YAAY,UAAU;AAAA,EACtB,WAAW,UAAU;AACvB;AAGA,IAAO,+BAAQ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,205 @@
1
+ import * as React from "react";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import { useEffect, useState } from "react";
4
+ import PropTypes from "prop-types";
5
+ import {
6
+ DSControlledDateTimePicker,
7
+ DSControlledDateRangePicker,
8
+ DSControlledCheckbox
9
+ } from "@elliemae/ds-legacy-controlled-form";
10
+ import { DSPopper, PopperPositions as Position } from "@elliemae/ds-legacy-popper";
11
+ import { DatePicker2 } from "@elliemae/ds-legacy-icons";
12
+ import { DSButton } from "@elliemae/ds-legacy-button";
13
+ import { Grid } from "@elliemae/ds-legacy-grid";
14
+ import moment from "moment";
15
+ import { styled } from "@elliemae/ds-legacy-system";
16
+ import { DEFAULT_DATE_FORMAT } from "./defaultDateFormat.js";
17
+ const StyledGridWrapper = styled(Grid)`
18
+ .notCurrentMonth {
19
+ opacity: ${(props) => props.enableOutsideDays ? "1" : "0"};
20
+ pointer-events: ${(props) => props.enableOutsideDays ? "auto" : "none"};
21
+ }
22
+ `;
23
+ const noop = (...args) => {
24
+ };
25
+ const SingleRangeSwitcherContainer = ({ onChange = noop, enableOutsideDays }) => {
26
+ const [startDate, setStartDate] = useState("");
27
+ const [endDate, setEndDate] = useState("");
28
+ const [lastChangeWasPicker, setLastChangeWasPicker] = useState(false);
29
+ const [isDateRange, setIsDateRange] = useState(false);
30
+ useEffect(() => {
31
+ const startMoment = moment(startDate);
32
+ const endMoment = moment(endDate);
33
+ if (lastChangeWasPicker && startDate && !startDate.includes("_") && endDate && !endDate.includes("_") && endMoment.diff(startMoment) >= 0) {
34
+ onChange({ startDate: startMoment, endDate: endMoment });
35
+ }
36
+ }, [startDate, endDate, lastChangeWasPicker]);
37
+ return /* @__PURE__ */ jsxs(
38
+ StyledGridWrapper,
39
+ {
40
+ "data-testid": "date-single-range__wrapper",
41
+ style: {
42
+ backgroundColor: "white",
43
+ boxShadow: "0 6px 20px 0 rgb(0 0 0 / 24%)",
44
+ width: "261px",
45
+ display: "grid",
46
+ justifyContent: "center"
47
+ },
48
+ cols: ["100%"],
49
+ enableOutsideDays,
50
+ onKeyDown: (e) => e.code === "Enter" && setLastChangeWasPicker(true),
51
+ children: [
52
+ /* @__PURE__ */ jsxs(Grid, { gutter: "xxs", alignItems: "center", p: "xxs", children: [
53
+ /* @__PURE__ */ jsx(
54
+ DSControlledCheckbox,
55
+ {
56
+ checked: isDateRange,
57
+ name: "Date range",
58
+ label: "Range",
59
+ id: "date-range-switcher-id-internal",
60
+ onChange: () => {
61
+ setIsDateRange(!isDateRange);
62
+ setStartDate("");
63
+ setEndDate("");
64
+ }
65
+ }
66
+ ),
67
+ /* @__PURE__ */ jsx("div", { style: { width: "fit-content" }, children: isDateRange ? /* @__PURE__ */ jsx(
68
+ DSControlledDateRangePicker,
69
+ {
70
+ fromDate: startDate,
71
+ onFromDateChange: (_start) => {
72
+ setStartDate(_start);
73
+ setLastChangeWasPicker(false);
74
+ },
75
+ toDate: endDate,
76
+ onToDateChange: (_end) => {
77
+ setEndDate(_end);
78
+ setLastChangeWasPicker(false);
79
+ },
80
+ type: "date-range-inputs"
81
+ }
82
+ ) : /* @__PURE__ */ jsx(
83
+ DSControlledDateTimePicker,
84
+ {
85
+ date: startDate,
86
+ onDateChange: (_date) => {
87
+ setLastChangeWasPicker(false);
88
+ setStartDate(_date);
89
+ setEndDate(_date);
90
+ },
91
+ type: "date-inputs"
92
+ }
93
+ ) })
94
+ ] }),
95
+ /* @__PURE__ */ jsx(Grid, { children: isDateRange ? /* @__PURE__ */ jsx(
96
+ DSControlledDateRangePicker,
97
+ {
98
+ fromDate: startDate,
99
+ onFromDateChange: (_start) => {
100
+ setStartDate(_start);
101
+ setLastChangeWasPicker(true);
102
+ },
103
+ toDate: endDate,
104
+ onToDateChange: (_end) => {
105
+ setEndDate(_end);
106
+ setLastChangeWasPicker(true);
107
+ },
108
+ type: "date-range-picker-controller-only"
109
+ }
110
+ ) : /* @__PURE__ */ jsx(
111
+ DSControlledDateTimePicker,
112
+ {
113
+ date: startDate,
114
+ onDateChange: (_date) => {
115
+ setLastChangeWasPicker(true);
116
+ setStartDate(_date);
117
+ setEndDate(_date);
118
+ },
119
+ type: "date-picker-controller-only"
120
+ }
121
+ ) })
122
+ ]
123
+ }
124
+ );
125
+ };
126
+ SingleRangeSwitcherContainer.propTypes = {
127
+ onChange: PropTypes.func,
128
+ enableOutsideDays: PropTypes.bool
129
+ };
130
+ const formatRangeDate = ({ startDate, endDate }, format = DEFAULT_DATE_FORMAT) => {
131
+ const sameDay = startDate.isSame(endDate, "day");
132
+ if (sameDay)
133
+ return `${endDate.format(format)}`;
134
+ return `${startDate.format(format)} - ${endDate.format(format)}`;
135
+ };
136
+ const SingleRangeSwitcherMenu = ({
137
+ column,
138
+ className,
139
+ isMenuOpened = false,
140
+ onOpenMenu = noop,
141
+ placement = Position.BOTTOM_END,
142
+ onAddFilter = noop,
143
+ dateFormatter = formatRangeDate,
144
+ enableOutsideDays = true,
145
+ menuProps
146
+ }) => /* @__PURE__ */ jsx(
147
+ DSPopper,
148
+ {
149
+ contentComponent: /* @__PURE__ */ jsx("div", { className, children: /* @__PURE__ */ jsx(
150
+ SingleRangeSwitcherContainer,
151
+ {
152
+ enableOutsideDays,
153
+ onChange: ({ startDate, endDate }) => {
154
+ startDate.startOf("day");
155
+ endDate.endOf("day");
156
+ onAddFilter(
157
+ {
158
+ group: column.property,
159
+ label: column.label,
160
+ value: dateFormatter({ startDate, endDate }, column.format),
161
+ type: "date",
162
+ // todo: create constants for filter types
163
+ filterParams: { start: startDate, end: endDate },
164
+ transformRowValue: (value) => moment(value, column.dateFormat || DEFAULT_DATE_FORMAT),
165
+ operator: "range"
166
+ },
167
+ column
168
+ );
169
+ onOpenMenu(false);
170
+ }
171
+ }
172
+ ) }),
173
+ isOpen: isMenuOpened,
174
+ onOpen: onOpenMenu,
175
+ placement,
176
+ showArrow: false,
177
+ triggerComponent: /* @__PURE__ */ jsx(
178
+ DSButton,
179
+ {
180
+ buttonType: "text",
181
+ icon: /* @__PURE__ */ jsx(DatePicker2, {}),
182
+ onClick: () => !isMenuOpened ? onOpenMenu(true) : onOpenMenu(false),
183
+ size: "s"
184
+ }
185
+ ),
186
+ zIndex: menuProps.zIndex
187
+ }
188
+ );
189
+ SingleRangeSwitcherMenu.propTypes = {
190
+ column: PropTypes.any,
191
+ className: PropTypes.string,
192
+ isMenuOpened: PropTypes.bool,
193
+ onOpenMenu: PropTypes.func,
194
+ placement: PropTypes.string,
195
+ onAddFilter: PropTypes.func,
196
+ dateFormatter: PropTypes.any,
197
+ enableOutsideDays: PropTypes.bool,
198
+ menuProps: PropTypes.any
199
+ };
200
+ var SingleRangeSwitcherMenu_default = SingleRangeSwitcherMenu;
201
+ export {
202
+ SingleRangeSwitcherMenu,
203
+ SingleRangeSwitcherMenu_default as default
204
+ };
205
+ //# sourceMappingURL=SingleRangeSwitcherMenu.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../../src/plugins/filterable/components/filterable-menus/SingleRangeSwitcherMenu.tsx"],
4
+ "sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport {\n DSControlledDateTimePicker,\n DSControlledDateRangePicker,\n DSControlledCheckbox,\n} from '@elliemae/ds-legacy-controlled-form';\nimport { DSPopper, PopperPositions as Position } from '@elliemae/ds-legacy-popper';\nimport { DatePicker2 } from '@elliemae/ds-legacy-icons';\nimport { DSButton } from '@elliemae/ds-legacy-button';\nimport { Grid } from '@elliemae/ds-legacy-grid';\nimport moment from 'moment';\nimport { styled } from '@elliemae/ds-legacy-system';\nimport { DEFAULT_DATE_FORMAT } from './defaultDateFormat.js';\n\nconst StyledGridWrapper = styled(Grid)`\n .notCurrentMonth {\n opacity: ${(props) => (props.enableOutsideDays ? '1' : '0')};\n pointer-events: ${(props) => (props.enableOutsideDays ? 'auto' : 'none')};\n }\n`;\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-empty-function\nconst noop = (...args) => {};\n\nconst SingleRangeSwitcherContainer = ({ onChange = noop, enableOutsideDays }) => {\n const [startDate, setStartDate] = useState('');\n const [endDate, setEndDate] = useState('');\n\n // For some reason it worked like this\n const [lastChangeWasPicker, setLastChangeWasPicker] = useState(false);\n\n const [isDateRange, setIsDateRange] = useState(false);\n\n useEffect(() => {\n const startMoment = moment(startDate);\n const endMoment = moment(endDate);\n if (\n lastChangeWasPicker &&\n startDate &&\n !startDate.includes('_') &&\n endDate &&\n !endDate.includes('_') &&\n endMoment.diff(startMoment) >= 0\n ) {\n onChange({ startDate: startMoment, endDate: endMoment });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [startDate, endDate, lastChangeWasPicker]);\n\n return (\n <StyledGridWrapper\n data-testid=\"date-single-range__wrapper\"\n style={{\n backgroundColor: 'white',\n boxShadow: '0 6px 20px 0 rgb(0 0 0 / 24%)',\n width: '261px',\n display: 'grid',\n justifyContent: 'center',\n }}\n cols={['100%']}\n enableOutsideDays={enableOutsideDays}\n onKeyDown={(e) => e.code === 'Enter' && setLastChangeWasPicker(true)}\n >\n <Grid gutter=\"xxs\" alignItems=\"center\" p=\"xxs\">\n <DSControlledCheckbox\n checked={isDateRange}\n name=\"Date range\"\n label=\"Range\"\n id=\"date-range-switcher-id-internal\"\n onChange={() => {\n setIsDateRange(!isDateRange);\n setStartDate('');\n setEndDate('');\n }}\n />\n <div style={{ width: 'fit-content' }}>\n {isDateRange ? (\n <DSControlledDateRangePicker\n fromDate={startDate}\n onFromDateChange={(_start) => {\n setStartDate(_start);\n setLastChangeWasPicker(false);\n }}\n toDate={endDate}\n onToDateChange={(_end) => {\n setEndDate(_end);\n setLastChangeWasPicker(false);\n }}\n type=\"date-range-inputs\"\n />\n ) : (\n <DSControlledDateTimePicker\n date={startDate}\n onDateChange={(_date) => {\n setLastChangeWasPicker(false);\n setStartDate(_date);\n setEndDate(_date);\n }}\n type=\"date-inputs\"\n />\n )}\n </div>\n </Grid>\n <Grid>\n {isDateRange ? (\n <DSControlledDateRangePicker\n fromDate={startDate}\n onFromDateChange={(_start) => {\n setStartDate(_start);\n setLastChangeWasPicker(true);\n }}\n toDate={endDate}\n onToDateChange={(_end) => {\n setEndDate(_end);\n setLastChangeWasPicker(true);\n }}\n type=\"date-range-picker-controller-only\"\n />\n ) : (\n <DSControlledDateTimePicker\n date={startDate}\n onDateChange={(_date) => {\n setLastChangeWasPicker(true);\n setStartDate(_date);\n setEndDate(_date);\n }}\n type=\"date-picker-controller-only\"\n />\n )}\n </Grid>\n </StyledGridWrapper>\n );\n};\n\nSingleRangeSwitcherContainer.propTypes = {\n onChange: PropTypes.func,\n enableOutsideDays: PropTypes.bool,\n};\n\nconst formatRangeDate = ({ startDate, endDate }, format = DEFAULT_DATE_FORMAT) => {\n const sameDay = startDate.isSame(endDate, 'day');\n if (sameDay) return `${endDate.format(format)}`;\n return `${startDate.format(format)} - ${endDate.format(format)}`;\n};\n\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nconst SingleRangeSwitcherMenu = ({\n column,\n className,\n isMenuOpened = false,\n onOpenMenu = noop,\n placement = Position.BOTTOM_END,\n onAddFilter = noop,\n dateFormatter = formatRangeDate,\n enableOutsideDays = true,\n menuProps,\n}): JSX.Element => (\n <DSPopper\n contentComponent={\n <div className={className}>\n <SingleRangeSwitcherContainer\n enableOutsideDays={enableOutsideDays}\n onChange={({ startDate, endDate }) => {\n startDate.startOf('day');\n endDate.endOf('day');\n onAddFilter(\n {\n group: column.property,\n label: column.label,\n value: dateFormatter({ startDate, endDate }, column.format),\n type: 'date', // todo: create constants for filter types\n filterParams: { start: startDate, end: endDate },\n transformRowValue: (value) => moment(value, column.dateFormat || DEFAULT_DATE_FORMAT),\n operator: 'range',\n },\n column,\n );\n onOpenMenu(false);\n }}\n />\n </div>\n }\n isOpen={isMenuOpened}\n onOpen={onOpenMenu}\n placement={placement}\n showArrow={false}\n triggerComponent={\n <DSButton\n buttonType=\"text\"\n icon={<DatePicker2 />}\n onClick={() => (!isMenuOpened ? onOpenMenu(true) : onOpenMenu(false))}\n size=\"s\"\n />\n }\n zIndex={menuProps.zIndex}\n />\n);\n\nSingleRangeSwitcherMenu.propTypes = {\n column: PropTypes.any,\n className: PropTypes.string,\n isMenuOpened: PropTypes.bool,\n onOpenMenu: PropTypes.func,\n placement: PropTypes.string,\n onAddFilter: PropTypes.func,\n dateFormatter: PropTypes.any,\n enableOutsideDays: PropTypes.bool,\n menuProps: PropTypes.any,\n};\n\nexport { SingleRangeSwitcherMenu };\nexport default SingleRangeSwitcherMenu;\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }