refactor(ripple): adds support for non-fixed tabs

Closes #825.
Closes #460.
It's still used on line 220 (`var lastPage = state.pagesCount`).