feat(collapse): provide collapse module