JSFiddle - React, Tailwind, and code Playground

HTML

Inline element:
<div class="toggle">
  <div class="toggle__ball"></div>
</div>

SCSS

.toggle {
  display: inline-block;
  vertical-align: middle;
  width: 320px;
  height: 160px;
  position: relative;
  box-sizing: border-box;
  box-shadow: 0 0 0 1px #000;
}

.toggle__ball {
  width: 50px;
  height: 100%;
  box-shadow: 0 0 0 1px red;
  position: absolute;
  box-sizing: border-box;
  animation: movement 2s linear infinite alternate;
  
}

.toggle:hover .toggle__ball {
  width: 160px;
}

@keyframes movement {
  
  0% {
    left: 0%;
    transform: translateX(0%);
  }
  
  100% {
    left: 100%;
    transform: translateX(-100%);
  }
}