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

Closes #825.
Closes #460.
What is the difference between `state.pagesCount` and `state.tabData.pages.length` ?