[components] Implement mobile components.

maybe we should listen for taps instead of touchend.