hunk.code_window: const Canvas = styled.canvas`
     position: absolute;
     top: 0;
     left: 0;
     height: calc(100% + ${(props) => props.theme.canvasBottomPadding}px);
     width: 100%;
     overflow-y: auto;
     z-index: 1;
     pointer-events: none;
   `;
  
hunk.labels: keep keep keep keep replace keep keep keep keep keep
hunk.after_edit:   height: 100%;
  
hunk.file_path: app/client/src/pages/common/CanvasMultiPointerArena.tsx
hunk.type: replace
file: import { createReducer } from "utils/AppsmithUtils";
  import { ReduxAction, ReduxActionTypes } from "constants/ReduxActionConstants";
  import { SetCrudInfoModalOpenPayload } from "actions/crudInfoModalActions";
  
  const initialState: CrudInfoModalReduxState = {
    crudInfoModalOpen: false,
    generateCRUDSuccessInfo: null,
  };
  
  const crudInfoModalReducer = createReducer(initialState, {
    [ReduxActionTypes.SET_CRUD_INFO_MODAL_OPEN]: (
      state: CrudInfoModalReduxState,
      action: ReduxAction<SetCrudInfoModalOpenPayload>,
    ) => {
      return {
        ...state,
        crudInfoModalOpen: action.payload.open,
        generateCRUDSuccessInfo: action.payload.generateCRUDSuccessInfo,
      };
    },
  });
  
  export type GenerateCRUDSuccessInfoData = {
    successImageUrl: string;
    successMessage: string;
  };
  
  export interface CrudInfoModalReduxState {
    crudInfoModalOpen: boolean;
    generateCRUDSuccessInfo: GenerateCRUDSuccessInfoData | null;
  }
  
  export default crudInfoModalReducer;
  