Dragging left reveals a destructive panel, which grows to follow a longer pull; releasing past COMMIT_FRACTION of the row's width runs the action immediately, and anything less snaps to open or shut. While a row is open, the next tap anywhere on it closes it instead of reaching the content — so a swipe can never be one stray tap away from doing something else.
The row must sit in a container that clips it (the panel lives off to the
right); a list-rows Card already does.
Wraps a list row in a swipe-to-act gesture, iOS-style.