@elliemae/ds-data-table 1.61.12 → 1.61.13
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.
- package/cjs/DataTable.js +1 -1
- package/cjs/DataTable.js.map +1 -1
- package/cjs/DataTableContext.js.map +1 -1
- package/cjs/DataTableSchema.js.map +1 -1
- package/cjs/addons/Columns/ColumnAction/ColumnAction.js.map +1 -1
- package/cjs/addons/Columns/ColumnDragHandle/ColumnDragHandle.js +1 -1
- package/cjs/addons/Columns/ColumnExpand/ColumnExpand.js +1 -1
- package/cjs/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js +1 -1
- package/cjs/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js +1 -1
- package/cjs/addons/Columns/index.js +1 -1
- package/cjs/addons/Editables/ComboboxEditableCell/ComboboxEditableCell.js +1 -1
- package/cjs/addons/Editables/DateEditableCell/DateEditableCell.js +1 -1
- package/cjs/addons/Editables/DateEditableCell/DateEditableCell.js.map +1 -1
- package/cjs/addons/Editables/TextEditableCell/TextEditableCell.js +1 -1
- package/cjs/addons/Editables/index.js +1 -1
- package/cjs/addons/Filters/Components/CurrencyRangeFilter/index.js +1 -1
- package/cjs/addons/Filters/Components/DateRangeFilter/index.js +1 -1
- package/cjs/addons/Filters/Components/DateSwitcherFilter/index.js +1 -1
- package/cjs/addons/Filters/Components/NumberRangeFilter/index.js +1 -1
- package/cjs/addons/Filters/Components/SelectFilter/BaseSelectFilter.js +1 -1
- package/cjs/addons/Filters/Components/SelectFilter/MultiSelectFilter.js +1 -1
- package/cjs/addons/Filters/Components/SelectFilter/SingleSelectFilter.js +1 -1
- package/cjs/addons/Filters/Components/SelectFilter/components.js.map +1 -1
- package/cjs/addons/Filters/Components/SelectFilter/useSelectFilterHandlers.js +1 -1
- package/cjs/addons/Filters/Components/SelectFilter/useSelectFilterHandlers.js.map +1 -1
- package/cjs/addons/Filters/Components/SelectFilter/utils.js +1 -1
- package/cjs/addons/Filters/Components/SelectFilter/utils.js.map +1 -1
- package/cjs/addons/Filters/Components/SingleDateFilter/index.js +1 -1
- package/cjs/addons/Filters/Components/TextInputFilter/index.js +1 -1
- package/cjs/addons/Filters/Components/index.js +1 -1
- package/cjs/addons/Filters/index.js +1 -1
- package/cjs/addons/Pagination/Pagination.js.map +1 -1
- package/cjs/configs/constants.js.map +1 -1
- package/cjs/configs/fixedSizes.js.map +1 -1
- package/cjs/configs/index.js +1 -1
- package/cjs/configs/useDatatableConfig.js +1 -1
- package/cjs/configs/useDatatableConfig.js.map +1 -1
- package/cjs/configs/usePaginationConfig.js.map +1 -1
- package/cjs/configs/useRowFlattenization.js.map +1 -1
- package/cjs/configs/useTableColsWithAddons.js +1 -1
- package/cjs/configs/useTableColsWithAddons.js.map +1 -1
- package/cjs/configs/zIndexInternalConfig.js.map +1 -1
- package/cjs/exported-related/EditableCell.js +1 -1
- package/cjs/exported-related/FilterPopover.js +1 -1
- package/cjs/exported-related/FilterTypes.js.map +1 -1
- package/cjs/exported-related/Filters/applyOutOfTheBoxFilters.js +1 -1
- package/cjs/exported-related/Filters/currencyRangeFilterFn.js.map +1 -1
- package/cjs/exported-related/Filters/dateRangeFilterFn.js +1 -1
- package/cjs/exported-related/Filters/dateSwitcherFilterFn.js +1 -1
- package/cjs/exported-related/Filters/index.js +1 -1
- package/cjs/exported-related/Filters/multiSelectFilterFn.js.map +1 -1
- package/cjs/exported-related/Filters/numberRangeFilterFn.js.map +1 -1
- package/cjs/exported-related/Filters/singleDateFilterFn.js +1 -1
- package/cjs/exported-related/Filters/singleSelectFilterFn.js.map +1 -1
- package/cjs/exported-related/Filters/textFilterFn.js.map +1 -1
- package/cjs/exported-related/RowRenderer/DefaultRowContentRenderer.js +1 -1
- package/cjs/exported-related/RowRenderer/index.js +1 -1
- package/cjs/exported-related/RowRenderer/useRowRendererHandlers.js +1 -1
- package/cjs/exported-related/RowRenderer/useRowRendererProperties.js.map +1 -1
- package/cjs/exported-related/RowRenderer/useRowStyle.js.map +1 -1
- package/cjs/exported-related/RowVariants.js.map +1 -1
- package/cjs/exported-related/Toolbar/Toolbar.js +1 -1
- package/cjs/exported-related/Toolbar/Toolbar.js.map +1 -1
- package/cjs/exported-related/Toolbar/index.js +1 -1
- package/cjs/exported-related/groupBy.js.map +1 -1
- package/cjs/exported-related/index.js +1 -1
- package/cjs/helpers/addCellData.js.map +1 -1
- package/cjs/helpers/cellPadding.js.map +1 -1
- package/cjs/helpers/columnsToGrid.js.map +1 -1
- package/cjs/helpers/dndkit/hierarchy/customCollisionDetection.js +1 -1
- package/cjs/helpers/dndkit/hierarchy/getHierarchyKeyboardCoordinates.js +1 -1
- package/cjs/helpers/dndkit/hierarchy/useHierarchyActionHandlers.js.map +1 -1
- package/cjs/helpers/dndkit/hierarchy/useHierarchyAnnouncements.js.map +1 -1
- package/cjs/helpers/dndkit/hierarchy/useHierarchyDndkitConfig.js +1 -1
- package/cjs/helpers/dndkit/hierarchy/useHierarchyPreviewHandlers.js +1 -1
- package/cjs/helpers/dndkit/tree/customCollisionDetection.js.map +1 -1
- package/cjs/helpers/dndkit/tree/getTreeKeyboardCoordinates.js.map +1 -1
- package/cjs/helpers/dndkit/tree/useTreeActionHandlers.js.map +1 -1
- package/cjs/helpers/dndkit/tree/useTreeAnnouncements.js.map +1 -1
- package/cjs/helpers/dndkit/tree/useTreeDndkitConfig.js.map +1 -1
- package/cjs/helpers/dndkit/tree/useTreePreviewHandlers.js.map +1 -1
- package/cjs/helpers/dndkit/utilities.js.map +1 -1
- package/cjs/helpers/getIdFromUniqueRowAccessor.js.map +1 -1
- package/cjs/helpers/refs-helpers.js.map +1 -1
- package/cjs/helpers/sizeToCss.js.map +1 -1
- package/cjs/hooks/useRecoverFocusCol.js.map +1 -1
- package/cjs/hooks/useRecoverFocusRow.js.map +1 -1
- package/cjs/index.js +1 -1
- package/cjs/parts/Cells/Cell.js +1 -1
- package/cjs/parts/Cells/index.js +1 -1
- package/cjs/parts/Cells/useCellStyle.js.map +1 -1
- package/cjs/parts/DnDHandle.js +1 -1
- package/cjs/parts/DropIndicator.js.map +1 -1
- package/cjs/parts/EmptyContent.js.map +1 -1
- package/cjs/parts/FilterBar/FiltersBar.js +1 -1
- package/cjs/parts/FilterBar/FiltersBar.js.map +1 -1
- package/cjs/parts/FilterBar/components/DateRangePill.js.map +1 -1
- package/cjs/parts/FilterBar/components/DateSwitcherPill.js.map +1 -1
- package/cjs/parts/FilterBar/components/MultiSelectPill.js.map +1 -1
- package/cjs/parts/FilterBar/components/NumberRangePill.js.map +1 -1
- package/cjs/parts/FilterBar/components/SelectPill.js.map +1 -1
- package/cjs/parts/FilterBar/components/SingleDatePill.js.map +1 -1
- package/cjs/parts/FilterBar/components/TextPill.js.map +1 -1
- package/cjs/parts/FilterBar/index.js +1 -1
- package/cjs/parts/FilterBar/styled.js.map +1 -1
- package/cjs/parts/Filters/index.js +1 -1
- package/cjs/parts/Footer.js.map +1 -1
- package/cjs/parts/Headers/EmptyChildrenGroup.js.map +1 -1
- package/cjs/parts/Headers/HeaderCell.js +1 -1
- package/cjs/parts/Headers/HeaderCellGroup.js +1 -1
- package/cjs/parts/Headers/HeaderCellTitle.js +1 -1
- package/cjs/parts/Headers/HeaderResizer.js +1 -1
- package/cjs/parts/Headers/RequiredDot.js.map +1 -1
- package/cjs/parts/Headers/index.js +1 -1
- package/cjs/parts/Headers/useHeaderCellConfig.js.map +1 -1
- package/cjs/parts/Headers/useHeaderCellHandlers.js.map +1 -1
- package/cjs/parts/HoC/DragOverlayContext.js.map +1 -1
- package/cjs/parts/HoC/SortableItemContext.js.map +1 -1
- package/cjs/parts/HoC/withConditionalDnDColumnContext.js +1 -1
- package/cjs/parts/HoC/withConditionalDnDRowContext.js.map +1 -1
- package/cjs/parts/HoC/withConditionalDnDSortableContext.js.map +1 -1
- package/cjs/parts/HoC/withDnDSortableColumnContext.js +1 -1
- package/cjs/parts/HoC/withDnDSortableRowContext.js.map +1 -1
- package/cjs/parts/Loader.js.map +1 -1
- package/cjs/parts/Row.js +1 -1
- package/cjs/parts/RowLoading.js +1 -1
- package/cjs/parts/RowVariants/RowVariantHeader.js +1 -1
- package/cjs/parts/RowVariants/RowVariantPrimary.js +1 -1
- package/cjs/parts/RowVariants/RowVariantSecondary.js +1 -1
- package/cjs/parts/RowVariants/index.js +1 -1
- package/cjs/parts/Rows.js +1 -1
- package/cjs/parts/SortByCaret.js.map +1 -1
- package/cjs/parts/SortableHeaderCell.js.map +1 -1
- package/cjs/parts/TableContent.js +1 -1
- package/cjs/parts/VirtualRowsList.js +1 -1
- package/cjs/parts/index.js +1 -1
- package/cjs/prop-types.js.map +1 -1
- package/cjs/redux/reducers/headersReducers/headersReducers.js.map +1 -1
- package/cjs/redux/reducers/headersReducers/logic.js.map +1 -1
- package/cjs/redux/reducers/headersReducers/useDispatchHeadersActions.js.map +1 -1
- package/cjs/redux/reducers/index.js.map +1 -1
- package/cjs/redux/reducers/rowsReducers/defaults.js.map +1 -1
- package/cjs/redux/reducers/rowsReducers/logic.js.map +1 -1
- package/cjs/redux/reducers/rowsReducers/rowsReducer.js.map +1 -1
- package/cjs/redux/reducers/rowsReducers/useDispatchRowsActions.js.map +1 -1
- package/cjs/redux/storeConfig.js.map +1 -1
- package/cjs/{styled-e491a9f8.js → styled-e3e486f0.js} +20 -11
- package/cjs/styled-e3e486f0.js.map +1 -0
- package/cjs/styled.js +1 -1
- package/cjs/tests/utils/index.js.map +1 -1
- package/esm/DataTable.js +1 -1
- package/esm/DataTable.js.map +1 -1
- package/esm/DataTableContext.js.map +1 -1
- package/esm/DataTableSchema.js.map +1 -1
- package/esm/addons/Columns/ColumnAction/ColumnAction.js.map +1 -1
- package/esm/addons/Columns/ColumnDragHandle/ColumnDragHandle.js +1 -1
- package/esm/addons/Columns/ColumnExpand/ColumnExpand.js +1 -1
- package/esm/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.js +1 -1
- package/esm/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.js +1 -1
- package/esm/addons/Columns/index.js +1 -1
- package/esm/addons/Editables/ComboboxEditableCell/ComboboxEditableCell.js +1 -1
- package/esm/addons/Editables/DateEditableCell/DateEditableCell.js +1 -1
- package/esm/addons/Editables/DateEditableCell/DateEditableCell.js.map +1 -1
- package/esm/addons/Editables/TextEditableCell/TextEditableCell.js +1 -1
- package/esm/addons/Editables/index.js +1 -1
- package/esm/addons/Filters/Components/CurrencyRangeFilter/index.js +1 -1
- package/esm/addons/Filters/Components/DateRangeFilter/index.js +1 -1
- package/esm/addons/Filters/Components/DateSwitcherFilter/index.js +1 -1
- package/esm/addons/Filters/Components/NumberRangeFilter/index.js +1 -1
- package/esm/addons/Filters/Components/SelectFilter/BaseSelectFilter.js +1 -1
- package/esm/addons/Filters/Components/SelectFilter/MultiSelectFilter.js +1 -1
- package/esm/addons/Filters/Components/SelectFilter/SingleSelectFilter.js +1 -1
- package/esm/addons/Filters/Components/SelectFilter/components.js.map +1 -1
- package/esm/addons/Filters/Components/SelectFilter/useSelectFilterHandlers.js +1 -1
- package/esm/addons/Filters/Components/SelectFilter/useSelectFilterHandlers.js.map +1 -1
- package/esm/addons/Filters/Components/SelectFilter/utils.js +1 -1
- package/esm/addons/Filters/Components/SelectFilter/utils.js.map +1 -1
- package/esm/addons/Filters/Components/SingleDateFilter/index.js +1 -1
- package/esm/addons/Filters/Components/TextInputFilter/index.js +1 -1
- package/esm/addons/Filters/Components/index.js +1 -1
- package/esm/addons/Filters/index.js +1 -1
- package/esm/addons/Pagination/Pagination.js.map +1 -1
- package/esm/configs/constants.js.map +1 -1
- package/esm/configs/fixedSizes.js.map +1 -1
- package/esm/configs/index.js +1 -1
- package/esm/configs/useDatatableConfig.js +1 -1
- package/esm/configs/useDatatableConfig.js.map +1 -1
- package/esm/configs/usePaginationConfig.js.map +1 -1
- package/esm/configs/useRowFlattenization.js.map +1 -1
- package/esm/configs/useTableColsWithAddons.js +1 -1
- package/esm/configs/useTableColsWithAddons.js.map +1 -1
- package/esm/configs/zIndexInternalConfig.js.map +1 -1
- package/esm/exported-related/EditableCell.js +1 -1
- package/esm/exported-related/FilterPopover.js +1 -1
- package/esm/exported-related/FilterTypes.js.map +1 -1
- package/esm/exported-related/Filters/applyOutOfTheBoxFilters.js +1 -1
- package/esm/exported-related/Filters/currencyRangeFilterFn.js.map +1 -1
- package/esm/exported-related/Filters/dateRangeFilterFn.js +1 -1
- package/esm/exported-related/Filters/dateSwitcherFilterFn.js +1 -1
- package/esm/exported-related/Filters/index.js +1 -1
- package/esm/exported-related/Filters/multiSelectFilterFn.js.map +1 -1
- package/esm/exported-related/Filters/numberRangeFilterFn.js.map +1 -1
- package/esm/exported-related/Filters/singleDateFilterFn.js +1 -1
- package/esm/exported-related/Filters/singleSelectFilterFn.js.map +1 -1
- package/esm/exported-related/Filters/textFilterFn.js.map +1 -1
- package/esm/exported-related/RowRenderer/DefaultRowContentRenderer.js +1 -1
- package/esm/exported-related/RowRenderer/index.js +1 -1
- package/esm/exported-related/RowRenderer/useRowRendererHandlers.js +1 -1
- package/esm/exported-related/RowRenderer/useRowRendererProperties.js.map +1 -1
- package/esm/exported-related/RowRenderer/useRowStyle.js.map +1 -1
- package/esm/exported-related/RowVariants.js.map +1 -1
- package/esm/exported-related/Toolbar/Toolbar.js +1 -1
- package/esm/exported-related/Toolbar/Toolbar.js.map +1 -1
- package/esm/exported-related/Toolbar/index.js +1 -1
- package/esm/exported-related/groupBy.js.map +1 -1
- package/esm/exported-related/index.js +1 -1
- package/esm/helpers/addCellData.js.map +1 -1
- package/esm/helpers/cellPadding.js.map +1 -1
- package/esm/helpers/columnsToGrid.js.map +1 -1
- package/esm/helpers/dndkit/hierarchy/customCollisionDetection.js +1 -1
- package/esm/helpers/dndkit/hierarchy/getHierarchyKeyboardCoordinates.js +1 -1
- package/esm/helpers/dndkit/hierarchy/useHierarchyActionHandlers.js.map +1 -1
- package/esm/helpers/dndkit/hierarchy/useHierarchyAnnouncements.js.map +1 -1
- package/esm/helpers/dndkit/hierarchy/useHierarchyDndkitConfig.js +1 -1
- package/esm/helpers/dndkit/hierarchy/useHierarchyPreviewHandlers.js +1 -1
- package/esm/helpers/dndkit/tree/customCollisionDetection.js.map +1 -1
- package/esm/helpers/dndkit/tree/getTreeKeyboardCoordinates.js.map +1 -1
- package/esm/helpers/dndkit/tree/useTreeActionHandlers.js.map +1 -1
- package/esm/helpers/dndkit/tree/useTreeAnnouncements.js.map +1 -1
- package/esm/helpers/dndkit/tree/useTreeDndkitConfig.js.map +1 -1
- package/esm/helpers/dndkit/tree/useTreePreviewHandlers.js.map +1 -1
- package/esm/helpers/dndkit/utilities.js.map +1 -1
- package/esm/helpers/getIdFromUniqueRowAccessor.js.map +1 -1
- package/esm/helpers/refs-helpers.js.map +1 -1
- package/esm/helpers/sizeToCss.js.map +1 -1
- package/esm/hooks/useRecoverFocusCol.js.map +1 -1
- package/esm/hooks/useRecoverFocusRow.js.map +1 -1
- package/esm/index.js +1 -1
- package/esm/parts/Cells/Cell.js +1 -1
- package/esm/parts/Cells/index.js +1 -1
- package/esm/parts/Cells/useCellStyle.js.map +1 -1
- package/esm/parts/DnDHandle.js +1 -1
- package/esm/parts/DropIndicator.js.map +1 -1
- package/esm/parts/EmptyContent.js.map +1 -1
- package/esm/parts/FilterBar/FiltersBar.js +1 -1
- package/esm/parts/FilterBar/FiltersBar.js.map +1 -1
- package/esm/parts/FilterBar/components/DateRangePill.js.map +1 -1
- package/esm/parts/FilterBar/components/DateSwitcherPill.js.map +1 -1
- package/esm/parts/FilterBar/components/MultiSelectPill.js.map +1 -1
- package/esm/parts/FilterBar/components/NumberRangePill.js.map +1 -1
- package/esm/parts/FilterBar/components/SelectPill.js.map +1 -1
- package/esm/parts/FilterBar/components/SingleDatePill.js.map +1 -1
- package/esm/parts/FilterBar/components/TextPill.js.map +1 -1
- package/esm/parts/FilterBar/index.js +1 -1
- package/esm/parts/FilterBar/styled.js.map +1 -1
- package/esm/parts/Filters/index.js +1 -1
- package/esm/parts/Footer.js.map +1 -1
- package/esm/parts/Headers/EmptyChildrenGroup.js.map +1 -1
- package/esm/parts/Headers/HeaderCell.js +1 -1
- package/esm/parts/Headers/HeaderCellGroup.js +1 -1
- package/esm/parts/Headers/HeaderCellTitle.js +1 -1
- package/esm/parts/Headers/HeaderResizer.js +1 -1
- package/esm/parts/Headers/RequiredDot.js.map +1 -1
- package/esm/parts/Headers/index.js +1 -1
- package/esm/parts/Headers/useHeaderCellConfig.js.map +1 -1
- package/esm/parts/Headers/useHeaderCellHandlers.js.map +1 -1
- package/esm/parts/HoC/DragOverlayContext.js.map +1 -1
- package/esm/parts/HoC/SortableItemContext.js.map +1 -1
- package/esm/parts/HoC/withConditionalDnDColumnContext.js +1 -1
- package/esm/parts/HoC/withConditionalDnDRowContext.js.map +1 -1
- package/esm/parts/HoC/withConditionalDnDSortableContext.js.map +1 -1
- package/esm/parts/HoC/withDnDSortableColumnContext.js +1 -1
- package/esm/parts/HoC/withDnDSortableRowContext.js.map +1 -1
- package/esm/parts/Loader.js.map +1 -1
- package/esm/parts/Row.js +1 -1
- package/esm/parts/RowLoading.js +1 -1
- package/esm/parts/RowVariants/RowVariantHeader.js +1 -1
- package/esm/parts/RowVariants/RowVariantPrimary.js +1 -1
- package/esm/parts/RowVariants/RowVariantSecondary.js +1 -1
- package/esm/parts/RowVariants/index.js +1 -1
- package/esm/parts/Rows.js +1 -1
- package/esm/parts/SortByCaret.js.map +1 -1
- package/esm/parts/SortableHeaderCell.js.map +1 -1
- package/esm/parts/TableContent.js +1 -1
- package/esm/parts/VirtualRowsList.js +1 -1
- package/esm/parts/index.js +1 -1
- package/esm/prop-types.js.map +1 -1
- package/esm/redux/reducers/headersReducers/headersReducers.js.map +1 -1
- package/esm/redux/reducers/headersReducers/logic.js.map +1 -1
- package/esm/redux/reducers/headersReducers/useDispatchHeadersActions.js.map +1 -1
- package/esm/redux/reducers/index.js.map +1 -1
- package/esm/redux/reducers/rowsReducers/defaults.js.map +1 -1
- package/esm/redux/reducers/rowsReducers/logic.js.map +1 -1
- package/esm/redux/reducers/rowsReducers/rowsReducer.js.map +1 -1
- package/esm/redux/reducers/rowsReducers/useDispatchRowsActions.js.map +1 -1
- package/esm/redux/storeConfig.js.map +1 -1
- package/esm/{styled-c7170492.js → styled-0109d46a.js} +20 -11
- package/esm/styled-0109d46a.js.map +1 -0
- package/esm/styled.js +1 -1
- package/esm/tests/utils/index.js.map +1 -1
- package/package.json +15 -15
- package/cjs/styled-e491a9f8.js.map +0 -1
- package/esm/styled-c7170492.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styled-e3e486f0.js","sources":["../../src/addons/Columns/ColumnExpand/ColumnExpand.tsx","../../src/addons/Columns/ColumnSelectMultiple/ColumnSelectMultiple.tsx","../../src/addons/Columns/ColumnSelectSingle/ColumnSelectSingle.tsx","../../src/parts/RowLoading.tsx","../../src/exported-related/FilterPopover.tsx","../../src/exported-related/EditableCell.tsx","../../src/exported-related/Filters/singleDateFilterFn.tsx","../../src/exported-related/Filters/dateRangeFilterFn.tsx","../../src/exported-related/Filters/dateSwitcherFilterFn.tsx","../../src/exported-related/Filters/applyOutOfTheBoxFilters.tsx","../../src/addons/Editables/TextEditableCell/TextEditableCell.tsx","../../src/addons/Editables/ComboboxEditableCell/ComboboxEditableCell.tsx","../../src/addons/Editables/index.tsx","../../src/parts/Cells/Cell.tsx","../../src/parts/Cells/index.tsx","../../src/exported-related/RowRenderer/DefaultRowContentRenderer.tsx","../../src/exported-related/RowRenderer/useRowRendererHandlers.tsx","../../src/exported-related/RowRenderer/index.tsx","../../src/parts/RowVariants/RowVariantHeader.tsx","../../src/parts/RowVariants/RowVariantPrimary.tsx","../../src/parts/RowVariants/RowVariantSecondary.tsx","../../src/parts/RowVariants/index.tsx","../../src/parts/Row.tsx","../../src/parts/Rows.tsx","../../src/helpers/dndkit/hierarchy/useHierarchyPreviewHandlers.tsx","../../src/helpers/dndkit/hierarchy/getHierarchyKeyboardCoordinates.tsx","../../src/helpers/dndkit/hierarchy/customCollisionDetection.tsx","../../src/helpers/dndkit/hierarchy/useHierarchyDndkitConfig.tsx","../../src/parts/HoC/withConditionalDnDColumnContext.tsx","../../src/addons/Filters/Components/DateRangeFilter/index.tsx","../../src/addons/Filters/Components/DateSwitcherFilter/index.tsx","../../src/addons/Filters/Components/NumberRangeFilter/index.tsx","../../src/addons/Filters/Components/CurrencyRangeFilter/index.tsx","../../src/addons/Filters/Components/SelectFilter/BaseSelectFilter.tsx","../../src/addons/Filters/Components/SelectFilter/SingleSelectFilter.tsx","../../src/addons/Filters/Components/SelectFilter/MultiSelectFilter.tsx","../../src/addons/Filters/Components/SingleDateFilter/index.tsx","../../src/addons/Filters/Components/TextInputFilter/index.tsx","../../src/parts/Filters/index.tsx","../../src/parts/Headers/HeaderResizer.tsx","../../src/parts/Headers/HeaderCellTitle.tsx","../../src/parts/Headers/HeaderCell.tsx","../../src/parts/HoC/withDnDSortableColumnContext.tsx","../../src/parts/Headers/HeaderCellGroup.tsx","../../src/parts/Headers/index.tsx","../../src/parts/VirtualRowsList.tsx","../../src/parts/TableContent.tsx","../../src/parts/DnDHandle.tsx","../../src/addons/Columns/ColumnDragHandle/ColumnDragHandle.tsx","../../src/addons/Columns/index.tsx","../../src/styled.tsx"],"sourcesContent":["/* eslint-disable react/prop-types */\n/* eslint-disable max-lines */\nimport React, { useMemo, useCallback } from 'react';\nimport { ArrowheadDown, ArrowheadRight, ArrowShortReturn } from '@elliemae/ds-icons';\nimport * as CSS from 'csstype';\nimport styled from 'styled-components';\nimport { TypescriptColumn } from '../../../types/props';\nimport { StyledFocusWithin } from '../../../styled';\nimport { DATA_TESTID } from '../../../configs';\n\nconst StyledSpan = styled.span`\n cursor: pointer;\n box-sizing: border-box;\n outline: none;\n display: flex;\n justify-content: center;\n align-items: center;\n`;\n\nexport const expandRowColumn: TypescriptColumn = {\n // Build our expander column\n id: 'expander', // Make sure it has an ID\n accessor: 'expandRowColumn',\n Header: ({ ctx }) => {\n const {\n tableProps: { expandedRows, onRowExpand },\n allDataFlattened,\n } = ctx;\n\n const allExpandable = useMemo(() => {\n const expandable = {};\n allDataFlattened.forEach((row) => {\n if (row.original.subRows || row.original.tableRowDetails || row.original.dimsumHeaderValue)\n expandable[row.uid] = true;\n });\n return expandable;\n }, [allDataFlattened]);\n\n const isAllRowsExpanded = useMemo(\n () => Object.keys(allExpandable).length === Object.keys(expandedRows).length,\n [allExpandable, expandedRows],\n );\n\n const onExpandedAllHandler = useCallback(() => {\n if (isAllRowsExpanded) onRowExpand({}, 'All');\n else onRowExpand({ ...allExpandable }, 'All');\n }, [allExpandable, isAllRowsExpanded, onRowExpand]);\n\n const GlobalExpandIcon = useMemo(() => {\n if (isAllRowsExpanded)\n return (\n <ArrowheadDown\n size=\"s\"\n color={['brand-primary', '600']}\n data-testid={DATA_TESTID.DATA_TABLE_ICON_ARROW_DOWN}\n />\n );\n\n // Mixed\n if (Object.keys(expandedRows).length) {\n return (\n <ArrowheadRight\n size=\"s\"\n color={['brand-primary', '600']}\n data-testid={DATA_TESTID.DATA_TABLE_ICON_ARROW_MIXED}\n style={{ transform: 'rotate(45deg)' }}\n />\n );\n }\n return (\n <ArrowheadRight\n size=\"s\"\n color={['brand-primary', '600']}\n data-testid={DATA_TESTID.DATA_TABLE_ICON_ARROW_RIGHT}\n />\n );\n }, [expandedRows, isAllRowsExpanded]);\n\n return (\n <StyledFocusWithin>\n <StyledSpan\n role=\"button\"\n tabIndex={0}\n title=\"Toggle All Rows Expanded\"\n onClick={onExpandedAllHandler}\n onKeyDown={(e) => {\n if (['Enter', 'Space'].includes(e.code)) {\n onExpandedAllHandler();\n e.preventDefault();\n }\n }}\n data-testid={DATA_TESTID.DATA_TABLE_GLOBAL_EXPAND_CELL}\n aria-expanded={isAllRowsExpanded}\n style={{ width: '24px', height: '24px' }}\n >\n {GlobalExpandIcon}\n </StyledSpan>\n </StyledFocusWithin>\n );\n },\n Cell: ({ cell, row, isRowSelected, ctx, draggableProps }) => {\n const {\n tableProps: { dragAndDropRows, expandedRows, onRowExpand },\n } = ctx;\n\n const uniqueId = row.uid;\n\n const isExpanded = expandedRows[uniqueId];\n\n const shouldPrintCaret =\n (row.original.subRows?.length && row.depth === 0) || // only allows 1 level of expands\n row.original.tableRowDetails ||\n row.original.dimsumHeaderValue;\n\n const onRowExpandHandler = useCallback(\n (e) => {\n e.stopPropagation();\n if (expandedRows[uniqueId]) {\n delete expandedRows[uniqueId];\n } else {\n expandedRows[uniqueId] = true;\n }\n onRowExpand({ ...expandedRows }, uniqueId);\n },\n [expandedRows, uniqueId, onRowExpand],\n );\n\n const isDragging = draggableProps ? draggableProps.isDragging : false;\n const isDragOverlay = dragAndDropRows && !draggableProps;\n\n const indentStyle: CSS.Properties = useMemo(\n () => ({\n marginLeft: `${row.depth * 32}px`,\n marginRight: '18px',\n paddingLeft: '2px',\n paddingRight: '2px',\n position: 'relative',\n height: '100%',\n display: 'flex',\n alignItems: 'center',\n }),\n [row.depth],\n );\n\n const rowProps = useMemo(\n () => ({\n role: 'button',\n key: `${row.uid}-expand-button`,\n title: 'Toggle Row Expanded',\n onClick: onRowExpandHandler,\n onKeyDown: (e) => {\n if (['Enter', 'Space'].includes(e.code)) {\n e.preventDefault();\n onRowExpandHandler(e);\n }\n },\n ref: cell.ref,\n tabIndex: isRowSelected ? 0 : -1,\n 'data-testid': 'data-table-row-expand-cell',\n 'aria-expanded': isExpanded,\n isRightArrow: !isExpanded || isDragging || isDragOverlay,\n }),\n [row.uid, onRowExpandHandler, cell.ref, isRowSelected, isExpanded, isDragging, isDragOverlay],\n );\n\n const PureCaretIcon = useMemo(\n () =>\n isExpanded && !isDragging && !isDragOverlay ? (\n <ArrowheadDown\n data-is-col-expanded={isExpanded}\n data-role=\"row-expander-col\"\n size=\"s\"\n data-testid={DATA_TESTID.DATA_TABLE_ICON_ARROW_DOWN}\n />\n ) : (\n <ArrowheadRight\n data-is-col-expanded={isExpanded}\n data-role=\"row-expander-col\"\n size=\"s\"\n data-testid={DATA_TESTID.DATA_TABLE_ICON_ARROW_RIGHT}\n />\n ),\n [isExpanded, isDragging, isDragOverlay],\n );\n\n const ChildIcon = useMemo(\n () => (\n <ArrowShortReturn\n size=\"s\"\n data-testid={DATA_TESTID.DATA_TABLE_ICON_CHILD}\n style={{ transform: 'rotate(90deg) scaleY(-1)' }}\n color={['brand-primary', '600']}\n />\n ),\n [],\n );\n\n if (shouldPrintCaret)\n return (\n <StyledFocusWithin style={indentStyle}>\n <StyledSpan {...rowProps}>{PureCaretIcon}</StyledSpan>\n </StyledFocusWithin>\n );\n if (row.depth !== 0) return <span style={indentStyle}>{ChildIcon}</span>;\n\n return <div style={{ width: '36px' }} />;\n },\n textWrap: 'wrap',\n canResize: false,\n width: 25,\n padding: 0,\n isFocuseable: false,\n disableDnD: true,\n};\n","import React, { useMemo, useCallback } from 'react';\nimport { DSCheckbox } from '@elliemae/ds-form';\nimport { TypescriptColumn } from '../../../types/props';\nimport { DATA_TESTID } from '../../../configs';\n\nexport const multiSelectColumn: TypescriptColumn = {\n // Build our multiSelecter column\n id: 'multiSelecter', // Make sure it has an ID\n Header: ({ ctx }) => {\n const {\n tableProps: { onSelectionChange, selection, data, disabledRows },\n allDataFlattened,\n } = ctx;\n\n const selectionKeyCount = Object.keys(selection).length;\n\n const currentGlobalState = useMemo(\n () => (selectionKeyCount > 0 && selectionKeyCount < data.length ? 'mixed' : selectionKeyCount > 0),\n [selectionKeyCount, data],\n );\n\n const newGlobalStateAfterToggle = useMemo(() => {\n // false -- toggles into --> true\n // mixed -- toggles into --> true\n // true -- toggles into --> false\n let newState = false;\n if (currentGlobalState === false || currentGlobalState === 'mixed') newState = true;\n return newState;\n }, [currentGlobalState]);\n\n const newSelection = useMemo(() => {\n if (newGlobalStateAfterToggle) {\n const nextSelection = {};\n allDataFlattened.forEach((datum) => {\n nextSelection[datum.uid] = !disabledRows[datum.uid];\n });\n return nextSelection;\n }\n return {};\n }, [newGlobalStateAfterToggle, allDataFlattened, disabledRows]);\n\n const onChangeHandler = useCallback(\n (e) => {\n onSelectionChange(newSelection, 'All', e);\n },\n [newSelection, onSelectionChange],\n );\n\n const PureHeaderCheckbox = useMemo(\n () => (\n <DSCheckbox\n data-testid={DATA_TESTID.DATA_TABLE_GLOBAL_CHECKBOX}\n title=\"Toggle All Rows Selected\"\n checked={currentGlobalState}\n onChange={onChangeHandler}\n tabIndex=\"0\"\n style={{ cursor: 'pointer' }}\n />\n ),\n [currentGlobalState, onChangeHandler],\n );\n return PureHeaderCheckbox;\n },\n Cell: ({ cell, row, isRowSelected, ctx }) => {\n const {\n tableProps: { onSelectionChange, selection, disabledRows },\n } = ctx;\n const { uid } = row;\n const selectedState = selection?.[uid];\n const PureCheckboxCell = useMemo(\n () => (\n <DSCheckbox\n data-testid={DATA_TESTID.DATA_TABLE_CHECKBOX}\n title=\"Toggle Row Selected\"\n aria-checked={selectedState}\n aria-disabled={false}\n checked={selectedState}\n onChange={(e) => {\n const newState = !selectedState;\n const newSelection = { ...selection, [uid]: newState }; // we only want true and mixed values\n if (!newState) delete newSelection[uid]; // if newState is false, remove from the new selection\n onSelectionChange(newSelection, uid, e);\n }}\n disabled={disabledRows[row.uid]}\n innerRef={cell.ref}\n tabIndex={isRowSelected ? 0 : -1}\n style={{ cursor: 'pointer' }}\n />\n ),\n [selectedState, disabledRows, row.uid, cell.ref, isRowSelected, selection, uid, onSelectionChange],\n );\n return PureCheckboxCell;\n },\n textWrap: 'wrap',\n width: 32,\n padding: 7,\n canResize: false,\n isFocuseable: false,\n disableDnD: true,\n};\n","import React, { useMemo } from 'react';\nimport { DSRadio } from '@elliemae/ds-form';\nimport styled from 'styled-components';\nimport { TypescriptColumn } from '../../../types/props';\nimport { DATA_TESTID } from '../../../configs';\n\nconst CenteredContent = styled.div`\n display: flex;\n height: 100%;\n width: 100%;\n justify-content: center;\n align-items: center;\n`;\nconst StyledDSRadio = styled(DSRadio)`\n padding-bottom: 0;\n cursor: pointer;\n`;\n\nexport const singleSelectColumn: TypescriptColumn = {\n // Build our singleSelecter column\n id: 'singleSelecter', // Make sure it has an ID\n // The header doesn't need anything for single selection\n Header: () => <div />,\n Cell: ({ cell, row, isRowSelected, ctx }) => {\n const {\n tableProps: { onSelectionChange, selection, disabledRows },\n } = ctx;\n const { uid } = row;\n const selectedState = selection?.[uid];\n\n const PureCheckBox = useMemo(\n () => (\n <CenteredContent>\n <StyledDSRadio\n // eslint-disable-next-line react/prop-types\n containerProps={{\n 'aria-checked': selectedState,\n 'aria-disabled': false,\n title: 'Toggle Row Selected',\n }}\n checked={selectedState}\n onChange={() => {\n // in single select we only allow one item to be selected\n onSelectionChange(!selectedState ? { [uid]: !selectedState } : {});\n }}\n data-testid={DATA_TESTID.DATA_TABLE_RADIO}\n disabled={disabledRows[row.uid]}\n innerRef={cell.ref}\n value=\"\"\n tabIndex={isRowSelected ? 0 : -1}\n />\n </CenteredContent>\n ),\n [selectedState, disabledRows, row.uid, cell.ref, isRowSelected, onSelectionChange, uid],\n );\n return PureCheckBox;\n },\n textWrap: 'wrap',\n width: 32,\n padding: 4,\n canResize: false,\n isFocuseable: false,\n disableDnD: true,\n};\n","import React, { useMemo } from 'react';\nimport DSIndeterminateProgressIndicator from '@elliemae/ds-indeterminate-progress-indicator';\nimport Grid from '@elliemae/ds-grid';\nimport styled from 'styled-components';\nimport { DATA_TESTID } from '../configs';\n\nconst StyledRowLoadingContainer = styled(Grid)`\n position: absolute;\n bottom: -40px;\n left: 0;\n width: 100%;\n place-items: center;\n background-color: white;\n`;\n\nconst RowLoading: React.ComponentType = () => {\n const PureLoading = useMemo(\n () => (\n <StyledRowLoadingContainer role=\"row\" data-testid={DATA_TESTID.DATA_TABLE_ROW}>\n <DSIndeterminateProgressIndicator processing title=\"Loading\" />\n </StyledRowLoadingContainer>\n ),\n [],\n );\n\n return PureLoading;\n};\nexport default RowLoading;\n","/* eslint-disable react/prop-types */\n/* eslint-disable jsx-a11y/no-static-element-interactions */\nimport React, { MutableRefObject, useRef, useState } from 'react';\nimport DSButton from '@elliemae/ds-button';\nimport { DSPopperJS } from '@elliemae/ds-popperjs';\nimport styled from 'styled-components';\nimport { useDispatchHeadersActions } from '../redux/reducers';\nimport { DATA_TESTID } from '../configs';\nimport { TypescriptColumn } from '../types/props';\n\nconst FilterButton = styled.span<{ hide: boolean }>`\n display: inline-grid;\n ${(props) => (props.hide ? 'opacity: 0; display: none; width: 0;' : '')}\n`;\n\nconst Button = styled(DSButton)`\n position: relative;\n justify-self: flex-end;\n`;\n\ninterface FilterPopoverProps {\n column: TypescriptColumn;\n columnId: string;\n triggerIcon: JSX.Element;\n menuContent: JSX.Element;\n onTriggerClick?: (id: string, e: UIEvent) => void;\n onClickOutsideMenu?: (id: string, e: UIEvent) => void;\n reduxHeader: { hideFilterButton: boolean; hideFilterMenu: boolean; withTabStops: boolean };\n innerRef: MutableRefObject<HTMLDivElement>;\n ariaLabel: string;\n customStyles?: React.CSSProperties;\n}\n\nexport const FilterPopover: React.ComponentType<FilterPopoverProps> = ({\n column,\n columnId,\n triggerIcon,\n menuContent,\n onTriggerClick = () => null,\n onClickOutsideMenu = () => null,\n reduxHeader,\n innerRef,\n ariaLabel,\n customStyles,\n}) => {\n const { hideFilterButton, hideFilterMenu } = reduxHeader || {\n hideFilterButton: true,\n hideFilterMenu: true,\n };\n const popperRef = useRef(null);\n const { patchHeaderFilterButtonAndMenu, patchHeader } = useDispatchHeadersActions();\n const isIconVisible = !hideFilterButton || !hideFilterMenu;\n const isMenuOpen = !hideFilterMenu;\n\n const handleClickOutsideMenu = (e) => {\n onClickOutsideMenu(columnId, e);\n if (isMenuOpen) patchHeaderFilterButtonAndMenu(columnId, true);\n };\n\n const handleTriggerClick = (e) => {\n onTriggerClick(columnId, e);\n patchHeaderFilterButtonAndMenu(columnId, false);\n e.stopPropagation();\n };\n\n const [referenceElement, setReferenceElement] = useState(null);\n\n return (\n <div\n // This is here to prevent propagation, and not trigger the sort functionality\n onClick={(e) => e.stopPropagation()}\n onKeyDown={(e) => {\n e.stopPropagation();\n if (e.code === 'Escape') {\n patchHeader(columnId, { hideFilterMenu: true, hideFilterButton: false });\n referenceElement.focus();\n }\n // Stop propagation for some reason is not enough to prevent scrolling of the datatable\n // so we just prevent default behaviour in this case\n if (['ArrowUp', 'ArrowDown'].includes(e.code)) {\n e.preventDefault();\n }\n }}\n style={{ display: 'flex' }}\n onBlur={(e) => {\n if (e.target !== referenceElement && !popperRef.current.contains(e.relatedTarget)) {\n referenceElement.focus();\n }\n }}\n >\n <FilterButton hide={!isIconVisible} data-testid={DATA_TESTID.DATA_TABLE_FILTER_BUTTON}>\n <Button\n onClick={handleTriggerClick}\n buttonType=\"text\"\n aria-label={ariaLabel}\n aria-hidden=\"true\"\n size=\"s\"\n leftIcon={triggerIcon}\n // implement treeview mergerefs\n innerRef={(_ref) => {\n if (isIconVisible) setReferenceElement(_ref);\n innerRef.current = _ref;\n }}\n tabIndex={reduxHeader?.withTabStops ? 0 : -1}\n />\n </FilterButton>\n <DSPopperJS\n referenceElement={referenceElement}\n showPopover={isMenuOpen}\n closeContextMenu={handleClickOutsideMenu}\n data-testid={DATA_TESTID.DATA_TABLE_FILTER_MENU_CONTENT}\n startPlacementPreference=\"bottom-end\"\n customOffset={[5, 4]}\n withoutArrow\n zIndex={10}\n withoutAnimation\n extraPopperStyles={{\n ...customStyles,\n minWidth: column.ref?.current?.offsetWidth ?? '0px',\n }}\n placementOrderPreference={['bottom-end']}\n >\n <div style={{ backgroundColor: '#fff' }} ref={popperRef}>\n {menuContent}\n </div>\n </DSPopperJS>\n </div>\n );\n};\n","/* eslint-disable react/prop-types */\nimport React, { useState, useCallback, useContext, useLayoutEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { StyledPencilIcon, StyledEditableContainer } from '../styled';\nimport DataTableContext from '../DataTableContext';\n\nexport const EditableCell: React.ComponentType<any> = (props) => {\n const { StandardRender, EditableRenderer, cell, isRowSelected } = props;\n const { virtualListHelpers } = useContext(DataTableContext);\n\n const [isEditing, setIsEditing] = useState(false);\n const [lastIsEditing, setLastIsEditing] = useState(false);\n\n // When an editable cell is switched on-off, we recalculate the height of the rows\n useLayoutEffect(() => {\n if (isEditing !== lastIsEditing) {\n virtualListHelpers.measure();\n setLastIsEditing(isEditing);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isEditing]);\n\n const handleCellClick = useCallback(\n (e) => {\n if (!isEditing) {\n e.stopPropagation();\n setIsEditing(true);\n }\n },\n [isEditing],\n );\n\n const handleOnKeyDown = useCallback(\n (e) => {\n if (isEditing) e.stopPropagation();\n if (['Enter', 'Space'].includes(e.code)) {\n handleCellClick(e);\n }\n },\n [isEditing, handleCellClick],\n );\n\n const handleOnBlur = useCallback(\n (event) => {\n if (isEditing && !event.currentTarget.contains(event.relatedTarget)) {\n // Not triggered when swapping focus between children\n setIsEditing(false);\n }\n },\n [isEditing],\n );\n\n return (\n <StyledEditableContainer\n cols={!isEditing ? ['auto', 'min-content'] : ['auto']}\n tabIndex={isRowSelected && !isEditing ? 0 : -1}\n ref={cell.ref}\n onClick={handleCellClick}\n onKeyDown={handleOnKeyDown}\n onBlur={handleOnBlur}\n shouldDisplayEditIcon={cell.column.alwaysDisplayEditIcon}\n role=\"cell\"\n aria-describedby={isEditing ? undefined : cell.id}\n >\n {!isEditing ? StandardRender : EditableRenderer}\n {!isEditing && <StyledPencilIcon />}\n <span id={cell.id} style={{ display: 'none' }} aria-hidden=\"true\">\n Editable cell. To edit the content's of this cell, press the Enter key\n </span>\n </StyledEditableContainer>\n );\n};\n\nEditableCell.propTypes = {\n StandardRender: PropTypes.oneOfType([PropTypes.func, PropTypes.object]).isRequired,\n EditableRenderer: PropTypes.oneOfType([PropTypes.func, PropTypes.object]).isRequired,\n cell: PropTypes.object.isRequired,\n};\n","import moment from 'moment';\nimport { momentFormat } from '../../configs';\n// configs imports this file, we can't import from /configs/index.js directly\n// use file instead of index to avoid circular imports!\nimport { FilterFn } from './types';\n\nexport const singleDateFilterFn: FilterFn<string> = (unfilteredData, filterKey, filterValue) =>\n unfilteredData.filter((datum) => moment(filterValue, momentFormat).isSame(datum[filterKey], 'day'));\n","import moment from 'moment';\nimport { momentFormat } from '../../configs';\n// configs imports this file, we can't import from /configs/index.js directly\n// use file instead of index to avoid circular imports!\nimport { FilterFn } from './types';\n\nexport const dateRangeFilterFn: FilterFn<{\n startDate: string;\n endDate: string;\n}> = (unfilteredData, filterKey, filterValue) =>\n unfilteredData.filter(\n (datum) =>\n !(filterValue?.startDate && filterValue?.endDate) ||\n (moment(filterValue?.startDate, momentFormat).isSameOrBefore(datum[filterKey], 'day') &&\n moment(filterValue?.endDate, momentFormat).isSameOrAfter(datum[filterKey], 'day')),\n );\n","import { dateRangeFilterFn } from './dateRangeFilterFn';\nimport { singleDateFilterFn } from './singleDateFilterFn';\n// configs imports this file, we can't import from /configs/index.js directly\n// use file instead of index to avoid circular imports!\nimport { FilterFn } from './types';\n\nexport const dateSwitcherFilterFn: FilterFn<{\n startDate: string;\n endDate: string;\n isDateRange: boolean;\n}> = (unfilteredData, filterKey, filterValue) =>\n filterValue.isDateRange\n ? dateRangeFilterFn(unfilteredData, filterKey, filterValue)\n : singleDateFilterFn(unfilteredData, filterKey, filterValue.startDate);\n","import { singleSelectFilterFn } from './singleSelectFilterFn';\nimport { multiSelectFilterFn } from './multiSelectFilterFn';\nimport { textFilterFn } from './textFilterFn';\nimport { singleDateFilterFn } from './singleDateFilterFn';\nimport { dateRangeFilterFn } from './dateRangeFilterFn';\nimport { dateSwitcherFilterFn } from './dateSwitcherFilterFn';\nimport { numberRangeFilterFn } from './numberRangeFilterFn';\nimport { currencyRangeFilterFn } from './currencyRangeFilterFn';\nimport { FilterFn } from './types';\nimport { FILTER_TYPES } from '../FilterTypes';\nimport { TypescriptAppliedFilter, TypescriptRow } from '../../types/props';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst filterMapper: Record<string, FilterFn<any>> = {\n [FILTER_TYPES.SELECT]: singleSelectFilterFn,\n [FILTER_TYPES.MULTI_SELECT]: multiSelectFilterFn,\n [FILTER_TYPES.TEXT]: textFilterFn,\n [FILTER_TYPES.SINGLE_DATE]: singleDateFilterFn,\n [FILTER_TYPES.DATE_RANGE]: dateRangeFilterFn,\n [FILTER_TYPES.DATE_SWITCHER]: dateSwitcherFilterFn,\n [FILTER_TYPES.NUMBER_RANGE]: numberRangeFilterFn,\n [FILTER_TYPES.CURRENCY_RANGE]: currencyRangeFilterFn,\n};\n\nexport const applyOutOfTheBoxFilters = (data: TypescriptRow[], filters: TypescriptAppliedFilter[]): TypescriptRow[] => {\n let filteredData = data;\n\n filters.forEach((filter) => {\n if (filter.type in filterMapper) {\n filteredData = filterMapper[filter.type](filteredData, filter.id, filter.value);\n }\n });\n\n return filteredData;\n};\n","/* eslint-disable jsx-a11y/no-autofocus */\nimport React, { useContext, useState, useCallback } from 'react';\nimport styled from 'styled-components';\nimport { EditableCell } from '../../../exported-related';\nimport DataTableContext from '../../../DataTableContext';\nimport { editableCellPropType } from '../../../prop-types';\n\nconst StyledInput = styled.input`\n outline: none;\n :focus {\n border: 2px solid ${(props) => props.theme.colors.brand[700]};\n }\n max-width: 100%;\n`;\n\nexport const TextEditableCell: React.ComponentType<any> = (props) => {\n const { cell, DefaultCellRender, isRowSelected } = props;\n\n const {\n tableProps: { onCellValueChange },\n } = useContext(DataTableContext);\n\n const [value, setValue] = useState(cell.value);\n\n const handleOnChange = useCallback((e) => {\n const {\n target: { value: tValue },\n } = e;\n setValue(tValue);\n }, []);\n\n const handleOnBlur = useCallback(() => {\n const property = cell.column.id;\n const rowIndex = cell.row.index;\n onCellValueChange({ value, property, rowIndex });\n }, [value, onCellValueChange, cell.column.id, cell.row.index]);\n\n return (\n <EditableCell\n StandardRender={DefaultCellRender}\n EditableRenderer={<StyledInput value={value} onChange={handleOnChange} onBlur={handleOnBlur} autoFocus />}\n cell={cell}\n isRowSelected={isRowSelected}\n />\n );\n};\nTextEditableCell.propTypes = editableCellPropType;\n","/* eslint-disable jsx-a11y/no-autofocus */\nimport React, { useContext, useState, useCallback, useMemo } from 'react';\nimport { ComboBoxFreeSolo } from '@elliemae/ds-form';\nimport { EditableCell } from '../../../exported-related';\nimport DataTableContext from '../../../DataTableContext';\nimport { editableCellPropType } from '../../../prop-types';\n\nexport const ComboboxEditableCell: React.ComponentType<any> = (props) => {\n const { cell, DefaultCellRender, isRowSelected } = props;\n\n const {\n tableProps: { onCellValueChange },\n flattenedData,\n } = useContext(DataTableContext);\n const cellValue = useMemo(() => cell.value, [cell.value]);\n const columnId = useMemo(() => cell.column.id, [cell.column.id]);\n\n const [value, setValue] = useState({ value: cellValue, label: cellValue });\n\n const uniqueOptions = useMemo(() => {\n const uniqueValuesMap = {};\n return flattenedData.reduce((optionsSoFar, currRow) => {\n const currValue = currRow.original[columnId];\n if (!uniqueValuesMap[currValue]) {\n optionsSoFar.push({ value: currValue, label: currValue });\n uniqueValuesMap[currValue] = true;\n }\n return optionsSoFar;\n }, []);\n }, [flattenedData, columnId]);\n\n const handleOnBlur = useCallback(() => {\n const property = columnId;\n onCellValueChange({ value: value?.value, property, rowIndex: cell.row.index });\n }, [columnId, onCellValueChange, value?.value, cell.row.index]);\n\n return (\n <EditableCell\n StandardRender={DefaultCellRender}\n EditableRenderer={\n <ComboBoxFreeSolo value={value} autoFocus onBlur={handleOnBlur} onChange={setValue} options={uniqueOptions} />\n }\n cell={cell}\n isRowSelected={isRowSelected}\n />\n );\n};\nComboboxEditableCell.propTypes = editableCellPropType;\n","import React from 'react';\nimport { TextEditableCell } from './TextEditableCell/TextEditableCell';\nimport { ComboboxEditableCell } from './ComboboxEditableCell/ComboboxEditableCell';\n\nexport const outOfTheBoxEditables: Record<string, { EditableComponent: React.ComponentType<any> }> = {\n 'ds-edit-text': { EditableComponent: TextEditableCell },\n 'ds-edit-combobox': {\n EditableComponent: ComboboxEditableCell,\n },\n};\n","/* eslint-disable max-lines */\n/* eslint-disable react/prop-types */\nimport React, { useContext, useMemo, memo } from 'react';\nimport { SimpleTruncatedTooltipText } from '@elliemae/ds-truncated-tooltip-text';\nimport Grid from '@elliemae/ds-grid';\nimport { StyledCell, StyledCellContent } from '../../styled';\nimport { outOfTheBoxEditables } from '../../addons/Editables';\nimport DataTableContext from '../../DataTableContext';\nimport { TypescriptColumn, TypescriptRow } from '../../types/props';\nimport { SortableItemContext } from '../HoC/SortableItemContext';\nimport { expandRowColumn } from '../../addons/Columns';\nimport { DATA_TESTID } from '../../configs';\nimport { useCellStyle } from './useCellStyle';\n\nconst PureStandardCell = memo<{ cellStyle: unknown; column: TypescriptColumn }>(({ cellStyle, children, column }) => (\n <StyledCell column={column} style={cellStyle} role=\"cell\" data-testid={DATA_TESTID.DATA_TABLE_CELL}>\n {children}\n </StyledCell>\n));\n\ninterface CellProps {\n cell: any;\n column: TypescriptColumn;\n row: TypescriptRow;\n isRowSelected: boolean;\n shouldAddExpandCell: boolean;\n isDragOverlay: boolean;\n}\n\nconst Cell: React.ComponentType<CellProps> = ({\n cell,\n column,\n row,\n isRowSelected,\n shouldAddExpandCell,\n isDragOverlay,\n}) => {\n const ctx = useContext(DataTableContext);\n const {\n tableProps: { cellRendererProps },\n } = ctx;\n const { draggableProps } = useContext(SortableItemContext);\n\n const [appliedTextWrap, cellStyle] = useCellStyle(column, shouldAddExpandCell);\n\n const cellProps = useMemo(\n () => ({\n ...cellRendererProps,\n cell,\n row,\n isRowSelected,\n ctx,\n draggableProps,\n isDragOverlay,\n role: 'cell',\n cellStyle,\n column,\n }),\n [cellRendererProps, cell, row, isRowSelected, ctx, draggableProps, isDragOverlay, cellStyle, column],\n );\n\n const CellComponent = cell.render;\n\n const pureCellContent = useMemo(() => {\n if (shouldAddExpandCell) {\n return (\n <Grid cols={['min-content', 'auto']} alignItems=\"center\" height=\"100%\">\n {shouldAddExpandCell && <expandRowColumn.Cell {...cellProps} />}\n <CellComponent {...cellProps} />\n </Grid>\n );\n }\n return <CellComponent {...cellProps} />;\n }, [CellComponent, cellProps, shouldAddExpandCell]);\n\n const DefaultCellContentJSX = useMemo(\n () => (\n <StyledCellContent>\n {appliedTextWrap === 'truncate' ? <SimpleTruncatedTooltipText value={pureCellContent} /> : pureCellContent}\n </StyledCellContent>\n ),\n [appliedTextWrap, pureCellContent],\n );\n\n const EditableContentJSX = useMemo(() => {\n if (typeof column.editable === 'string') {\n const { EditableComponent } = outOfTheBoxEditables?.[column.editable];\n if (EditableComponent) return <EditableComponent {...cellProps} DefaultCellRender={DefaultCellContentJSX} />;\n }\n if (typeof column.editable === 'function')\n return column.editable({\n DefaultCellRender: DefaultCellContentJSX,\n ...cellProps,\n }) as JSX.Element;\n\n return null;\n }, [DefaultCellContentJSX, cellProps, column]);\n\n return (\n <PureStandardCell {...cellProps}>{column.editable ? EditableContentJSX : DefaultCellContentJSX}</PureStandardCell>\n );\n};\n\nexport default Cell;\n","/* eslint-disable react/prop-types */\nimport React, { useContext } from 'react';\nimport { INTERNAL_COLUMNS } from '../../addons/Columns';\nimport { StyledActionCell } from '../../styled';\nimport { TypescriptRow } from '../../types/props';\nimport Cell from './Cell';\nimport DataTableContext from '../../DataTableContext';\n\nconst Cells: React.ComponentType<{\n row: TypescriptRow;\n isRowSelected: boolean;\n isDragOverlay: boolean;\n}> = (props) => {\n const { row, isRowSelected, isDragOverlay } = props;\n const ctx = useContext(DataTableContext);\n // we won't print sub-rows more nested than the first level\n if (row.depth <= 1) {\n let shouldAddExpandCell = false;\n let userCellsProcessed = 0;\n return (\n <>\n {row.cells.map((cell: any) => {\n const { column } = cell;\n\n const isUserCell = !INTERNAL_COLUMNS.includes(column.id);\n\n let jsx = null;\n\n if (column.id === 'rowActions') {\n const ActionComponent = cell.render;\n jsx = (\n <StyledActionCell role=\"cell\" key={cell.id}>\n <ActionComponent row={row} cell={cell} column={column} isRowSelected={isRowSelected} ctx={ctx} />\n </StyledActionCell>\n );\n } else if (column.id === 'expander') {\n // Next user's cell will have the expand cell\n shouldAddExpandCell = !isDragOverlay; // Don't add it on drag overlay\n } else {\n jsx = (\n <Cell\n cell={cell}\n column={column}\n row={row}\n isRowSelected={isRowSelected}\n shouldAddExpandCell={isUserCell && shouldAddExpandCell}\n isDragOverlay={isDragOverlay}\n key={cell.id}\n />\n );\n }\n\n // Drag overlay only need to print the DnD handle and the first user's cell\n if (isDragOverlay) {\n if (column.id !== 'dragHandleColumn' && (!isUserCell || userCellsProcessed !== 0)) jsx = null;\n }\n\n // Reset expand cell\n if (isUserCell) {\n shouldAddExpandCell = false;\n userCellsProcessed += 1;\n }\n return jsx;\n })}\n </>\n );\n }\n\n return null;\n};\n\nexport default Cells;\n","/* eslint-disable max-lines */\n/* eslint-disable react/prop-types */\nimport React, { useMemo, useLayoutEffect, useRef } from 'react';\nimport { INTERNAL_COLUMNS } from '../../addons/Columns';\nimport { DATA_TESTID } from '../../configs';\nimport Cells from '../../parts/Cells';\nimport { DropIndicatorPosition } from '../../parts/HoC/SortableItemContext';\nimport { RowVariantProps } from '../../parts/RowVariants/types';\nimport { StyledCellContainer } from '../../styled';\nimport { TypescriptRow } from '../../types/props';\n\nconst DetailsWrapper = (props) => (\n // This can be further customized\n // eslint-disable-next-line react/prop-types\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n <div\n data-role=\"detail-view\"\n style={{\n borderTop: '1px solid #EBEDF0',\n borderBottom: '1px solid #EBEDF0',\n }}\n onClick={(e) => e.stopPropagation()}\n onKeyDown={(e) => e.stopPropagation()}\n >\n {props.children}\n </div>\n);\n\nconst ariaLabelMessage = (row: TypescriptRow, selected: boolean) =>\n `Row number ${row.realIndex + 1}${row.parentIndex !== null ? `, child of row number ${row.parentIndex + 1}` : ''}. ${\n selected ? 'Selected. ' : ''\n }To interact with the cells press enter`;\n\nexport const DefaultRowContentRenderer: React.ComponentType<RowVariantProps> = (props) => {\n const {\n row,\n ctx: {\n tableProps: { isExpandable, colsLayoutStyle, selection, noSelectionColumn, expandedRows, disabledRows },\n layoutHelpers: { gridLayout },\n visibleColumns,\n },\n draggableProps,\n isDragOverlay,\n backgroundColor = 'white',\n dropIndicatorPosition,\n focusedRowId,\n selectedRowId,\n compact,\n } = props;\n\n const rowRef = useRef<HTMLDivElement>(null);\n const isDndActive = draggableProps && draggableProps.active;\n const isDragging = draggableProps && draggableProps.isDragging;\n\n useLayoutEffect(() => {\n if (row.uid === focusedRowId) {\n rowRef.current.focus({ preventScroll: true });\n }\n }, [focusedRowId, row.uid]);\n\n const gridTemplateColProps = useMemo(\n () => ({\n cols: isDragOverlay ? ['24px', 'auto'] : gridLayout,\n isExpandable,\n colLayoutStyle: colsLayoutStyle,\n }),\n [isDragOverlay, gridLayout, colsLayoutStyle, isExpandable],\n );\n\n const detailsIndent = useMemo(() => {\n let padding = 0;\n for (let i = 0; i < visibleColumns.length; i += 1) {\n if (INTERNAL_COLUMNS.includes(visibleColumns[i].id)) {\n padding += visibleColumns[i].width;\n } else {\n padding += row.depth * 32 + 15;\n break;\n }\n }\n return padding;\n }, [row.depth, visibleColumns]);\n\n const PureRowContent = useMemo(() => {\n const DetailsView = row.original.tableRowDetails;\n return (\n <>\n <StyledCellContainer\n ref={rowRef}\n key={row.uid}\n tabIndex={0}\n role=\"row\"\n aria-rowindex={row.realIndex + 1}\n aria-label={ariaLabelMessage(row, selection?.[row.uid] === true)}\n aria-level={row.depth + 1}\n aria-selected={selection?.[row.uid] === true}\n aria-expanded={isExpandable ? expandedRows[row.uid] === true : undefined}\n aria-disabled={disabledRows[row.uid]}\n {...gridTemplateColProps}\n backgroundColor={backgroundColor}\n height={compact ? '24px' : 'auto'}\n minHeight={compact ? '24px' : '36px'}\n isDropIndicatorPositionInside={dropIndicatorPosition === DropIndicatorPosition.Inside}\n shouldDisplayHover={!isDndActive && !isDragging && !isDragOverlay}\n isDragOverlay={isDragOverlay}\n isDragging={isDragging}\n selected={noSelectionColumn && selection?.[row.uid] === true}\n disabled={disabledRows[row.uid]}\n data-testid={DATA_TESTID.DATA_TABLE_ROW_CONTENT}\n >\n <Cells row={row} isRowSelected={selectedRowId === row.uid} isDragOverlay={isDragOverlay} key={row.uid} />\n </StyledCellContainer>\n {isExpandable && row.isExpanded && DetailsView && (\n <DetailsWrapper>\n <DetailsView row={row} detailsIndent={detailsIndent} />\n </DetailsWrapper>\n )}\n </>\n );\n }, [\n row,\n selection,\n isExpandable,\n expandedRows,\n disabledRows,\n gridTemplateColProps,\n backgroundColor,\n compact,\n dropIndicatorPosition,\n isDndActive,\n isDragging,\n isDragOverlay,\n noSelectionColumn,\n selectedRowId,\n detailsIndent,\n ]);\n\n return PureRowContent;\n};\n","/* eslint-disable max-statements */\n/* eslint-disable complexity */\nimport React, { useCallback, useContext } from 'react';\nimport { DATA_TESTID } from '../../configs';\nimport DataTableContext from '../../DataTableContext';\nimport { SortableItemContextType } from '../../parts/HoC/SortableItemContext';\nimport { useDispatchRowsActions } from '../../redux/reducers';\nimport { TypescriptRow } from '../../types/props';\n\nexport const useRowRendererHandlers = ({\n row,\n itemIndex,\n items,\n draggableProps,\n isDragOverlay,\n selectedRowId,\n}: {\n row: TypescriptRow;\n itemIndex: number;\n items: TypescriptRow[];\n draggableProps: SortableItemContextType['draggableProps'];\n isDragOverlay: boolean;\n selectedRowId: string;\n}): {\n handleItemClick: React.MouseEventHandler;\n handleKeyDown: React.KeyboardEventHandler;\n handleOnBlur: React.FocusEventHandler;\n handleOnFocus: React.FocusEventHandler;\n} => {\n const {\n tableProps: { onRowClick, onRowFocus },\n virtualListHelpers: { scrollToIndex },\n } = useContext(DataTableContext);\n\n const { setSelectedRowId, setFocusedRowId } = useDispatchRowsActions();\n\n const handleItemClick = useCallback(\n (e, { original, uid } = row) => {\n // setSelectedRowId(null);\n onRowClick(original, e, uid);\n onRowFocus(\n {\n itemIndex,\n scrollToItem: (\n opts: { align: 'auto' | 'start' | 'center' | 'end' } = {\n align: 'start',\n },\n ) => scrollToIndex(itemIndex, opts),\n original,\n },\n e,\n );\n },\n [row, onRowClick, onRowFocus, itemIndex, scrollToIndex],\n );\n\n const isActive = draggableProps && draggableProps.active;\n\n const handleKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n if (isDragOverlay || isActive) {\n e.preventDefault();\n return;\n }\n if (e.code === 'Enter') {\n const { target } = e;\n if (target.dataset.testid === DATA_TESTID.DATA_TABLE_ROW_CONTENT) {\n e.preventDefault();\n if (selectedRowId !== row.uid) {\n setSelectedRowId(row.uid);\n setTimeout(() => {\n const focuseableCell = row.cells.find((cell) => cell.ref.current !== null);\n if (focuseableCell) focuseableCell.ref.current.focus();\n });\n }\n }\n }\n if (e.code === 'Space') {\n const { target } = e;\n if (target.dataset.testid === DATA_TESTID.DATA_TABLE_ROW_CONTENT) {\n e.preventDefault();\n handleItemClick(e, row);\n }\n }\n if (e.code === 'ArrowDown') {\n e.preventDefault();\n if (itemIndex + 1 < items.length) setFocusedRowId(items[itemIndex + 1].uid);\n }\n if (e.code === 'ArrowUp') {\n e.preventDefault();\n if (itemIndex - 1 >= 0) setFocusedRowId(items[itemIndex - 1].uid);\n }\n },\n [isDragOverlay, isActive, selectedRowId, row, setSelectedRowId, handleItemClick, itemIndex, items, setFocusedRowId],\n );\n\n const handleOnBlur = useCallback(\n (e) => {\n if (e.relatedTarget?.getAttribute('data-testid') === 'data-table-row-content') {\n setSelectedRowId(null);\n }\n },\n [setSelectedRowId],\n );\n\n const handleOnFocus: React.FocusEventHandler = useCallback(\n (e) => {\n if (e.target && e.target.getAttribute('data-testid') === DATA_TESTID.DATA_TABLE_ROW_CONTENT) {\n setFocusedRowId(row.uid);\n }\n },\n [row.uid, setFocusedRowId],\n );\n\n return { handleItemClick, handleKeyDown, handleOnBlur, handleOnFocus };\n};\n","/* eslint-disable max-lines */\n/* eslint-disable react/prop-types */\nimport React, { useContext } from 'react';\nimport DataTableContext from '../../DataTableContext';\nimport { RowVariantProps } from '../../parts/RowVariants/types';\nimport { StyledFullsizeGrid } from '../../styled';\nimport { TypescriptRow } from '../../types/props';\nimport { DefaultRowContentRenderer } from './DefaultRowContentRenderer';\nimport { useRowRendererHandlers } from './useRowRendererHandlers';\nimport { useRowRendererProperties } from './useRowRendererProperties';\nimport DropIndicator from '../../parts/DropIndicator';\nimport { SortableItemContext } from '../../parts/HoC/SortableItemContext';\nimport { DATA_TESTID } from '../../configs';\n\ninterface RowRendererProps {\n row: TypescriptRow;\n compact: boolean;\n itemIndex: number;\n isDragOverlay: boolean;\n minHeight: string;\n height: string;\n rowsLayout?: (string | number)[];\n colsLayout?: (string | number)[];\n CustomRowContentRenderer?: React.ComponentType<RowVariantProps>;\n focusedRowId: string;\n selectedRowId: string;\n backgroundColor?: string;\n}\n\n// CSS don't let us modify the spacing between the dots, so one solution is to use SVG\nconst magicDottedBorder = (\n <svg width=\"100%\" height=\"1px\">\n <line\n x1=\"0\"\n y1=\"0\"\n x2=\"100%\"\n y2=\"0\"\n stroke=\"#B0B9C8FF\"\n strokeWidth=\"1.5\"\n strokeDasharray=\"0, 5\"\n strokeDashoffset=\"0\"\n strokeLinecap=\"round\"\n />\n </svg>\n);\n\nconst RowRenderer: React.ComponentType<RowRendererProps> = (props) => {\n const {\n row,\n itemIndex,\n minHeight = '36px',\n height = 'auto',\n rowsLayout = [1],\n CustomRowContentRenderer,\n focusedRowId,\n selectedRowId,\n isDragOverlay,\n } = props;\n\n const ctx = useContext(DataTableContext);\n const { draggableProps } = useContext(SortableItemContext);\n const { flattenedData } = ctx;\n\n // ===========================================================================\n // Properties for the row\n // ===========================================================================\n\n const {\n userDataProperties,\n colsLayoutStyle,\n totalColumnsWidth,\n rowStyle,\n shouldAppendDottedBorder,\n dropIndicatorPosition,\n } = useRowRendererProperties({\n row,\n });\n\n // ===========================================================================\n // Handlers\n // ===========================================================================\n\n const { handleItemClick, handleKeyDown, handleOnBlur, handleOnFocus } = useRowRendererHandlers({\n row,\n itemIndex,\n items: flattenedData,\n draggableProps,\n isDragOverlay,\n selectedRowId,\n });\n\n const rowContentProps: RowVariantProps = {\n ...props,\n ctx,\n focusedRowId,\n selectedRowId,\n draggableProps,\n dropIndicatorPosition,\n };\n\n return (\n <StyledFullsizeGrid\n data-testid={DATA_TESTID.DATA_TABLE_ROW}\n key={row.uid}\n colsLayoutStyle={colsLayoutStyle}\n {...userDataProperties}\n totalColumnsWidth={totalColumnsWidth}\n style={rowStyle}\n onClick={handleItemClick}\n onKeyDown={handleKeyDown}\n onBlur={handleOnBlur}\n onFocus={handleOnFocus}\n data-expandable={Boolean(row.original.tableRowDetails)}\n data-is-row-expanded={row.isExpanded}\n rows={rowsLayout}\n minHeight={minHeight}\n height={height}\n >\n {CustomRowContentRenderer ? (\n <CustomRowContentRenderer {...rowContentProps} />\n ) : (\n <DefaultRowContentRenderer {...rowContentProps} key={row.uid} />\n )}\n {shouldAppendDottedBorder && magicDottedBorder}\n <DropIndicator\n vertical={false}\n dropIndicatorPosition={dropIndicatorPosition}\n isLast={row.index === flattenedData.length - 1 && draggableProps && draggableProps.isDragging}\n />\n </StyledFullsizeGrid>\n );\n};\n\nexport default RowRenderer;\n","/* eslint-disable react/prop-types */\nimport React, { useLayoutEffect, useMemo, useRef } from 'react';\nimport Grid from '@elliemae/ds-grid';\nimport RowRenderer from '../../exported-related/RowRenderer';\nimport { GroupHeaderContainer, GroupHeaderTitle, StyledCellContainer } from '../../styled';\nimport { RowVariantProps } from './types';\nimport { expandRowColumn } from '../../addons/Columns';\nimport { DATA_TESTID } from '../../configs';\n\nconst RowContent: React.ComponentType<RowVariantProps> = (props) => {\n const {\n row,\n ctx,\n ctx: {\n tableProps: { groupedRowsRenderHeader },\n },\n backgroundColor = 'white',\n focusedRowId,\n selectedRowId,\n } = props;\n\n const rowRef = useRef<HTMLDivElement>(null);\n\n const hasExpandCell = useMemo(\n () => row.original.subRows && row.cells.find((cell) => cell.column.accessor === 'expandRowColumn'),\n [row],\n );\n\n const titleContent = useMemo(() => {\n if (typeof groupedRowsRenderHeader === 'function') {\n return groupedRowsRenderHeader(row.original.dimsumHeaderValue, row.original.subRows);\n }\n return row.original.dimsumHeaderValue;\n }, [groupedRowsRenderHeader, row]);\n\n useLayoutEffect(() => {\n if (row.uid === focusedRowId) {\n rowRef.current.focus();\n }\n }, [focusedRowId, row.uid]);\n\n return (\n <StyledCellContainer\n ref={rowRef}\n minHeight=\"0px\"\n tabIndex={0}\n backgroundColor={backgroundColor}\n data-testid={DATA_TESTID.DATA_TABLE_ROW_HEADER_CONTENT}\n >\n <GroupHeaderContainer\n data-testid={DATA_TESTID.DATA_TABLE_ROW_GROUP_HEADER}\n cols={hasExpandCell ? ['min-content', 'auto'] : ['auto']}\n padding={hasExpandCell ? '4px' : '16px'}\n >\n {hasExpandCell ? (\n <expandRowColumn.Cell\n row={row}\n cell={row.cells[0]}\n isRowSelected={selectedRowId === row.uid}\n ctx={ctx}\n draggableProps={{}}\n />\n ) : (\n <Grid width=\"16px\" />\n )}\n <GroupHeaderTitle>{titleContent}</GroupHeaderTitle>\n </GroupHeaderContainer>\n </StyledCellContainer>\n );\n};\n\nexport const RowVariantHeader: React.ComponentType<RowVariantProps> = ({\n row,\n itemIndex,\n isDragOverlay,\n focusedRowId,\n selectedRowId,\n}) => (\n <RowRenderer\n row={row}\n itemIndex={itemIndex}\n isDragOverlay={isDragOverlay}\n minHeight=\"0px\"\n height=\"24px\"\n CustomRowContentRenderer={RowContent}\n focusedRowId={focusedRowId}\n selectedRowId={selectedRowId}\n />\n);\n","/* eslint-disable react/prop-types */\nimport React from 'react';\nimport { RowVariantProps } from './types';\nimport RowRenderer from '../../exported-related/RowRenderer';\n\nexport const RowVariantPrimary: React.ComponentType<RowVariantProps> = ({\n row,\n itemIndex,\n isDragOverlay,\n ctx,\n focusedRowId,\n selectedRowId,\n compact,\n}) => {\n const {\n layoutHelpers: { gridLayout },\n } = ctx;\n\n return (\n <RowRenderer\n row={row}\n itemIndex={itemIndex}\n isDragOverlay={isDragOverlay}\n compact={compact}\n height={compact ? '24px' : 'auto'}\n minHeight={compact ? '24px' : '36px'}\n colsLayout={row.isExpanded ? undefined : gridLayout}\n rowsLayout={row.isExpanded ? ['auto', 'auto'] : [1]}\n focusedRowId={focusedRowId}\n selectedRowId={selectedRowId}\n />\n );\n};\n","/* eslint-disable react/prop-types */\nimport React from 'react';\nimport { RowVariantProps } from './types';\nimport RowRenderer from '../../exported-related/RowRenderer';\n\nexport const RowVariantSecondary: React.ComponentType<RowVariantProps> = ({\n row,\n itemIndex,\n isDragOverlay,\n ctx,\n focusedRowId,\n selectedRowId,\n compact,\n}) => {\n const {\n layoutHelpers: { gridLayout },\n } = ctx;\n\n return (\n <RowRenderer\n row={row}\n itemIndex={itemIndex}\n isDragOverlay={isDragOverlay}\n compact={compact}\n height={compact ? '24px' : 'auto'}\n minHeight={compact ? '24px' : '36px'}\n colsLayout={row.isExpanded ? undefined : gridLayout}\n rowsLayout={row.isExpanded ? ['auto', 'auto'] : [1]}\n backgroundColor=\"#F6F7F9\"\n focusedRowId={focusedRowId}\n selectedRowId={selectedRowId}\n />\n );\n};\n","/* eslint-disable react/prop-types */\nimport React from 'react';\nimport { ROW_VARIANTS } from '../../exported-related';\nimport { TypescriptContext, TypescriptRow } from '../../types/props';\nimport Cells from '../Cells';\nimport { RowVariantHeader } from './RowVariantHeader';\nimport { RowVariantPrimary } from './RowVariantPrimary';\nimport { RowVariantSecondary } from './RowVariantSecondary';\nimport { RowVariantProps } from './types';\n\nconst RowVariantMapper: Record<string, React.ComponentType<RowVariantProps>> = {\n [ROW_VARIANTS.HEADER_GROUP]: RowVariantHeader,\n [ROW_VARIANTS.PRIMARY]: RowVariantPrimary,\n [ROW_VARIANTS.SECONDARY]: RowVariantSecondary,\n [ROW_VARIANTS.COMPACT_PRIMARY]: (props) => <RowVariantPrimary compact {...props} />,\n [ROW_VARIANTS.COMPACT_SECONDARY]: (props) => <RowVariantSecondary compact {...props} />,\n};\n\ninterface RowVariantMapItemProps {\n row: TypescriptRow;\n itemIndex: number;\n isDragOverlay: boolean;\n ctx: TypescriptContext;\n focusedRowId: string;\n selectedRowId: string;\n}\n\nexport const RowVariantMapItem: React.ComponentType<RowVariantMapItemProps> = (props) => {\n const {\n row,\n ctx: {\n tableProps: { getRowVariant },\n },\n } = props;\n\n const variant = getRowVariant(row, Cells);\n\n let Component: React.ComponentType<any>;\n\n if (typeof variant === 'string') {\n if (!(variant in RowVariantMapper)) {\n throw new Error(`${variant} is not an out-of-the-box row variant`);\n }\n Component = RowVariantMapper[variant];\n } else {\n Component = variant;\n }\n\n return <Component {...props} />;\n};\n","import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { connect } from 'react-redux';\nimport DataTableContext from '../DataTableContext';\nimport { setMultipleRefs } from '../helpers';\nimport { SortableItemContext } from './HoC/SortableItemContext';\nimport { withDnDSortableRowContext } from './HoC/withDnDSortableRowContext';\nimport { RowVariantMapItem } from './RowVariants';\n\n// Sortable Items needs to update\n// - the virtual list ref (for react-virtual requirement)\n// - (conditionally) draggableProps.setNodeRef for drag and drop of rows\nconst setItemRefs = (measureRef, draggableRef, ref) => {\n const refsToSet = [measureRef];\n if (draggableRef) refsToSet.push(draggableRef);\n setMultipleRefs(...refsToSet)(ref);\n};\n\nconst Row = (props) => {\n const { row, measureRef, itemWrapperStyle, itemIndex, isDragOverlay, focusedRowId, selectedRowId } = props;\n\n const ctx = useContext(DataTableContext);\n const { draggableProps } = useContext(SortableItemContext);\n const draggableRef = draggableProps && draggableProps.setNodeRef;\n\n return (\n <div style={!isDragOverlay ? itemWrapperStyle : {}} ref={(ref) => setItemRefs(measureRef, draggableRef, ref)}>\n <RowVariantMapItem\n row={row}\n itemIndex={itemIndex}\n isDragOverlay={isDragOverlay}\n ctx={ctx}\n focusedRowId={focusedRowId}\n selectedRowId={selectedRowId}\n />\n </div>\n );\n};\n\nRow.propTypes = {\n row: PropTypes.object.isRequired,\n itemIndex: PropTypes.number.isRequired,\n measureRef: PropTypes.func.isRequired,\n itemWrapperStyle: PropTypes.object,\n isDragOverlay: PropTypes.bool,\n focusedRowId: PropTypes.string,\n selectedRowId: PropTypes.string,\n};\nRow.defaultProps = {\n itemWrapperStyle: {},\n};\n\nconst mapStateToProps = (state) => ({\n focusedRowId: state.rows.focusedRowId,\n selectedRowId: state.rows.selectedRowId,\n});\n\nexport default withDnDSortableRowContext(connect(mapStateToProps)(Row));\n","/* eslint-disable no-underscore-dangle */\nimport React, { useContext, useMemo } from 'react';\n\nimport Row from './Row';\nimport DataTableContext from '../DataTableContext';\nimport { DnDTreeContext, withConditionalDnDRowContext } from './HoC/withConditionalDnDRowContext';\nimport { addCellData } from '../helpers';\n\nconst Rows = (): JSX.Element => {\n const {\n virtualListHelpers: { virtualItems },\n layoutHelpers: { totalColumnsWidth },\n flattenedData,\n visibleColumns,\n } = useContext(DataTableContext);\n\n const { visibleItems } = useContext(DnDTreeContext);\n\n const items = visibleItems || flattenedData;\n\n const PureVirtualizedRows = useMemo(\n () => (\n <>\n {virtualItems.map((virtualItem) => {\n const { index, measureRef, start } = virtualItem;\n const row = items[index];\n if (!row) return null;\n addCellData(row, visibleColumns);\n const style = {\n position: 'absolute',\n top: `${start}px`,\n left: 0,\n width: totalColumnsWidth,\n };\n const rowProps = {\n key: `ds-table-row-${row.uid}`,\n row,\n measureRef,\n index, // this is consumed by the DnD HOC\n itemIndex: index,\n itemWrapperStyle: style,\n };\n return <Row {...rowProps} />;\n })}\n </>\n ),\n [virtualItems, items, visibleColumns, totalColumnsWidth],\n );\n\n return PureVirtualizedRows;\n};\n\nRows.propTypes = {};\n\nexport default withConditionalDnDRowContext(Rows);\n","import { useCallback } from 'react';\nimport { DragStartEvent, DragOverEvent } from '@dnd-kit/core';\nimport type { useHierarchyPreviewHandlersReturn, useHierarchyPreviewHandlersArgs } from './types';\nimport { DATA_TESTID } from '../../../configs';\n\nexport const useHierarchyPreviewHandlers = ({\n setOverId,\n setActiveId,\n}: useHierarchyPreviewHandlersArgs): useHierarchyPreviewHandlersReturn => {\n const resetState = useCallback(() => {\n setOverId(null);\n setActiveId(null);\n\n document.body.style.setProperty('cursor', '');\n const el: HTMLElement = document.querySelector(`[data-testid=\"${DATA_TESTID.DATA_TABLE_SCROLLABLE_CONTAINER}\"]`);\n el.onscroll = () => null;\n }, [setOverId, setActiveId]);\n\n const handlePreviewDragStart = useCallback(\n ({ active: { id } }: DragStartEvent) => {\n setActiveId(id);\n setOverId(id);\n document.body.style.setProperty('cursor', 'grabbing');\n const el: HTMLElement = document.querySelector(`[data-testid=\"${DATA_TESTID.DATA_TABLE_SCROLLABLE_CONTAINER}\"]`);\n const y = el.scrollTop;\n el.onscroll = () => el.scrollTo(0, y);\n },\n [setActiveId, setOverId],\n );\n\n const handlePreviewDragMove = useCallback(() => null, []);\n\n const handlePreviewDragOver = useCallback(\n ({ over }: DragOverEvent) => {\n setOverId(over?.id ?? null);\n },\n [setOverId],\n );\n\n const handlePreviewDragEnd = useCallback(() => {\n resetState();\n }, [resetState]);\n\n const handlePreviewDragCancel = useCallback(() => {\n resetState();\n }, [resetState]);\n\n return {\n handlePreviewDragStart,\n handlePreviewDragMove,\n handlePreviewDragOver,\n handlePreviewDragEnd,\n handlePreviewDragCancel,\n };\n};\n","import { closestCorners, getViewRect, KeyboardCode, RectEntry, KeyboardCoordinateGetter } from '@dnd-kit/core';\nimport { Coordinates } from '@dnd-kit/core/dist/types';\nimport { DATA_TESTID } from '../../../configs';\n\nimport { getKeyboardCoordinatesArgs, SensorContext } from './types';\n\nconst directions: string[] = [KeyboardCode.Down, KeyboardCode.Right, KeyboardCode.Up, KeyboardCode.Left];\n\nconst vertical: string[] = [KeyboardCode.Up, KeyboardCode.Down];\n\nconst getHorizontalKeyboardCoordinates = ({\n items,\n active,\n over,\n event,\n currentCoordinates,\n droppableContainers,\n translatedRect,\n}: getKeyboardCoordinatesArgs): Coordinates => {\n if (vertical.includes(event.code)) return undefined;\n\n const activeItem = items.find((item) => item.id === active);\n\n const overRect = over.rect;\n\n const layoutRects: RectEntry[] = [];\n\n // Get the reacheable rects depending on the arrow key pressed\n Object.entries(droppableContainers).forEach(([id, container]) => {\n if (container?.disabled || !overRect) {\n return;\n }\n const node = container?.node.current;\n if (!node) {\n return;\n }\n const itemParent = items.find((item) => item.id === id).parentId;\n if (itemParent !== activeItem.parentId) return;\n const rect = getViewRect(node);\n if (event.code === KeyboardCode.Left && translatedRect.left > rect.right - 10) {\n layoutRects.push([id, rect]);\n } else if (event.code === KeyboardCode.Right && translatedRect.left < rect.left) {\n layoutRects.push([id, rect]);\n }\n });\n\n const dragOverlayRect = document\n .querySelector(`[data-testid=\"${DATA_TESTID.DATA_TABLE_COLUMN_DRAG_OVERLAY}\"]`)\n ?.getBoundingClientRect() ?? { width: 150, left: 0 };\n\n const closestId = closestCorners(layoutRects, translatedRect);\n\n if (!closestId) return undefined;\n\n const closestRect = getViewRect(droppableContainers[closestId].node.current);\n const activeRect = getViewRect(droppableContainers[active].node.current);\n return {\n ...currentCoordinates,\n x:\n closestRect.left +\n (closestRect.width - dragOverlayRect.width) / 2 +\n (closestRect.offsetLeft < activeRect.left ? -1 : 1),\n };\n\n return undefined;\n};\n\nexport const getHierarchyKeyboardCoordinates: (\n context: SensorContext,\n isHorizontalDnD: boolean,\n) => KeyboardCoordinateGetter =\n (context, isHorizontalDnD) =>\n (event, { active, currentCoordinates, context: { over, translatedRect, droppableContainers } }) => {\n if (directions.includes(event.code)) {\n event.preventDefault();\n if (!translatedRect) {\n return undefined;\n }\n\n const {\n current: { items },\n } = context;\n\n const args = {\n items,\n active,\n over,\n event,\n currentCoordinates,\n droppableContainers,\n translatedRect,\n };\n\n if (isHorizontalDnD) return getHorizontalKeyboardCoordinates(args);\n return undefined;\n }\n return undefined;\n };\n","/* eslint-disable @typescript-eslint/indent */\nimport { closestCorners, CollisionDetection } from '@dnd-kit/core';\nimport { DATA_TESTID } from '../../../configs';\nimport { Item } from './types';\n\nexport const customCollisionDetection =\n (activeId: string, activeParent: string, dndItems: Item[]): CollisionDetection =>\n (entries, target) => {\n const entriesWithSameParent = entries.filter(\n ([id]) => dndItems.find((item) => item.id === id)?.parentId === activeParent,\n );\n\n const dragOverlayRect = document\n .querySelector(`[data-testid=\"${DATA_TESTID.DATA_TABLE_COLUMN_DRAG_OVERLAY}\"]`)\n ?.getBoundingClientRect() ?? { width: 150 };\n\n const originalRect = entriesWithSameParent.find(([id]) => id === activeId);\n\n if (\n originalRect[1].offsetLeft <= target.offsetLeft &&\n target.offsetLeft <= originalRect[1].offsetLeft + originalRect[1].width\n ) {\n return originalRect[0];\n }\n\n const isLeft = target.offsetLeft <= originalRect[1].offsetLeft + dragOverlayRect.width / 2 + 5;\n let match = null;\n // If going to the left, search the closest offset left\n // Otherwise, get the closest offset right\n const collisionPoint = target.offsetLeft + dragOverlayRect.width / 2;\n entriesWithSameParent.forEach((entry) => {\n const [, rect] = entry;\n const offsetRight = rect.offsetLeft + rect.width;\n\n if (!match) match = entry;\n else if (isLeft && Math.abs(collisionPoint - rect.offsetLeft) <= Math.abs(collisionPoint - match[1].offsetLeft)) {\n match = entry;\n } else if (\n !isLeft &&\n Math.abs(collisionPoint - offsetRight) <= Math.abs(collisionPoint - match[1].offsetLeft - match[1].width)\n ) {\n match = entry;\n }\n });\n return match === null ? null : match[0];\n };\n","/* eslint-disable max-lines */\nimport { useState, useEffect, useMemo, useRef } from 'react';\nimport {\n useSensor,\n useSensors,\n KeyboardSensor,\n PointerSensor,\n LayoutMeasuring,\n LayoutMeasuringStrategy,\n} from '@dnd-kit/core';\nimport { useHierarchyActionHandlers } from './useHierarchyActionHandlers';\nimport { useHierarchyPreviewHandlers } from './useHierarchyPreviewHandlers';\nimport type { useHierarchyDndkitConfigType, SensorContext, Item } from './types';\nimport { getHierarchyKeyboardCoordinates } from './getHierarchyKeyboardCoordinates';\nimport { customCollisionDetection } from './customCollisionDetection';\nimport { useHierarchyAnnouncements } from './useHierarchyAnnouncements';\n\n// we make space for the drop indicator\n// if second parameter is true, the space will be done on the horizontal axis\nconst adjustTranslate = ({ transform }, isHorizontalDnD = false) => {\n const newTransform = {\n ...transform,\n };\n if (isHorizontalDnD) {\n newTransform.y = transform.y + 15;\n } else {\n newTransform.y = transform.y - 35;\n }\n return newTransform;\n};\n\nconst layoutMeasuring: Partial<LayoutMeasuring> = {\n strategy: LayoutMeasuringStrategy.Always,\n};\n\nconst useHierarchyDndkitConfig: useHierarchyDndkitConfigType = ({\n flattenedItems,\n isHorizontalDnD = false,\n onReorder,\n}) => {\n const [activeId, setActiveId] = useState<string | null>(null);\n const [overId, setOverId] = useState<string | null>(null);\n\n const dndItems = useMemo(() => flattenedItems.map(([item]) => item), [flattenedItems]);\n\n const activeItem = useMemo(() => dndItems.find((item) => item.id === activeId), [activeId, dndItems]);\n\n const itemsDictionary = useMemo(() => {\n const dictionary: Record<string, Item> = {};\n dndItems.forEach((item) => {\n dictionary[item.id] = item;\n });\n return dictionary;\n }, [dndItems]);\n\n const modifiers = useMemo(() => [(options) => adjustTranslate(options, isHorizontalDnD)], [isHorizontalDnD]);\n\n const sensorContext: SensorContext = useRef({\n items: dndItems,\n });\n\n useEffect(() => {\n sensorContext.current = {\n items: dndItems,\n };\n }, [dndItems]);\n\n const coordinateGetter = useMemo(\n () => getHierarchyKeyboardCoordinates(sensorContext, isHorizontalDnD),\n [isHorizontalDnD],\n );\n\n const sensors = useSensors(\n useSensor(PointerSensor),\n useSensor(KeyboardSensor, {\n coordinateGetter,\n }),\n );\n\n const dragPreviewHandlers = useHierarchyPreviewHandlers({\n setActiveId,\n setOverId,\n });\n\n const dragActionHandlers = useHierarchyActionHandlers({\n ...dragPreviewHandlers,\n dndItems,\n onReorder,\n });\n\n const announcements = useHierarchyAnnouncements(itemsDictionary);\n\n const dndContextProps = useMemo(\n () => ({\n announcements,\n modifiers,\n sensors,\n layoutMeasuring,\n collisionDetection: customCollisionDetection(activeId, activeItem?.parentId, dndItems),\n ...dragActionHandlers,\n }),\n [announcements, modifiers, sensors, activeId, activeItem?.parentId, dndItems, dragActionHandlers],\n );\n\n return {\n dndContextProps,\n activeId,\n overId,\n activeIndex: activeId ? activeItem.index : -1,\n };\n};\n\nexport default useHierarchyDndkitConfig;\n","/* eslint-disable no-underscore-dangle */\n/* eslint-disable max-params */\nimport React, { createContext, useCallback, useMemo } from 'react';\nimport { DndContext, DragOverlay } from '@dnd-kit/core';\nimport { arrayMove } from '@dnd-kit/sortable';\nimport { DragOverlayContext } from './DragOverlayContext';\nimport { FunctionalHOC } from '../../types/FunctionalHoC';\nimport useHierarchyDndkitConfig from '../../helpers/dndkit/hierarchy/useHierarchyDndkitConfig';\nimport DataTableContext from '../../DataTableContext';\nimport { Item } from '../../helpers/dndkit/hierarchy/types';\nimport { TypescriptColumn } from '../../types/props';\n\ntype DnDGroupContextType = {\n activeIndex: number;\n};\n\nexport const DnDGroupContext = createContext<DnDGroupContextType>({\n activeIndex: undefined,\n});\n\nconst flattenColumns = (cols: TypescriptColumn[]) => {\n const flattened = [];\n const flatten = (col: TypescriptColumn, index, parentId = null) => {\n const id = col.Header;\n flattened.push([{ id, parentId, index }, col]);\n if (col.columns)\n col.columns.forEach((subColumn: TypescriptColumn, childIndex: number) => flatten(subColumn, childIndex, id));\n };\n cols.forEach((col, index) => flatten(col, index));\n return flattened;\n};\n\n// only wraps in \"DnDContext\" and \"DnDGroupContext\" if any Drag and Drop functionality is requested\nexport const withConditionalDnDColumnContext: FunctionalHOC = (Component) => (props) => {\n const {\n tableProps: { dragAndDropColumns, columns, onColumnsReorder },\n } = React.useContext(DataTableContext);\n\n const [PureDraggedJSX, setPureDraggedJSX] = React.useState(null); // todo: check if this can be done via portal\n\n const flattenedItems = useMemo(() => flattenColumns(columns), [columns]);\n\n const onReorder = useCallback(\n (movedItem: Item, indexes: { targetIndex: number; fromIndex: number }) => {\n // Send from index to target index\n const newFlattenedData = arrayMove(flattenedItems, indexes.fromIndex, indexes.targetIndex);\n // Pull the cols's data into an object\n const nodes = {};\n newFlattenedData.forEach(([dndData, colData]) => {\n delete colData.columns;\n nodes[dndData.id] = colData;\n });\n const newData = [];\n newFlattenedData.forEach(([dndData, colData]) => {\n // If row has parent, insert it to it's subrows\n // otherwise append it to the new user data\n if (dndData.parentId) {\n const parentNode = nodes[dndData.parentId];\n if (parentNode.columns) parentNode.columns.push(colData);\n else parentNode.columns = [colData];\n } else newData.push(colData);\n });\n onColumnsReorder(newData, indexes);\n },\n [flattenedItems, onColumnsReorder],\n );\n\n const { dndContextProps, activeId, activeIndex } = useHierarchyDndkitConfig({\n flattenedItems,\n isHorizontalDnD: true,\n onReorder,\n });\n\n if (dragAndDropColumns)\n return (\n <DndContext {...dndContextProps}>\n <DragOverlayContext.Provider value={{ setPureDraggedJSX }}>\n <DnDGroupContext.Provider value={{ activeIndex }}>\n <Component {...props} />\n </DnDGroupContext.Provider>\n </DragOverlayContext.Provider>\n <DragOverlay>{activeId ? PureDraggedJSX : null}</DragOverlay>\n </DndContext>\n );\n return <Component {...props} />;\n};\n","/* eslint-disable react/prop-types */\nimport React, { useEffect, useState } from 'react';\nimport { DatePicker2 } from '@elliemae/ds-icons';\nimport Grid from '@elliemae/ds-grid';\nimport { DSControlledDateRangePicker } from '@elliemae/ds-controlled-form';\nimport { FilterPopover, FILTER_TYPES } from '../../../../exported-related';\nimport { FilterProps } from '../../../../types/props';\nimport { DATA_TESTID } from '../../../../configs';\n\nconst emptyFilterValue = { startDate: null, endDate: null };\n\nexport const DateRangeFilter: React.ComponentType<FilterProps> = (props) => {\n const {\n column,\n column: { id },\n filterValue = emptyFilterValue,\n onValueChange,\n patchHeaderFilterButtonAndMenu,\n reduxHeader,\n innerRef,\n } = props;\n\n const dateRange = filterValue;\n\n const [startDate, setStartDate] = useState(dateRange.startDate || '');\n const [endDate, setEndDate] = useState(dateRange.endDate || '');\n\n useEffect(() => {\n setStartDate(dateRange.startDate || '');\n setEndDate(dateRange.endDate || '');\n }, [dateRange]);\n\n useEffect(() => {\n if (startDate && endDate && !startDate.includes('_') && !endDate.includes('_')) {\n onValueChange(FILTER_TYPES.DATE_RANGE, { startDate, endDate });\n }\n // We are missing onValueChange on purpose, this is an internal function and won't cause any problems\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [startDate, endDate]);\n\n return (\n <FilterPopover\n reduxHeader={reduxHeader}\n column={column}\n columnId={id}\n menuContent={\n <Grid width=\"260px\" data-testid={DATA_TESTID.DATA_TABLE_DATE_RANGE_CONTROLLER}>\n <Grid p=\"xxs\">\n <DSControlledDateRangePicker\n fromDate={startDate}\n onFromDateChange={setStartDate}\n toDate={endDate}\n onToDateChange={setEndDate}\n type=\"date-range-inputs\"\n autoFocus\n />\n </Grid>\n <Grid\n onKeyDown={(e) =>\n e.code === 'Enter' &&\n setTimeout(() => patchHeaderFilterButtonAndMenu(id, !!(dateRange.startDate || dateRange.endDate)), 0)\n }\n >\n <DSControlledDateRangePicker\n fromDate={startDate}\n onFromDateChange={setStartDate}\n toDate={endDate}\n onToDateChange={setEndDate}\n type=\"date-range-picker-controller-only\"\n />\n </Grid>\n </Grid>\n }\n triggerIcon={<DatePicker2 />}\n innerRef={innerRef}\n ariaLabel=\"Open Date Range Filter\"\n />\n );\n};\n","/* eslint-disable max-lines */\n/* eslint-disable react/prop-types */\nimport React, { useEffect, useState } from 'react';\nimport { DatePicker2 } from '@elliemae/ds-icons';\nimport Grid from '@elliemae/ds-grid';\nimport {\n DSControlledDateRangePicker,\n DSControlledDateTimePicker,\n DSControlledCheckbox,\n} from '@elliemae/ds-controlled-form';\nimport { FilterPopover, FILTER_TYPES } from '../../../../exported-related';\nimport { FilterProps } from '../../../../types/props';\nimport { DATA_TESTID } from '../../../../configs';\n\nconst emptyFilterValue = { startDate: null, endDate: null };\n\nexport const DateSwitcherFilter: React.ComponentType<FilterProps> = (props) => {\n const {\n column,\n column: { id },\n filterValue = emptyFilterValue,\n onValueChange,\n patchHeaderFilterButtonAndMenu,\n reduxHeader,\n innerRef,\n } = props;\n\n const dateRange = filterValue;\n\n const [startDate, setStartDate] = useState(dateRange.startDate || '');\n const [endDate, setEndDate] = useState(dateRange.endDate || '');\n const [isDateRange, setIsDateRange] = useState(false);\n\n useEffect(() => {\n setStartDate(dateRange.startDate || '');\n setEndDate(dateRange.endDate || '');\n }, [dateRange]);\n\n useEffect(() => {\n if (startDate && endDate && !startDate.includes('_') && !endDate.includes('_')) {\n onValueChange(FILTER_TYPES.DATE_SWITCHER, { startDate, endDate, isDateRange });\n }\n // We are missing onValueChange on purpose, this is an internal function and won't cause any problems\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [startDate, endDate, isDateRange]);\n\n return (\n <FilterPopover\n reduxHeader={reduxHeader}\n column={column}\n columnId={id}\n menuContent={\n <Grid width=\"260px\" data-testid={DATA_TESTID.DATA_TABLE_DATE_RANGE_CONTROLLER}>\n <Grid p=\"xxs\" gutter=\"xxs\">\n <DSControlledCheckbox\n checked={isDateRange}\n name=\"Date range\"\n label=\"Date Range\"\n id=\"date-range-switcher-id-internal\"\n onChange={() => {\n setIsDateRange(!isDateRange);\n setStartDate('');\n setEndDate('');\n }}\n autoFocus\n />\n {isDateRange ? (\n <DSControlledDateRangePicker\n fromDate={startDate}\n onFromDateChange={setStartDate}\n toDate={endDate}\n onToDateChange={setEndDate}\n type=\"date-range-inputs\"\n />\n ) : (\n <DSControlledDateTimePicker\n date={startDate}\n onDateChange={(_date) => {\n setStartDate(_date);\n setEndDate(_date);\n }}\n type=\"date-inputs\"\n />\n )}\n </Grid>\n <Grid\n onKeyDown={(e) =>\n e.code === 'Enter' &&\n setTimeout(() => patchHeaderFilterButtonAndMenu(id, !!(dateRange.startDate || dateRange.endDate)), 0)\n }\n >\n {isDateRange ? (\n <DSControlledDateRangePicker\n fromDate={startDate}\n onFromDateChange={setStartDate}\n toDate={endDate}\n onToDateChange={setEndDate}\n type=\"date-range-picker-controller-only\"\n />\n ) : (\n <DSControlledDateTimePicker\n date={startDate}\n onDateChange={(_date) => {\n setStartDate(_date);\n setEndDate(_date);\n }}\n type=\"date-picker-controller-only\"\n />\n )}\n </Grid>\n </Grid>\n }\n triggerIcon={<DatePicker2 />}\n innerRef={innerRef}\n ariaLabel=\"Open Date Range Filter\"\n />\n );\n};\n","/* eslint-disable react/prop-types */\nimport React from 'react';\nimport Grid from '@elliemae/ds-grid';\nimport { DSInputMask, MASK_TYPES } from '@elliemae/ds-form';\nimport { DSFormLayoutBlockItem } from '@elliemae/ds-form-layout-blocks';\nimport { SearchXsmall } from '@elliemae/ds-icons';\nimport { FilterPopover, FILTER_TYPES } from '../../../../exported-related';\nimport { FilterProps } from '../../../../types/props';\nimport { DATA_TESTID } from '../../../../configs';\n\nconst opts = {\n prefix: '',\n suffix: '',\n allowDecimal: false,\n includeThousandsSeparator: false,\n requireDecimal: false,\n allowNegative: true,\n};\n\nexport const NumberRangeFilter: React.ComponentType<FilterProps> = (props) => {\n const { column, filterValue = { from: null, to: null }, reduxHeader, onValueChange, innerRef } = props;\n const handleFromChange = (e) => {\n const from = e.target.value !== '' ? parseInt(e.target.value, 10) : '';\n const nextValue = {\n ...filterValue,\n from,\n };\n onValueChange(FILTER_TYPES.CURRENCY_RANGE, nextValue);\n };\n const handleToChange = (e) => {\n const to = e.target.value !== '' ? parseInt(e.target.value, 10) : '';\n const nextValue = {\n ...filterValue,\n to,\n };\n onValueChange(FILTER_TYPES.CURRENCY_RANGE, nextValue);\n };\n\n const idPreffix = 'datatable-number-range';\n return (\n <FilterPopover\n reduxHeader={reduxHeader}\n column={column}\n columnId={column.id}\n menuContent={\n <Grid\n data-testid={DATA_TESTID.DATA_TABLE_CURRENCY_RANGE_CONTROLLER}\n gutter=\"xxxs\"\n padding=\"xxs\"\n cols={['auto', 'auto']}\n >\n <DSFormLayoutBlockItem label=\"Low\" inputID={`${idPreffix}-low-${column.id}`}>\n <DSInputMask\n containerProps={{ style: { textAlign: 'right' } }}\n id={`${idPreffix}-low-${column.id}`}\n value={`${filterValue?.from ?? ''}`}\n onChange={handleFromChange}\n placeholder=\"0\"\n mask={(number) => MASK_TYPES.NUMBER(opts)(number)}\n autoFocus\n />\n </DSFormLayoutBlockItem>\n <DSFormLayoutBlockItem label=\"High\" inputID={`${idPreffix}-high-${column.id}`}>\n <DSInputMask\n containerProps={{ style: { textAlign: 'right' } }}\n id={`${idPreffix}-high-${column.id}`}\n value={`${filterValue?.to ?? ''}`}\n onChange={handleToChange}\n placeholder=\"0\"\n mask={(number) => MASK_TYPES.NUMBER(opts)(number)}\n />\n </DSFormLayoutBlockItem>\n </Grid>\n }\n triggerIcon={<SearchXsmall />}\n customStyles={{ width: column.ref?.current?.offsetWidth ?? '0px' }}\n innerRef={innerRef}\n ariaLabel=\"Open Number Range Filter\"\n />\n );\n};\n","/* eslint-disable react/prop-types */\nimport React from 'react';\nimport Grid from '@elliemae/ds-grid';\nimport { DSInputMask, MASK_TYPES } from '@elliemae/ds-form';\nimport { DSFormLayoutBlockItem } from '@elliemae/ds-form-layout-blocks';\nimport { SearchXsmall } from '@elliemae/ds-icons';\nimport { FilterPopover, FILTER_TYPES } from '../../../../exported-related';\nimport { FilterProps } from '../../../../types/props';\nimport { DATA_TESTID } from '../../../../configs';\n\nconst opts = {\n prefix: '',\n suffix: '',\n allowDecimal: true,\n decimalLimit: 2,\n includeThousandsSeparator: false,\n requireDecimal: true,\n allowNegative: true,\n};\n\nexport const CurrencyRangeFilter: React.ComponentType<FilterProps> = (props) => {\n const { column, filterValue = { from: null, to: null }, reduxHeader, onValueChange, innerRef } = props;\n const handleFromChange = (e) => {\n const nextValue = {\n ...filterValue,\n from: e.target.value,\n };\n onValueChange(FILTER_TYPES.CURRENCY_RANGE, nextValue);\n };\n const handleToChange = (e) => {\n const nextValue = {\n ...filterValue,\n to: e.target.value,\n };\n onValueChange(FILTER_TYPES.CURRENCY_RANGE, nextValue);\n };\n\n const idPreffix = 'datatable-currency-range';\n return (\n <FilterPopover\n reduxHeader={reduxHeader}\n column={column}\n columnId={column.id}\n menuContent={\n <Grid\n data-testid={DATA_TESTID.DATA_TABLE_CURRENCY_RANGE_CONTROLLER}\n gutter=\"xxxs\"\n padding=\"xxs\"\n cols={['auto', 'auto']}\n >\n <DSFormLayoutBlockItem label=\"Min\" inputID={`${idPreffix}-min-${column.id}`}>\n <DSInputMask\n containerProps={{ style: { textAlign: 'right' } }}\n id={`${idPreffix}-min-${column.id}`}\n value={`${filterValue?.from ?? ''}`}\n onChange={handleFromChange}\n placeholder=\"0.00\"\n mask={(number) => MASK_TYPES.NUMBER(opts)(number)}\n autoFocus\n />\n </DSFormLayoutBlockItem>\n <DSFormLayoutBlockItem label=\"Max\" inputID={`${idPreffix}-max-${column.id}`}>\n <DSInputMask\n containerProps={{ style: { textAlign: 'right' } }}\n id={`${idPreffix}-max-${column.id}`}\n value={`${filterValue?.to ?? ''}`}\n onChange={handleToChange}\n placeholder=\"0.00\"\n mask={(number) => MASK_TYPES.NUMBER(opts)(number)}\n />\n </DSFormLayoutBlockItem>\n </Grid>\n }\n triggerIcon={<SearchXsmall />}\n customStyles={{ width: column.ref?.current?.offsetWidth ?? '0px' }}\n innerRef={innerRef}\n ariaLabel=\"Open Currency Range Filter\"\n />\n );\n};\n","/* eslint-disable react/prop-types */\n/* eslint-disable max-lines */\nimport React, { useState, useEffect, useMemo, useCallback } from 'react';\nimport { Grid } from '@elliemae/ds-grid/';\nimport { DSComboBox } from '@elliemae/ds-form/ComboBox';\nimport { SearchXsmall } from '@elliemae/ds-icons';\nimport { FilterPopover } from '../../../../exported-related';\nimport { FilterProps } from '../../../../types/props';\nimport { DATA_TESTID } from '../../../../configs';\n\ninterface FilterOptionT {\n dsId: string;\n type: string;\n value: string;\n label: string;\n}\n\ninterface BaseSelectProps {\n isSingle?: boolean;\n isMulti?: boolean;\n selectedItems?: FilterOptionT[] | FilterOptionT;\n type: string;\n}\n\nexport const BaseSelectFilter: React.ComponentType<FilterProps & BaseSelectProps> = (props) => {\n const {\n isMulti = false,\n selectedItems,\n column,\n type,\n column: { id, filterOptions: userFilterOptions },\n ctx: {\n tableProps: { data },\n },\n reduxHeader,\n innerRef,\n onValueChange,\n } = props;\n\n const filterOptions: FilterOptionT[] = useMemo(() => {\n // If the user didn't provide options, use the available ones\n if (!userFilterOptions) {\n const automaticFilters = [...new Set(data.map((datum) => datum[id].toString()))].map((item) => ({\n type: 'option',\n dsId: item,\n value: item,\n label: item,\n }));\n\n return automaticFilters;\n }\n\n // If user provided the array itself, use it\n if (Array.isArray(userFilterOptions)) return userFilterOptions;\n // Otherwise, it is a function\n return userFilterOptions();\n }, [data, id, userFilterOptions]);\n\n const handleOnChange = (value) => {\n if (isMulti) {\n const multiSelectedItem = selectedItems as FilterOptionT[];\n const isFound = multiSelectedItem.find((item) => item.dsId === value.dsId);\n if (isFound) {\n onValueChange(\n type,\n multiSelectedItem.filter((item) => item.dsId !== value.dsId),\n );\n } else {\n onValueChange(type, [...multiSelectedItem, value]);\n }\n } else {\n const singleSelectedItem = selectedItems as FilterOptionT;\n onValueChange(type, singleSelectedItem?.dsId !== value.dsId ? value : null);\n }\n };\n\n const [filters, setFilteredOptions] = useState(filterOptions);\n\n useEffect(() => {\n setFilteredOptions(filterOptions);\n }, [filterOptions]);\n\n const filteredOptions = useCallback(\n (filter) =>\n filterOptions.filter(\n (option) => option.type === 'separator' || option.label.toLowerCase().includes(filter.toLowerCase()),\n ),\n [filterOptions],\n );\n\n const handleOnFilter = useCallback(\n (newFilter) => {\n setFilteredOptions(filteredOptions(newFilter));\n },\n [filteredOptions],\n );\n\n const Select = (\n <Grid\n data-testid={\n isMulti ? DATA_TESTID.DATA_TABLE_MULTISELECT_CONTROLLER : DATA_TESTID.DATA_TABLE_SINGLESELECT_CONTROLLER\n }\n style={{ background: '#fff', position: 'relative' }}\n >\n <DSComboBox\n inline\n autoFocus\n options={filters}\n onChange={handleOnChange}\n selectedValues={selectedItems}\n onFilter={handleOnFilter}\n />\n </Grid>\n );\n\n const handleOnClickOutside = () => {\n setFilteredOptions(filteredOptions(''));\n };\n return (\n <FilterPopover\n reduxHeader={reduxHeader}\n column={column}\n columnId={column.id}\n menuContent={Select}\n triggerIcon={<SearchXsmall />}\n innerRef={innerRef}\n ariaLabel=\"Open Selection Filter\"\n onClickOutsideMenu={handleOnClickOutside}\n customStyles={{ width: column.ref?.current?.offsetWidth ?? '0px', maxHeight: '300px' }}\n />\n );\n};\n","/* eslint-disable react/prop-types */\n/* eslint-disable max-lines */\nimport React from 'react';\nimport { BaseSelectFilter } from './BaseSelectFilter';\nimport { FilterProps } from '../../../../types/props';\nimport { FILTER_TYPES } from '../../../../exported-related';\nimport { DATA_TESTID } from '../../../../configs';\n\nexport const SingleSelectFilter: React.ComponentType<FilterProps> = ({\n column,\n ctx,\n patchHeaderFilterButtonAndMenu,\n patchHeader,\n onValueChange,\n filterValue,\n reduxHeader,\n innerRef,\n}) => (\n <BaseSelectFilter\n reduxHeader={reduxHeader}\n data-testid={DATA_TESTID.DATA_TABLE_SINGLESELECT_CONTROLLER}\n isSingle\n column={column}\n ctx={ctx}\n selectedItems={filterValue}\n type={FILTER_TYPES.SELECT}\n onValueChange={onValueChange}\n patchHeaderFilterButtonAndMenu={patchHeaderFilterButtonAndMenu}\n patchHeader={patchHeader}\n innerRef={innerRef}\n />\n);\n","/* eslint-disable react/prop-types */\nimport React from 'react';\nimport { FilterProps } from '../../../../types/props';\nimport { BaseSelectFilter } from './BaseSelectFilter';\nimport { FILTER_TYPES } from '../../../../exported-related';\nimport { DATA_TESTID } from '../../../../configs';\n\nexport const MultiSelectFilter: React.ComponentType<FilterProps> = ({\n column,\n ctx,\n onValueChange,\n patchHeaderFilterButtonAndMenu,\n patchHeader,\n reduxHeader,\n filterValue,\n innerRef,\n}) => (\n <BaseSelectFilter\n reduxHeader={reduxHeader}\n data-testid={DATA_TESTID.DATA_TABLE_MULTISELECT_CONTROLLER}\n isMulti\n column={column}\n ctx={ctx}\n selectedItems={filterValue ?? []}\n type={FILTER_TYPES.MULTI_SELECT}\n onValueChange={onValueChange}\n patchHeaderFilterButtonAndMenu={patchHeaderFilterButtonAndMenu}\n patchHeader={patchHeader}\n innerRef={innerRef}\n />\n);\n","/* eslint-disable react/prop-types */\nimport React, { useCallback, useEffect, useState } from 'react';\nimport { DatePicker2 } from '@elliemae/ds-icons';\nimport Grid from '@elliemae/ds-grid';\nimport { DSControlledDateTimePicker } from '@elliemae/ds-controlled-form';\nimport { FilterPopover, FILTER_TYPES } from '../../../../exported-related';\nimport { FilterProps } from '../../../../types/props';\nimport { DATA_TESTID } from '../../../../configs';\n\nexport const SingleDateFilter: React.ComponentType<FilterProps> = (props) => {\n const {\n column,\n column: { id },\n filterValue,\n reduxHeader,\n onValueChange,\n patchHeaderFilterButtonAndMenu,\n innerRef,\n } = props;\n\n const [date, setDate] = useState(filterValue || '');\n\n useEffect(() => {\n setDate(filterValue || '');\n }, [filterValue]);\n\n useEffect(() => {\n if (!date.includes('_')) onValueChange(FILTER_TYPES.SINGLE_DATE, date || undefined);\n // We are missing onValueChange on purpose, this is an internal function and won't cause any problems\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [date]);\n\n const commitDateChange = useCallback(() => {\n patchHeaderFilterButtonAndMenu(id, true);\n }, [id, patchHeaderFilterButtonAndMenu]);\n\n return (\n <FilterPopover\n reduxHeader={reduxHeader}\n column={column}\n columnId={column.id}\n menuContent={\n <Grid data-testid={DATA_TESTID.DATA_TABLE_SINGLE_DATE_CONTROLLER} width=\"260px\">\n <Grid p=\"xxs\">\n <DSControlledDateTimePicker date={date} onDateChange={setDate} type=\"date-inputs\" isClearable autoFocus />\n </Grid>\n <Grid onKeyDown={(e) => e.code === 'Enter' && setTimeout(commitDateChange, 0)}>\n <DSControlledDateTimePicker date={date} onDateChange={setDate} type=\"date-picker-controller-only\" />\n </Grid>\n </Grid>\n }\n triggerIcon={<DatePicker2 />}\n innerRef={innerRef}\n ariaLabel=\"Open Single Date Filter\"\n />\n );\n};\n","/* eslint-disable react/prop-types */\nimport React from 'react';\nimport { SearchXsmall } from '@elliemae/ds-icons';\nimport { FilterPopover, FILTER_TYPES } from '../../../../exported-related';\nimport { FilterProps } from '../../../../types/props';\n\nexport const TextInputFilter: React.ComponentType<FilterProps> = (props) => {\n const {\n column,\n filterValue = '',\n reduxHeader,\n onValueChange,\n ctx: {\n tableProps: { data },\n },\n innerRef,\n } = props;\n const count = data.length;\n\n const handleChange = (event) => {\n const newText = event?.target?.value || '';\n onValueChange(FILTER_TYPES.TEXT, newText);\n };\n\n return (\n <FilterPopover\n reduxHeader={reduxHeader}\n column={column}\n columnId={column.id}\n menuContent={\n // eslint-disable-next-line jsx-a11y/no-autofocus\n <input value={filterValue} onChange={handleChange} placeholder={`Search ${count} records...`} autoFocus />\n }\n triggerIcon={<SearchXsmall />}\n removeWrapperStyles\n innerRef={innerRef}\n ariaLabel=\"Open Text Input Filter\"\n data-testid=\"filter-popover\"\n />\n );\n};\n","/* eslint-disable @typescript-eslint/indent */\n/* eslint-disable react/prop-types */\nimport React, { useCallback } from 'react';\nimport {\n DateRangeFilter,\n DateSwitcherFilter,\n NumberRangeFilter,\n MultiSelectFilter,\n SingleSelectFilter,\n SingleDateFilter,\n TextInputFilter,\n CurrencyRangeFilter,\n} from '../../addons/Filters';\nimport { FILTER_TYPES } from '../../exported-related';\nimport { useDispatchHeadersActions } from '../../redux/reducers';\nimport { FilterProps } from '../../types/props';\n\nconst FilterMapper: Record<string, React.ComponentType<FilterProps>> = {\n [FILTER_TYPES.SELECT]: SingleSelectFilter,\n [FILTER_TYPES.MULTI_SELECT]: MultiSelectFilter,\n [FILTER_TYPES.TEXT]: TextInputFilter,\n [FILTER_TYPES.SINGLE_DATE]: SingleDateFilter,\n [FILTER_TYPES.DATE_RANGE]: DateRangeFilter,\n [FILTER_TYPES.DATE_SWITCHER]: DateSwitcherFilter,\n [FILTER_TYPES.NUMBER_RANGE]: NumberRangeFilter,\n [FILTER_TYPES.CURRENCY_RANGE]: CurrencyRangeFilter,\n};\nexport const FilterMapItem: React.ComponentType<\n Omit<FilterProps, 'patchHeaderFilterButtonAndMenu' | 'patchHeader' | 'onValueChange'>\n> = (props) => {\n const { column, filterValue: filters, onFiltersChange } = props;\n\n const { patchHeaderFilterButtonAndMenu, patchHeader } = useDispatchHeadersActions();\n\n const filterValue = filters.find((filter) => filter.id === column.id);\n\n const onValueChange = useCallback(\n (type: string, newValue: any) => {\n const filterIndex = filters.findIndex((filter) => filter.id === column.id);\n if (newValue === undefined) {\n const newFilters = filters.filter((filter) => filter.id !== column.id);\n onFiltersChange(newFilters);\n } else if (filterIndex === -1) {\n onFiltersChange([...filters, { id: column.id, type, value: newValue }]);\n } else {\n const newFilters = [...filters];\n newFilters[filterIndex].type = type;\n newFilters[filterIndex].value = newValue;\n onFiltersChange(newFilters);\n }\n },\n [column.id, filters, onFiltersChange],\n );\n\n const filterProps = {\n ...props,\n filterValue: filterValue?.value,\n onValueChange,\n patchHeader,\n patchHeaderFilterButtonAndMenu,\n };\n\n if (typeof column.filter === 'string') {\n if (!(column.filter in FilterMapper)) {\n throw new Error(`column.filter must be a supported out-of-the-box filter in ${column}`);\n }\n const FilterComp = FilterMapper[column.filter];\n return <FilterComp {...filterProps} />;\n }\n\n if (column.Filter) {\n if (typeof column.Filter !== 'function') {\n throw new Error(`column.Filter must be a component`);\n }\n const FilterComp = column.Filter;\n return <FilterComp {...filterProps} />;\n }\n\n // Column doesn't have any filters\n return null;\n};\n","/* eslint-disable react/prop-types */\nimport React, { useState, useCallback, useContext, useRef, useEffect, useMemo } from 'react';\nimport { ColsLayoutStyle } from '../../configs';\nimport DataTableContext from '../../DataTableContext';\nimport { columnsToGrid } from '../../helpers';\nimport { StyledResizer } from '../../styled';\nimport { TypescriptColumn } from '../../types/props';\n\nconst narrow = (value: number, min: number, max: number): number =>\n Math.min(Math.max(value, min ?? 30), max ?? Infinity);\n\nexport const HeaderResizer: React.ComponentType<{\n column: TypescriptColumn;\n}> = ({ column }) => {\n const {\n layoutHelpers: { setGridLayout },\n visibleColumns,\n tableProps: { onColumnResize },\n } = useContext(DataTableContext);\n\n const [isResizing, setIsResizing] = useState(false);\n const [nextWidth, setNextWidth] = useState(column.width ?? 150);\n\n const visibleColumnsCopy = useMemo(() => visibleColumns.map((col) => ({ ...col })), [visibleColumns]);\n\n useEffect(() => {\n const realColumnIndex = visibleColumnsCopy.findIndex((visibleColumn) => visibleColumn.id === column.id);\n\n visibleColumnsCopy[realColumnIndex].width = nextWidth;\n setGridLayout(columnsToGrid(visibleColumnsCopy, ColsLayoutStyle.Fixed));\n }, [column.id, nextWidth, setGridLayout, visibleColumnsCopy]);\n\n const ref = useRef<HTMLDivElement>(null);\n\n const onResizeStart = useCallback(() => {\n setIsResizing(true);\n }, []);\n\n const onResizeHandler = useCallback(\n (e) => {\n const delta = e.clientX - ref.current.getBoundingClientRect().x; // delta in pixels\n\n const realColumnIndex = visibleColumnsCopy.findIndex((visibleColumn) => visibleColumn.id === column.id);\n\n const widthWithDelta = narrow(\n nextWidth + delta,\n visibleColumnsCopy[realColumnIndex].minWidth,\n visibleColumnsCopy[realColumnIndex].maxWidth,\n );\n\n setNextWidth(widthWithDelta);\n\n // To prevent text selection\n e.preventDefault();\n e.stopPropagation();\n },\n [column.id, nextWidth, visibleColumnsCopy],\n );\n\n const onResizeEnd = useCallback(() => {\n setIsResizing(false);\n onColumnResize(column.id, nextWidth);\n setGridLayout(columnsToGrid(visibleColumns, ColsLayoutStyle.Fixed));\n }, [onColumnResize, column.id, nextWidth, setGridLayout, visibleColumns]);\n\n useEffect(() => {\n const debouncedResizeHandler = onResizeHandler;\n const debouncedResizeEnd = onResizeEnd;\n const addEvents = () => {\n document.addEventListener('mousemove', debouncedResizeHandler);\n document.addEventListener('touchmove', debouncedResizeHandler);\n document.addEventListener('mouseup', debouncedResizeEnd);\n document.addEventListener('touchend', debouncedResizeEnd);\n };\n const removeEvents = () => {\n document.removeEventListener('mousemove', debouncedResizeHandler);\n document.removeEventListener('touchmove', debouncedResizeHandler);\n document.removeEventListener('mouseup', debouncedResizeEnd);\n document.removeEventListener('touchend', debouncedResizeEnd);\n };\n\n if (isResizing) addEvents();\n else removeEvents();\n\n // just in case the component is unmounted\n return removeEvents;\n }, [isResizing, onResizeHandler, onResizeEnd]);\n\n return (\n <StyledResizer\n ref={ref}\n role=\"separator\"\n draggable={false}\n isResizing={isResizing}\n onMouseDown={onResizeStart}\n onTouchStart={onResizeStart}\n onMouseUp={onResizeEnd}\n onTouchEnd={onResizeEnd}\n />\n );\n};\n","/* eslint-disable react/prop-types */\nimport React, { Fragment } from 'react';\nimport { SimpleTruncatedTooltipText } from '@elliemae/ds-truncated-tooltip-text';\nimport { TypescriptColumn, TypescriptContext } from '../../types/props';\nimport { SortableItemContextType } from '../HoC/SortableItemContext';\nimport { RequiredDot } from './RequiredDot';\nimport { DATA_TESTID } from '../../configs';\n\ninterface HeaderCellTitle {\n column: TypescriptColumn;\n ctx: TypescriptContext;\n draggableProps: SortableItemContextType['draggableProps'];\n textWrap: 'wrap' | 'wrap-all' | 'truncate';\n}\n\nconst StringTitle = ({ column, textWrap }) =>\n (column.textWrap || textWrap) === 'truncate' ? (\n <SimpleTruncatedTooltipText value={column.Header} />\n ) : (\n <>{column.Header}</>\n );\n\nexport const HeaderCellTitle: React.ComponentType<HeaderCellTitle> = ({ column, ctx, draggableProps, textWrap }) => (\n <div style={{ display: 'flex', alignItems: 'center' }} data-testid={DATA_TESTID.DATA_TABLE_HEADER_CELL_TITLE}>\n {typeof column.Header === 'string' ? (\n <StringTitle column={column} textWrap={textWrap} />\n ) : (\n <column.Header column={column} ctx={ctx} draggableProps={draggableProps} />\n )}\n {column.required && <RequiredDot />}\n </div>\n);\n","/* eslint-disable max-params */\n/* eslint-disable max-lines */\n/* eslint-disable complexity */\n/* eslint-disable react/prop-types */\nimport React, { useContext, useMemo, useRef } from 'react';\nimport { connect, ConnectedProps } from 'react-redux';\nimport Grid from '@elliemae/ds-grid';\nimport { useDispatchHeadersActions } from '../../redux/reducers';\nimport { StyledHeadTh, StyledHeaderRightIconsWrapper, StyledFocusWithin } from '../../styled';\nimport DataTableContext from '../../DataTableContext';\nimport { SortByCaret } from '../SortByCaret';\nimport { DnDHandle } from '..';\nimport { SortableItemContext } from '../HoC/SortableItemContext';\nimport { FilterMapItem } from '../Filters';\nimport { HeaderResizer } from './HeaderResizer';\nimport { TypescriptColumn } from '../../types/props';\nimport { useHeaderCellHandlers } from './useHeaderCellHandlers';\nimport { useHeaderCellConfig } from './useHeaderCellConfig';\nimport { useRecoverFocusCol } from '../../hooks/useRecoverFocusCol';\nimport { DATA_TESTID } from '../../configs';\nimport { HeaderCellTitle } from './HeaderCellTitle';\n\nconst buildScreenReaderInstructions = (colSpan: number, draggable: boolean, filterable: boolean, sortable: boolean) => {\n const preffix = colSpan === 1 ? '' : 'Column Group. ';\n if (!draggable && !filterable && !sortable) return preffix;\n\n let message = sortable\n ? 'You can sort the data ascendingly/descendingly by this column. Use the up / down arrows keys to do so'\n : '';\n if (draggable && filterable) {\n message = `This column is draggable and filterable. To enable these interactions press the enter key. ${message}`;\n } else if (draggable || filterable) {\n message = `This column is ${\n draggable ? 'draggable' : 'filterable'\n }. To enable this interaction press the enter key. ${message}`;\n }\n return `${preffix}${message}`;\n};\n\ninterface HeaderCellCompProps {\n column: TypescriptColumn;\n isDragOverlay: boolean;\n colSpan: number;\n}\n\nfunction mapStateToProps(state, ownProps) {\n return {\n reduxHeader: state.headers?.[ownProps.column.id],\n };\n}\n\nconst connector = connect(mapStateToProps);\n\nconst HeaderCellComp: React.ComponentType<HeaderCellCompProps & ConnectedProps<typeof connector>> = (props) => {\n const { reduxHeader, column, isDragOverlay, colSpan } = props;\n const ctx = useContext(DataTableContext);\n const {\n tableProps: { isResizeable, onColumnSortChange, dragAndDropColumns, onFiltersChange, filters, textWrap },\n flattenedData,\n } = ctx;\n const { patchHeader } = useDispatchHeadersActions();\n const dragHandleRef = useRef<HTMLDivElement>(null);\n const filterIconRef = useRef<HTMLDivElement>(null);\n\n const { draggableProps } = useContext(SortableItemContext);\n\n const { hasFilter, hasDnD, hasSortingCaret, hasRightIcons, shouldShowDnD, hCols, isDragging } = useHeaderCellConfig({\n column,\n dragAndDropColumns,\n draggableProps,\n reduxHeader,\n isDragOverlay,\n });\n\n useRecoverFocusCol(isDragging, dragHandleRef);\n\n const rightIcons = useMemo(() => {\n if (!hasRightIcons) return null;\n return (\n <StyledHeaderRightIconsWrapper>\n <FilterMapItem\n column={column}\n ctx={ctx}\n onFiltersChange={onFiltersChange}\n reduxHeader={reduxHeader}\n filterValue={filters}\n innerRef={filterIconRef}\n />\n {hasSortingCaret && <SortByCaret isSortedDesc={column.isSortedDesc} />}\n </StyledHeaderRightIconsWrapper>\n );\n }, [hasRightIcons, column, ctx, onFiltersChange, reduxHeader, filters, hasSortingCaret]);\n\n const DnDHandleComponent = useMemo(\n () => (\n <Grid mr=\"2px\" alignItems=\"center\" style={{ position: 'relative' }}>\n <StyledFocusWithin hideFocus={isDragging}>\n <DnDHandle\n key={column.id}\n innerRef={dragHandleRef}\n isReachable={reduxHeader?.withTabStops}\n id={column.id}\n isDragOverlay={isDragOverlay}\n />\n </StyledFocusWithin>\n </Grid>\n ),\n [column.id, isDragOverlay, isDragging, reduxHeader?.withTabStops],\n );\n\n const handlers = useHeaderCellHandlers({\n hasFilter,\n patchHeader,\n column,\n reduxHeader,\n hasDnD,\n onColumnSortChange,\n dragHandleRef,\n filterIconRef,\n headerRef: column.ref,\n });\n\n return (\n <StyledHeadTh\n column={column}\n {...handlers}\n role={colSpan === 1 ? 'columnheader' : 'group'}\n colSpan={colSpan}\n aria-describedby={`${column.id}-instructions`}\n // eslint-disable-next-line no-nested-ternary\n aria-sort={hasSortingCaret ? (column.isSortedDesc ? 'descending' : 'ascending') : 'none'}\n data-testid={DATA_TESTID.DATA_TABLE_HEADER}\n isFirstRowGroup={!!flattenedData[0]?.original?.dimsumHeaderValue}\n tabIndex={column.isFocuseable === false ? -1 : 0}\n isDragOverlay={isDragOverlay}\n isDraggingActive={draggableProps && draggableProps.active}\n shouldShowDnD={shouldShowDnD}\n ref={column.ref}\n >\n <Grid width=\"100%\" cols={hCols}>\n {shouldShowDnD && DnDHandleComponent}\n <HeaderCellTitle column={column} ctx={ctx} draggableProps={draggableProps} textWrap={textWrap} />\n {rightIcons}\n {isResizeable && column.canResize !== false && <HeaderResizer column={column} />}\n </Grid>\n <span id={`${column.id}-instructions`} style={{ display: 'none' }} aria-hidden=\"false\">\n {buildScreenReaderInstructions(\n colSpan,\n dragAndDropColumns && column.disableDnD !== true,\n hasFilter,\n column.canSort,\n )}\n </span>\n </StyledHeadTh>\n );\n};\n\nexport const HeaderCell = connector(HeaderCellComp);\n","import React, { cloneElement, useContext, useEffect, useMemo } from 'react';\nimport { useSortable } from '@dnd-kit/sortable';\nimport DataTableContext from '../../DataTableContext';\nimport { DragOverlayContext } from './DragOverlayContext';\nimport { FunctionalHOC } from '../../types/FunctionalHoC';\nimport { DnDGroupContext } from './withConditionalDnDColumnContext';\nimport { SortableItemContext, DropIndicatorPosition, SortableItemContextType } from './SortableItemContext';\n\nexport const withDnDSortableColumnContext: FunctionalHOC = (Component) => (props: any) => {\n const {\n tableProps: { dragAndDropColumns },\n } = useContext(DataTableContext);\n const { setPureDraggedJSX } = useContext(DragOverlayContext);\n const { activeIndex } = useContext(DnDGroupContext);\n\n // onMount generate unique options, so everyting is only ran once\n const draggableOptions = useMemo(\n () => ({\n id: props.header.Header,\n }),\n [props.header.Header],\n );\n\n const useSortableHelpers = useSortable(draggableOptions);\n\n const PureComponentJSX = useMemo(() => <Component {...props} />, [props]);\n\n // calculate all the \"useSortable\" values as per required\n const draggableProps = useMemo(() => {\n if (!dragAndDropColumns) return false;\n\n const { index, overIndex } = useSortableHelpers;\n\n return {\n ...useSortableHelpers,\n shouldShowDropIndicatorPosition: overIndex === index && overIndex !== -1,\n dropIndicatorPosition: index > activeIndex ? DropIndicatorPosition.After : DropIndicatorPosition.Before,\n };\n }, [useSortableHelpers, dragAndDropColumns, activeIndex]);\n\n useEffect(() => {\n // We assume the structure of the inner element WON'T change during DnD\n // This is a huge performance boost\n if (useSortableHelpers.isDragging) {\n setPureDraggedJSX(cloneElement(PureComponentJSX, { isDragOverlay: true }));\n }\n }, [useSortableHelpers.isDragging, setPureDraggedJSX]);\n\n // we use a context so we can easly access information wherever without bubbling down\n // this context is all Memoized so as long as component is not re-mounted,\n // the context won't trigger un-required renders per-se...\n const ctx: SortableItemContextType = useMemo(\n () => ({\n draggableProps,\n }),\n [draggableProps],\n );\n // we always add the context, if draggableProps===false we don't have the DnD enabled.\n return <SortableItemContext.Provider value={ctx}>{PureComponentJSX}</SortableItemContext.Provider>;\n};\n","/* eslint-disable complexity */\nimport React, { useContext } from 'react';\nimport { Grid } from '@elliemae/ds-grid';\nimport styled from 'styled-components';\nimport PropTypes from 'prop-types';\nimport { HeaderCell } from './HeaderCell';\nimport { SortableItemContext } from '../HoC/SortableItemContext';\nimport { withDnDSortableColumnContext } from '../HoC/withDnDSortableColumnContext';\nimport DropIndicator from '../DropIndicator';\nimport { SortableHeaderCell } from '../SortableHeaderCell';\nimport { TypescriptColumn } from '../../types/props';\nimport { EmptyChildrenGroup } from './EmptyChildrenGroup';\nimport { DATA_TESTID } from '../../configs';\n\nconst StyledWrapper = styled(Grid)`\n position: relative;\n width: ${(props) => (props.isDragOverlay ? 'fit-content' : '100%')};\n grid-column: ${(props) => props.gridColumn};\n background: ${(props) => (props.isDragging ? props.theme.colors.neutral['080'] : 'white')};\n opacity: ${(props) => (props.isDragging ? 0.8 : 1)};\n box-shadow: 0 2px 4px 0 ${(props) => (props.isDragOverlay ? 'rgba(0,0,0,0.5)' : 'transparent')};\n`;\n\ninterface HeaderCellGroupCompProps {\n header: TypescriptColumn;\n isDragOverlay?: boolean;\n isDraggingParent?: boolean;\n isLast?: boolean;\n}\n\nconst HeaderCellGroupComp: React.ComponentType<HeaderCellGroupCompProps> = ({\n header,\n isDragOverlay,\n isDraggingParent,\n isLast,\n}) => {\n const { draggableProps } = useContext(SortableItemContext);\n\n const children = header.columns;\n\n const isDragging = (draggableProps && draggableProps.isDragging) || isDraggingParent;\n const dropIndicatorPosition =\n draggableProps && draggableProps.shouldShowDropIndicatorPosition && draggableProps.dropIndicatorPosition;\n\n const ChildGroup = isDragOverlay ? NotSortableHeaderCellGroup : HeaderCellGroup;\n\n const colSpan = children?.length ?? 1;\n return (\n <StyledWrapper\n ref={draggableProps ? draggableProps.setNodeRef : null}\n gridColumn={isDragOverlay ? 'auto' : `span ${colSpan}`}\n isDragOverlay={isDragOverlay}\n isDragging={isDragging}\n cols={['auto']}\n data-testid={isDragOverlay ? DATA_TESTID.DATA_TABLE_COLUMN_DRAG_OVERLAY : undefined}\n >\n <HeaderCell column={header} isDragOverlay={isDragOverlay} colSpan={colSpan} />\n {!!children?.length && !isDragOverlay && (\n <SortableHeaderCell items={children} isDragOverlay={isDragOverlay}>\n {children.map((h, index) => (\n <ChildGroup\n key={h.id}\n header={h}\n isDragOverlay={isDragOverlay}\n isDraggingParent={isDragging}\n isLast={index === children.length - 1}\n />\n ))}\n </SortableHeaderCell>\n )}\n {children?.length && isDragOverlay && <EmptyChildrenGroup />}\n <DropIndicator vertical dropIndicatorPosition={dropIndicatorPosition} isLast={isLast && isDragging} />\n </StyledWrapper>\n );\n};\n\nHeaderCellGroupComp.propTypes = {\n header: PropTypes.any,\n isDragOverlay: PropTypes.bool,\n isDraggingParent: PropTypes.bool,\n isLast: PropTypes.bool,\n};\n\n// We need to declare this because we MUST avoid the useSortable call in the recursive calls of the function\nconst NotSortableHeaderCellGroup = HeaderCellGroupComp;\n\nexport const HeaderCellGroup = withDnDSortableColumnContext(HeaderCellGroupComp);\n","import React, { useContext, useMemo } from 'react';\nimport { StyledHeadWrapper, StyledHeadTr } from '../../styled';\nimport DataTableContext from '../../DataTableContext';\nimport { withConditionalDnDColumnContext } from '../HoC/withConditionalDnDColumnContext';\nimport { HeaderCellGroup } from './HeaderCellGroup';\nimport { SortableHeaderCell } from '../SortableHeaderCell';\nimport { TypescriptColumn } from '../../types/props';\n\nconst HeadersComp = (): JSX.Element => {\n const {\n tableProps: { isExpandable, colsLayoutStyle },\n layoutHelpers: { gridLayout, totalColumnsWidth },\n columnHeaderRef,\n visibleColumns,\n } = useContext(DataTableContext);\n const HeadersCells = useMemo(\n () => (\n <SortableHeaderCell items={visibleColumns}>\n <StyledHeadTr role=\"row\" cols={gridLayout} colsLayoutStyle={colsLayoutStyle} isExpandable={isExpandable}>\n {visibleColumns.map((h: TypescriptColumn, index) => (\n <HeaderCellGroup header={h} key={h.id} isLast={index === visibleColumns.length - 1} />\n ))}\n </StyledHeadTr>\n </SortableHeaderCell>\n ),\n [isExpandable, visibleColumns, gridLayout, colsLayoutStyle],\n );\n\n const PureHeaders = useMemo(\n () => (\n <StyledHeadWrapper totalColumnsWidth={totalColumnsWidth} colsLayoutStyle={colsLayoutStyle} ref={columnHeaderRef}>\n {HeadersCells}\n </StyledHeadWrapper>\n ),\n [totalColumnsWidth, colsLayoutStyle, columnHeaderRef, HeadersCells],\n );\n return PureHeaders;\n};\n\nexport default withConditionalDnDColumnContext(HeadersComp);\n","import React, { useContext, useMemo, useCallback } from 'react';\nimport { connect } from 'react-redux';\nimport RowLoading from './RowLoading'; // imported this way to avoid circular dependencies\nimport EmptyContent from './EmptyContent'; // imported this way to avoid circular dependencies\nimport Rows from './Rows'; // imported this way to avoid circular dependencies\nimport Headers from './Headers'; // imported this way to avoid circular dependencies\nimport Footer from './Footer'; // imported this way to avoid circular dependencies\nimport DataTableContext from '../DataTableContext';\nimport { FIXED_SIZES } from '../configs/fixedSizes';\nimport { StyledVirtualListWrapper, StyledTableContentWrapper } from '../styled';\nimport Loader from './Loader';\nimport { useDispatchRowsActions } from '../redux/reducers';\nimport { DATA_TESTID } from '../configs';\n\nfunction mapStateToProps(state) {\n return {\n relativeRowMouseCord: state.rows.relativeRowMouseCord,\n };\n}\n\nconst VirtualRowsListComponent = () => {\n const {\n virtualListRef,\n tableProps: { height, width, isLoading, isLoadingAppended },\n virtualListHelpers,\n layoutHelpers: { totalColumnsWidth },\n flattenedData,\n } = useContext(DataTableContext);\n const { totalSize, scrollToIndex } = virtualListHelpers;\n const { setFocusedRowId } = useDispatchRowsActions();\n\n const isEmptyContent = useMemo(() => !isLoading && flattenedData.length === 0, [isLoading, flattenedData.length]);\n\n const tableHeight = useMemo(() => {\n if (typeof height === 'string')\n return height.includes('%') ? height : Number.parseInt(height, 10) - FIXED_SIZES.PAGINATION_HEIGHT;\n return height;\n }, [height]);\n\n const onKeyDown = useCallback(\n (e: React.KeyboardEvent) => {\n if (e.ctrlKey && e.code === 'End') {\n scrollToIndex(flattenedData.length - 1);\n setFocusedRowId(flattenedData[flattenedData.length - 1].uid);\n } else if (e.ctrlKey && e.code === 'Home') {\n scrollToIndex(0, { align: 'center' });\n setFocusedRowId(flattenedData[0].uid);\n }\n },\n [scrollToIndex, setFocusedRowId, flattenedData],\n );\n\n return (\n <StyledVirtualListWrapper\n ref={virtualListRef}\n height={tableHeight}\n width={width}\n data-testid={DATA_TESTID.DATA_TABLE_SCROLLABLE_CONTAINER}\n onKeyDown={onKeyDown}\n tabIndex={-1}\n >\n <StyledTableContentWrapper role=\"rowgroup\" height={totalSize || '100%'}>\n <Headers />\n {isEmptyContent && <EmptyContent width={totalColumnsWidth} />}\n {isLoading ? <Loader /> : null}\n {!isLoading && !isEmptyContent && (\n <>\n <Rows />\n <Footer />\n {isLoadingAppended && <RowLoading />}\n </>\n )}\n </StyledTableContentWrapper>\n </StyledVirtualListWrapper>\n );\n};\n\nconst VirtualRowsList = connect(mapStateToProps)(VirtualRowsListComponent);\n\nexport default VirtualRowsList;\n","import React, { useContext, useMemo, useState } from 'react';\nimport { connect } from 'react-redux';\n\nimport { StyledTableWrapper, StyledDataTableWrapper } from '../styled';\nimport DataTableContext from '../DataTableContext';\nimport { Pagination } from '../addons/Pagination';\nimport VirtualRowsList from './VirtualRowsList';\nimport { TypescriptAppliedFilter } from '../types/props';\nimport { DATA_TESTID } from '../configs';\n\nconst mapStateToProps = (state: { filters: TypescriptAppliedFilter }) => ({\n reduxFilters: state.filters,\n});\n// must manually declare typescript types for mapStateToProps props\n// because react-redux is not smart enough\ntype TableContentProps = {\n reduxFilters: TypescriptAppliedFilter;\n forwardedRef: React.ForwardedRef<HTMLDivElement>;\n};\n\nconst TableContentComponent = (props: TableContentProps) => {\n const { forwardedRef } = props;\n const {\n tableProps: { height, width, pagination },\n allDataFlattened,\n visibleColumns,\n } = useContext(DataTableContext);\n\n const [shiftKeyPressed, setShiftKeyPressed] = useState(false);\n\n const PureTableContent = useMemo(\n () => (\n <StyledDataTableWrapper\n data-testid={DATA_TESTID.DATA_TABLE_CONTENT_WRAPPER}\n height={height}\n width={width}\n ref={forwardedRef}\n noSelectionAllowed={shiftKeyPressed}\n onKeyDown={(e) => setShiftKeyPressed((prevShiftKeyPressed) => prevShiftKeyPressed || e.shiftKey)}\n onKeyUp={(e) => setShiftKeyPressed((prevShiftKeyPressed) => prevShiftKeyPressed && e.code !== 'Shift')}\n >\n <StyledTableWrapper\n role=\"table\"\n aria-rowcount={allDataFlattened.length}\n aria-colcount={visibleColumns.length}\n data-testid={DATA_TESTID.DATA_TABLE_TABLE}\n height={height}\n width={width}\n >\n <VirtualRowsList />\n </StyledTableWrapper>\n {pagination ? <Pagination /> : null}\n </StyledDataTableWrapper>\n ),\n [height, width, forwardedRef, allDataFlattened.length, visibleColumns.length, pagination, shiftKeyPressed],\n );\n\n return PureTableContent;\n};\n\nconst ConnectedTableContent = connect(mapStateToProps)(TableContentComponent);\n\nconst TableContent = React.forwardRef<HTMLDivElement>((props, ref) => (\n <ConnectedTableContent {...props} forwardedRef={ref} />\n));\n\nexport default TableContent;\n","/* eslint-disable react/prop-types */\nimport React, { useContext } from 'react';\nimport { GripperVertical } from '@elliemae/ds-icons';\nimport styled from 'styled-components';\nimport { SortableItemContext } from './HoC/SortableItemContext';\nimport { DATA_TESTID } from '../configs';\n\nconst StyledGripperButton = styled.div<{\n isActive: boolean;\n isDragOverlay: boolean;\n}>`\n cursor: ${({ isActive, isDragOverlay }) => (isActive || isDragOverlay ? 'grabbing' : 'grab')};\n outline: none;\n display: flex;\n align-items: center;\n touch-action: none;\n`;\n\nconst DragHandle: React.ComponentType<{\n id: string;\n isReachable: boolean;\n isDragOverlay: boolean;\n innerRef: React.RefObject<HTMLDivElement> | React.RefCallback<HTMLDivElement>;\n}> = ({ id, isReachable, isDragOverlay, innerRef }) => {\n const { draggableProps } = useContext(SortableItemContext);\n const isActive = draggableProps && !!draggableProps.active;\n const isDragging = draggableProps && draggableProps.isDragging;\n\n return (\n <StyledGripperButton\n role=\"button\"\n {...(draggableProps && {\n ...draggableProps.listeners,\n ...draggableProps.attributes,\n })}\n isActive={isActive}\n isDragOverlay={isDragOverlay}\n ref={innerRef}\n tabIndex={isReachable ? 0 : -1}\n data-testid={DATA_TESTID.DATA_TABLE_DRAG_HANDLE}\n id={`${id}-drag-handle`}\n key={`${id}-drag-handle`}\n >\n <GripperVertical size=\"s\" color={isDragging ? ['neutral', '500'] : ['brand-primary', '800']} />\n </StyledGripperButton>\n );\n};\nexport default DragHandle;\n","/* eslint-disable react/prop-types */\n/* eslint-disable max-lines */\nimport React from 'react';\nimport { useRecoverFocusRow } from '../../../hooks/useRecoverFocusRow';\nimport { DnDHandle } from '../../../parts';\nimport { StyledFocusWithin } from '../../../styled';\n\nimport { TypescriptColumn } from '../../../types/props';\n\nexport const dragHandleColumn: TypescriptColumn = {\n // Build our singleSelecter column\n id: 'dragHandleColumn', // Make sure it has an ID\n // The header doesn't need anything for single selection\n Header: () => <div />,\n Cell: ({ row, isRowSelected, cell, isDragOverlay, draggableProps }) => {\n useRecoverFocusRow(row, cell, isDragOverlay, draggableProps);\n return (\n <StyledFocusWithin\n style={{ width: '100%', height: '100%' }}\n hideFocus={draggableProps && draggableProps.isDragging}\n >\n <DnDHandle\n id={row.uid}\n key={row.uid}\n isReachable={isRowSelected}\n innerRef={(_ref) => {\n if (!isDragOverlay) cell.ref.current = _ref;\n }}\n isDragOverlay={isDragOverlay}\n />\n </StyledFocusWithin>\n );\n },\n textWrap: 'wrap-all',\n width: 24,\n padding: 4,\n canResize: false,\n disableDnD: true,\n isFocuseable: false,\n};\n","export { actionColumn } from './ColumnAction/ColumnAction';\nexport { expandRowColumn } from './ColumnExpand/ColumnExpand';\nexport { multiSelectColumn } from './ColumnSelectMultiple/ColumnSelectMultiple';\nexport { singleSelectColumn } from './ColumnSelectSingle/ColumnSelectSingle';\nexport { dragHandleColumn } from './ColumnDragHandle/ColumnDragHandle';\n\nexport const INTERNAL_COLUMNS = [\n 'rowActions',\n 'expander',\n 'multiSelecter',\n 'singleSelecter',\n 'dragHandleColumn',\n];\n","/* eslint-disable max-lines */\nimport styled from 'styled-components';\nimport Grid from '@elliemae/ds-grid';\nimport { EditPencil } from '@elliemae/ds-icons';\nimport { DSButtonV2 } from '@elliemae/ds-button';\nimport { typography, TypographyProps, space } from 'styled-system';\nimport { sizeToCss, cellPadding, columnPadding } from './helpers';\nimport { ZIndexDataTable, FIXED_SIZES, ColsLayoutStyle } from './configs';\n\ninterface WidthAndHeight {\n width?: string | number;\n height?: string | number;\n}\n\nconst styledFocusCss = ({ theme }) => `\n&:after {\n display: block;\n content: ' ';\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n border: 2px solid ${theme.colors.brand[700]};\n pointer-events: none;\n z-index: ${ZIndexDataTable.FOCUS_BORDER};\n}`;\n\nexport const StyledFocusWithin = styled(Grid)`\n :focus-within {\n ${(props) => (props.hideFocus ? '' : styledFocusCss(props))}\n }\n`;\n\nexport const StyledDataTableWrapper = styled.div<WidthAndHeight & { noSelectionAllowed: boolean }>`\n width: ${(props) => sizeToCss(props.width ?? ' 100%')};\n height: ${(props) => sizeToCss(props.height ?? ' 100%')};\n user-select: ${({ noSelectionAllowed }) => (noSelectionAllowed ? 'none' : 'auto')};\n`;\nexport const StyledTableWrapper = styled.div<WidthAndHeight>`\n display: inline-block;\n border-spacing: 0;\n z-index: 0;\n position: relative;\n ${({ width = '100%', height = '100%' }) => `\n width: ${sizeToCss(width)};\n height: ${sizeToCss(height)};\n `}\n`;\nexport const StyledTableContentWrapper = styled.div<WidthAndHeight>`\n position: relative;\n ${({ height = 'auto' }) => `\n height: ${sizeToCss(height)};\n `}\n`;\nexport const StyledVirtualListWrapper = styled.div<WidthAndHeight>`\n overflow: auto;\n ${({ height = 'auto', width = '100%' }) => `\n height: ${sizeToCss(height)};\n width: ${sizeToCss(width)};\n `}\n`;\n\n/**\n * HEADER\n */\ntype gridTemplateColumnStyleProps = {\n cols: string[];\n isExpandable: boolean;\n colsLayoutStyle: ColsLayoutStyle;\n};\nconst getGridTemplateColumnsStyle = ({\n cols,\n colsLayoutStyle = ColsLayoutStyle.Auto,\n}: gridTemplateColumnStyleProps) => {\n if (!cols) return '';\n if (colsLayoutStyle === 'fixed') {\n const widthAttr = cols.map((col) => `minmax(0, ${col})`).join(' ');\n return `grid-template-columns: ${widthAttr}`;\n }\n\n return `grid-template-columns: ${cols.map((col) => `minmax(0, ${col})`).join(' ')}`;\n};\n\nexport const StyledHeadWrapper = styled.div<{\n colsLayoutStyle: string;\n totalColumnsWidth: number | string;\n}>`\n position: relative; /* ie11 fallback */\n position: sticky;\n top: 0;\n z-index: 4;\n background: white;\n width: ${(props) => (props.colsLayoutStyle === ColsLayoutStyle.Fixed ? sizeToCss(props.totalColumnsWidth) : '100%')};\n`;\n\nexport const StyledHeadTr = styled(Grid)`\n ${(props) => (props.colsLayoutStyle === ColsLayoutStyle.Auto ? 'width:100%' : '')};\n ${(props) =>\n getGridTemplateColumnsStyle({\n cols: props.cols,\n isExpandable: props.isExpandable,\n colsLayoutStyle: props.colsLayoutStyle,\n })};\n`;\n\nconst getStyledHeadTHBorderColor = (props) => {\n if (props.dragOverlay) return 'transparent';\n if (props.isFirstRowGroup) return 'transparent';\n return props.theme.colors.neutral['080'];\n};\n\nexport const StyledHeadTh = styled.div<any>`\n min-height: 24px;\n line-height: normal;\n font-weight: 600;\n text-transform: uppercase;\n font-size: 0.923rem;\n text-align: left;\n ${columnPadding}\n color: #353c46;\n min-height: 1.84615rem;\n position: relative;\n position: sticky;\n top: 0;\n z-index: ${ZIndexDataTable.HEADER_ROW};\n display: flex;\n justify-content: space-between;\n box-sizing: border-box;\n border-right: 1px solid ${(props) => props.theme.colors.neutral['080']};\n border-bottom: 1px solid ${getStyledHeadTHBorderColor};\n outline: none;\n\n :focus {\n &:after {\n display: block;\n content: ' ';\n position: absolute;\n top: 0;\n left: 0;\n right: -1px;\n bottom: -1px;\n border: 2px solid ${(props) => props.theme.colors.brand[700]};\n pointer-events: none;\n z-index: ${ZIndexDataTable.FOCUS_BORDER};\n }\n }\n\n ${(props) =>\n props.isDraggingActive\n ? ''\n : `:hover {\n border-bottom: 1px solid ${props.isDragOverlay ? 'transparent' : props.theme.colors.brand[800]};\n cursor: pointer;\n }`}\n`;\n\nexport const StyledHeaderRightIconsWrapper = styled.div`\n height: 100%;\n display: flex;\n align-items: center;\n max-height: 24px;\n`;\n\nexport const StyledResizer = styled.div<{ isResizing: boolean }>`\n display: inline-block;\n background: ${({ isResizing, theme }) => (isResizing ? theme.colors.brand[600] : theme.colors.brand[400])};\n width: 4px;\n height: 100%;\n position: absolute;\n right: 0;\n top: 0;\n z-index: 1;\n\n // prevents from scrolling while dragging on touch devices\n touch-action: none;\n\n cursor: col-resize;\n`;\n\n// CELL ***********************************************************************/\nexport const StyledActionCell = styled.div`\n position: relative; /* ie11 fallback */\n position: sticky;\n display: inline-block;\n right: 0;\n /* border-bottom: 1px solid #ebedf0; */\n background: white;\n`;\n\nexport const StyledCell = styled.div`\n ${cellPadding}\n /* border-bottom: 1px solid #ebedf0; */\n /* box-sizing: border-box; */\n display: flex;\n align-items: center;\n width: 100%;\n position: relative;\n`;\n\nexport const StyledCellContent = styled.div`\n display: grid;\n justify-self: flex-end;\n flex: 1 1 auto;\n width: 100%;\n height: 100%;\n align-items: center;\n`;\n\nexport const StyledPencilIcon = styled(EditPencil)``;\n\nexport const StyledEditableContainer = styled(Grid)`\n width: 100%;\n height: 100%;\n align-items: center;\n & ${StyledPencilIcon} {\n display: ${(props) => (props.shouldDisplayEditIcon ? 'block' : 'none')};\n }\n &:hover {\n ${StyledPencilIcon} {\n display: block;\n }\n }\n &:focus {\n ${styledFocusCss}\n ${StyledPencilIcon} {\n display: block;\n }\n }\n outline: none;\n`;\n\n// ROW ************************************************************************/\nexport const StyledFullsizeGrid = styled(Grid)`\n position: relative;\n z-index: ${ZIndexDataTable.ROW};\n\n min-height: ${(props) => props.minHeight || '36px'};\n height: ${(props) => props.height || 'auto'};\n /* width: ${(props) =>\n props.colsLayoutStyle === ColsLayoutStyle.Fixed ? sizeToCss(props.totalColumnsWidth) : '100%'}; */\n`;\n\nexport const GroupHeaderContainer = styled(Grid)<{ padding: string }>`\n position: relative;\n background-color: ${({ theme }) => theme.colors.brand[200]};\n align-items: center;\n padding: 0 ${(props) => props.padding};\n border-top: 1px solid ${({ theme }) => theme.colors.brand[300]};\n grid-template-columns: min-content 1fr;\n`;\n\nexport const GroupHeaderTitle = styled.span`\n font-weight: ${(props) => props.theme.fontWeights.semibold};\n font-size: 12px;\n color: ${(props) => props.theme.colors.neutral[700]};\n`;\n\nexport const StyledCellContainer = styled(Grid)`\n position: relative;\n z-index: 2;\n\n min-height: ${(props) => props.minHeight || '36px'};\n height: ${(props) => props.height || 'auto'};\n\n width: ${(props) => (props.colLayoutStyle === ColsLayoutStyle.Fixed ? sizeToCss(props.totalColumnsWidth) : '100%')};\n ${(props) =>\n getGridTemplateColumnsStyle({\n cols: props.cols,\n colsLayoutStyle: props.colLayoutStyle,\n isExpandable: props.isExpandable,\n })};\n background-color: ${({ backgroundColor, isDragging, theme }) =>\n isDragging ? theme.colors.neutral[100] : backgroundColor || 'white'};\n\n outline: none;\n\n :focus {\n ${(props) => (props.isDragOverlay ? '' : styledFocusCss(props))}\n }\n\n ${({ isDropIndicatorPositionInside, theme }) => {\n if (!isDropIndicatorPositionInside) return '';\n return styledFocusCss({ theme });\n }}\n\n ${({ shouldDisplayHover, theme }) =>\n shouldDisplayHover\n ? `:hover {\n background-color: ${theme.colors.brand[200]};\n }`\n : ''}\n\n box-shadow: 0 2px 4px 0 ${(props) => (props.isDragOverlay ? 'rgba(0,0,0,0.5)' : 'transparent')};\n\n opacity: ${(props) => (props.isDragging ? 0.8 : 1)};\n\n ${(props) =>\n !props.selected\n ? ''\n : `\n background-color: ${props.theme.colors.brand[200]};\n border: 1px solid ${props.theme.colors.brand[300]};\n `}\n\n color: ${(props) => (props.disabled ? props.theme.colors.neutral['500'] : '#333333')};\n`;\n"],"names":["StyledSpan","styled","span","expandRowColumn","id","accessor","Header","ctx","tableProps","expandedRows","onRowExpand","allDataFlattened","allExpandable","useMemo","expandable","forEach","row","original","subRows","tableRowDetails","dimsumHeaderValue","uid","isAllRowsExpanded","Object","keys","length","onExpandedAllHandler","useCallback","GlobalExpandIcon","React","ArrowheadDown","DATA_TESTID","DATA_TABLE_ICON_ARROW_DOWN","ArrowheadRight","DATA_TABLE_ICON_ARROW_MIXED","transform","DATA_TABLE_ICON_ARROW_RIGHT","e","includes","code","preventDefault","DATA_TABLE_GLOBAL_EXPAND_CELL","width","height","Cell","cell","isRowSelected","draggableProps","dragAndDropRows","uniqueId","isExpanded","shouldPrintCaret","depth","onRowExpandHandler","stopPropagation","isDragging","isDragOverlay","indentStyle","marginLeft","marginRight","paddingLeft","paddingRight","position","display","alignItems","rowProps","role","key","title","onClick","onKeyDown","ref","tabIndex","isRightArrow","PureCaretIcon","ChildIcon","ArrowShortReturn","DATA_TABLE_ICON_CHILD","textWrap","canResize","padding","isFocuseable","disableDnD","multiSelectColumn","onSelectionChange","selection","data","disabledRows","selectionKeyCount","currentGlobalState","newGlobalStateAfterToggle","newState","newSelection","nextSelection","datum","onChangeHandler","PureHeaderCheckbox","DSCheckbox","DATA_TABLE_GLOBAL_CHECKBOX","cursor","selectedState","PureCheckboxCell","DATA_TABLE_CHECKBOX","CenteredContent","div","StyledDSRadio","DSRadio","singleSelectColumn","PureCheckBox","DATA_TABLE_RADIO","StyledRowLoadingContainer","Grid","RowLoading","PureLoading","DATA_TABLE_ROW","DSIndeterminateProgressIndicator","FilterButton","props","hide","Button","DSButton","FilterPopover","column","columnId","triggerIcon","menuContent","onTriggerClick","onClickOutsideMenu","reduxHeader","innerRef","ariaLabel","customStyles","hideFilterButton","hideFilterMenu","popperRef","useRef","useDispatchHeadersActions","patchHeaderFilterButtonAndMenu","patchHeader","isIconVisible","isMenuOpen","handleClickOutsideMenu","handleTriggerClick","useState","referenceElement","setReferenceElement","focus","target","current","contains","relatedTarget","DATA_TABLE_FILTER_BUTTON","_ref","withTabStops","DSPopperJS","DATA_TABLE_FILTER_MENU_CONTENT","minWidth","offsetWidth","backgroundColor","EditableCell","StandardRender","EditableRenderer","useContext","DataTableContext","virtualListHelpers","isEditing","setIsEditing","lastIsEditing","setLastIsEditing","useLayoutEffect","measure","handleCellClick","handleOnKeyDown","handleOnBlur","event","currentTarget","alwaysDisplayEditIcon","undefined","propTypes","PropTypes","oneOfType","func","object","isRequired","singleDateFilterFn","unfilteredData","filterKey","filterValue","filter","moment","momentFormat","isSame","dateRangeFilterFn","startDate","endDate","isSameOrBefore","isSameOrAfter","dateSwitcherFilterFn","isDateRange","filterMapper","FILTER_TYPES","SELECT","singleSelectFilterFn","MULTI_SELECT","multiSelectFilterFn","TEXT","textFilterFn","SINGLE_DATE","DATE_RANGE","DATE_SWITCHER","NUMBER_RANGE","numberRangeFilterFn","CURRENCY_RANGE","currencyRangeFilterFn","applyOutOfTheBoxFilters","filters","filteredData","type","value","StyledInput","input","theme","colors","brand","TextEditableCell","DefaultCellRender","onCellValueChange","setValue","handleOnChange","tValue","property","rowIndex","index","editableCellPropType","ComboboxEditableCell","flattenedData","cellValue","label","uniqueOptions","uniqueValuesMap","reduce","optionsSoFar","currRow","currValue","push","ComboBoxFreeSolo","outOfTheBoxEditables","EditableComponent","PureStandardCell","memo","cellStyle","children","DATA_TABLE_CELL","shouldAddExpandCell","cellRendererProps","SortableItemContext","useCellStyle","appliedTextWrap","cellProps","CellComponent","render","pureCellContent","DefaultCellContentJSX","SimpleTruncatedTooltipText","EditableContentJSX","editable","Cells","userCellsProcessed","cells","map","isUserCell","INTERNAL_COLUMNS","jsx","ActionComponent","DetailsWrapper","borderTop","borderBottom","ariaLabelMessage","selected","realIndex","parentIndex","DefaultRowContentRenderer","isExpandable","colsLayoutStyle","noSelectionColumn","gridLayout","layoutHelpers","visibleColumns","dropIndicatorPosition","focusedRowId","selectedRowId","compact","rowRef","isDndActive","active","preventScroll","gridTemplateColProps","cols","colLayoutStyle","detailsIndent","i","PureRowContent","DetailsView","DropIndicatorPosition","Inside","DATA_TABLE_ROW_CONTENT","useRowRendererHandlers","itemIndex","items","onRowClick","onRowFocus","scrollToIndex","useDispatchRowsActions","setSelectedRowId","setFocusedRowId","handleItemClick","scrollToItem","opts","align","isActive","handleKeyDown","dataset","testid","setTimeout","focuseableCell","find","getAttribute","handleOnFocus","magicDottedBorder","RowRenderer","minHeight","rowsLayout","CustomRowContentRenderer","useRowRendererProperties","userDataProperties","totalColumnsWidth","rowStyle","shouldAppendDottedBorder","rowContentProps","Boolean","DropIndicator","RowContent","groupedRowsRenderHeader","hasExpandCell","titleContent","DATA_TABLE_ROW_HEADER_CONTENT","DATA_TABLE_ROW_GROUP_HEADER","RowVariantHeader","RowVariantPrimary","RowVariantSecondary","RowVariantMapper","ROW_VARIANTS","HEADER_GROUP","PRIMARY","SECONDARY","COMPACT_PRIMARY","COMPACT_SECONDARY","RowVariantMapItem","getRowVariant","variant","Component","Error","setItemRefs","measureRef","draggableRef","refsToSet","setMultipleRefs","Row","itemWrapperStyle","setNodeRef","number","bool","string","defaultProps","mapStateToProps","state","rows","withDnDSortableRowContext","connect","Rows","virtualItems","DnDTreeContext","visibleItems","PureVirtualizedRows","virtualItem","start","addCellData","style","top","left","withConditionalDnDRowContext","useHierarchyPreviewHandlers","setOverId","setActiveId","resetState","document","body","setProperty","el","querySelector","DATA_TABLE_SCROLLABLE_CONTAINER","onscroll","handlePreviewDragStart","y","scrollTop","scrollTo","handlePreviewDragMove","handlePreviewDragOver","over","handlePreviewDragEnd","handlePreviewDragCancel","directions","KeyboardCode","Down","Right","Up","Left","vertical","getHorizontalKeyboardCoordinates","currentCoordinates","droppableContainers","translatedRect","activeItem","item","overRect","rect","layoutRects","entries","container","disabled","node","itemParent","parentId","getViewRect","right","dragOverlayRect","DATA_TABLE_COLUMN_DRAG_OVERLAY","getBoundingClientRect","closestId","closestCorners","closestRect","activeRect","x","offsetLeft","getHierarchyKeyboardCoordinates","context","isHorizontalDnD","args","customCollisionDetection","activeId","activeParent","dndItems","entriesWithSameParent","originalRect","isLeft","match","collisionPoint","entry","offsetRight","Math","abs","adjustTranslate","newTransform","layoutMeasuring","strategy","LayoutMeasuringStrategy","Always","useHierarchyDndkitConfig","flattenedItems","onReorder","overId","itemsDictionary","dictionary","modifiers","options","sensorContext","useEffect","coordinateGetter","sensors","useSensors","useSensor","PointerSensor","KeyboardSensor","dragPreviewHandlers","dragActionHandlers","useHierarchyActionHandlers","announcements","useHierarchyAnnouncements","dndContextProps","collisionDetection","activeIndex","DnDGroupContext","createContext","flattenColumns","flattened","flatten","col","columns","subColumn","childIndex","withConditionalDnDColumnContext","dragAndDropColumns","onColumnsReorder","PureDraggedJSX","setPureDraggedJSX","movedItem","indexes","newFlattenedData","arrayMove","fromIndex","targetIndex","nodes","dndData","colData","newData","parentNode","DndContext","DragOverlayContext","DragOverlay","emptyFilterValue","DateRangeFilter","onValueChange","dateRange","setStartDate","setEndDate","DATA_TABLE_DATE_RANGE_CONTROLLER","DSControlledDateRangePicker","DatePicker2","DateSwitcherFilter","setIsDateRange","DSControlledCheckbox","DSControlledDateTimePicker","_date","prefix","suffix","allowDecimal","includeThousandsSeparator","requireDecimal","allowNegative","NumberRangeFilter","from","to","handleFromChange","parseInt","nextValue","handleToChange","idPreffix","DATA_TABLE_CURRENCY_RANGE_CONTROLLER","DSFormLayoutBlockItem","DSInputMask","textAlign","MASK_TYPES","NUMBER","SearchXsmall","decimalLimit","CurrencyRangeFilter","BaseSelectFilter","isMulti","selectedItems","userFilterOptions","filterOptions","automaticFilters","_toConsumableArray","Set","toString","dsId","Array","isArray","multiSelectedItem","isFound","singleSelectedItem","setFilteredOptions","filteredOptions","option","toLowerCase","handleOnFilter","newFilter","Select","DATA_TABLE_MULTISELECT_CONTROLLER","DATA_TABLE_SINGLESELECT_CONTROLLER","background","DSComboBox","handleOnClickOutside","maxHeight","SingleSelectFilter","MultiSelectFilter","SingleDateFilter","date","setDate","commitDateChange","DATA_TABLE_SINGLE_DATE_CONTROLLER","TextInputFilter","count","handleChange","newText","FilterMapper","FilterMapItem","onFiltersChange","newValue","filterIndex","findIndex","newFilters","filterProps","FilterComp","Filter","narrow","min","max","Infinity","HeaderResizer","setGridLayout","onColumnResize","isResizing","setIsResizing","nextWidth","setNextWidth","visibleColumnsCopy","realColumnIndex","visibleColumn","columnsToGrid","ColsLayoutStyle","Fixed","onResizeStart","onResizeHandler","delta","clientX","widthWithDelta","maxWidth","onResizeEnd","debouncedResizeHandler","debouncedResizeEnd","addEvents","addEventListener","removeEvents","removeEventListener","StringTitle","HeaderCellTitle","DATA_TABLE_HEADER_CELL_TITLE","required","RequiredDot","buildScreenReaderInstructions","colSpan","draggable","filterable","sortable","preffix","message","ownProps","headers","connector","HeaderCellComp","isResizeable","onColumnSortChange","dragHandleRef","filterIconRef","useHeaderCellConfig","hasFilter","hasDnD","hasSortingCaret","hasRightIcons","shouldShowDnD","hCols","useRecoverFocusCol","rightIcons","SortByCaret","isSortedDesc","DnDHandleComponent","DnDHandle","handlers","useHeaderCellHandlers","headerRef","DATA_TABLE_HEADER","canSort","HeaderCell","withDnDSortableColumnContext","draggableOptions","header","useSortableHelpers","useSortable","PureComponentJSX","overIndex","shouldShowDropIndicatorPosition","After","Before","cloneElement","StyledWrapper","gridColumn","neutral","HeaderCellGroupComp","isDraggingParent","isLast","ChildGroup","NotSortableHeaderCellGroup","HeaderCellGroup","SortableHeaderCell","h","EmptyChildrenGroup","any","HeadersComp","columnHeaderRef","HeadersCells","PureHeaders","relativeRowMouseCord","VirtualRowsListComponent","virtualListRef","isLoading","isLoadingAppended","totalSize","isEmptyContent","tableHeight","Number","FIXED_SIZES","PAGINATION_HEIGHT","ctrlKey","EmptyContent","Loader","Footer","VirtualRowsList","reduxFilters","TableContentComponent","forwardedRef","pagination","shiftKeyPressed","setShiftKeyPressed","PureTableContent","DATA_TABLE_CONTENT_WRAPPER","prevShiftKeyPressed","shiftKey","DATA_TABLE_TABLE","Pagination","ConnectedTableContent","TableContent","forwardRef","StyledGripperButton","DragHandle","isReachable","listeners","attributes","DATA_TABLE_DRAG_HANDLE","GripperVertical","dragHandleColumn","useRecoverFocusRow","styledFocusCss","ZIndexDataTable","FOCUS_BORDER","StyledFocusWithin","hideFocus","StyledDataTableWrapper","sizeToCss","noSelectionAllowed","StyledTableWrapper","StyledTableContentWrapper","StyledVirtualListWrapper","getGridTemplateColumnsStyle","Auto","widthAttr","join","StyledHeadWrapper","StyledHeadTr","getStyledHeadTHBorderColor","dragOverlay","isFirstRowGroup","StyledHeadTh","columnPadding","HEADER_ROW","isDraggingActive","StyledHeaderRightIconsWrapper","StyledResizer","StyledActionCell","StyledCell","cellPadding","StyledCellContent","StyledPencilIcon","EditPencil","StyledEditableContainer","shouldDisplayEditIcon","StyledFullsizeGrid","ROW","GroupHeaderContainer","GroupHeaderTitle","fontWeights","semibold","StyledCellContainer","isDropIndicatorPositionInside","shouldDisplayHover"],"mappings":"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"}
|