WebFilings/wf-uicomponents — pull request #14 by timmccall-wf (2014-02-07 20:39:41+00:00)
Title: Bounce At Boundaries on Swipe

When swiping near an AwesomeMap's boundaries, allow the content to
bounce into place to visually convey the boundary condition to the
user. Make this effect available via the BoundaryInterceptor's
'slow' mode.

Update PeekInterceptor to independently manage drags into
boundaries so that the BoundaryInterceptor can use 'slow' mode. This
has the beneficial side-effect of allowing users to drag the first and
last items in the list away from list boundaries and have the content
snap back upon release, thus visually conveying the boundary condition
in that case as well.

Unit Tests
-------------

- Add tests for new bounce effect on swipes in BoundaryInterceptor
- Modify tests for PeekInterceptor to assert that it will impose boundaries independently

How To +10/QA
-------------

```bash
# skip the following steps if you've already initialized the project
$ git clone git@github.com:WebFilings/wf-js-uicomponents.git
$ cd wf-js-uicomponents

# do not skip these!
$ git fetch && git checkout bounce_back_on_swipes
$ ./init.sh
$ grunt qa
```

- Should see no console errors.
- Open http://localhost:9000 on mobile device and view the ScrollList example app.
- Switch to mode:Peek and fit:Width
- Drag first page down and let go, _should see page snap back to top boundary_.
- Swipe very quickly over short distance, _should see page bounce back to bottom boundary_.
- Swipe over long distance, _should see page transition to next_.
- Swipe horizontally, _should see no horizontal bounce effect_.
- Drag page in range (1...N-1) up and down rapidly without letting go, _should peek at next/previous page and not witness a growing gap between pages_.

@lancefisher-wf
@patkujawa-wf
@shanesizer-wf