Impossible to change behaviour of <input type="range"> - give me low level API!

Hello. I have problems with behaviour of input range. I even can not add after/before elements to track. Need very low level API for input range. For me need centrify (should be overflow in track) thumb on input range, because circular.

For me need:

  • Behaviour API (mousemove, getting and setting value, etc.)

  • DOM API (track, thumb) with possible add custom elements

Isn’t this something that Custom Elements and Shadow DOM can solve? In theory they allow you to design your own custom controls and APIs by composing multiple elements and scripting with Javascript.