import { enableMapSet } from 'immer' import { combineReducers } from '../utils' import columnsReducer from './column' import editReducer from './edit' import filterReducer from './filter' import focusReducer from './focus' import navigationReducer from './navigation' import rowReducer from './row' import selectionReducer from './selection' import rangeReducer from './range-selection' import sortReducer from './sort' import viewReducer from './view' import dragReducer from './drag' enableMapSet() const reducer = combineReducers({ columns: columnsReducer, currentEdit: editReducer, currentFocus: focusReducer, drag: dragReducer, filter: filterReducer, navigation: navigationReducer, rows: rowReducer, selection: selectionReducer, rangeSelection: rangeReducer, sort: sortReducer, view: viewReducer, }) export default reducer.reducer export const INITIAL_STATE = reducer.initialState export type GridState = typeof INITIAL_STATE