feat(slider): add full-featured slider component