// Получаем всю инфу что нам нужна от позиции курсора
window.onmousemove = ({screenX:x,screenY:y})=>{console.log(x,y)};
//Получаем ширину и высоту блока по которому будем водить на нём позиция курсора или нет
document.querySelector().clientHeight/ .....Width
// Определяем X,Y контейнера по которому будем водить
// Тем самым вычисляем границы реагирования.
// Когда заходим в эту зону начинаем изменять позицию внутреннего кубика.
// Если мы не там то кубик становиться по умолчанию
Это код для понимания как это работает.
Если будете вставлять то как минимум
window.onmousemove
//Замените на
window.addEventListener