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

Closes #825.
Closes #460.
Somehow I feel this should be `states.tabData.pages.length -1` (but I haven't really looked into the code).