Combine cabbage, carrot, and shallots in a large bowl.
Whisk together mayonnaise and next 6 ingredients in a small bowl. Pour dressing over cabbage mixture; toss well. Cover and chill.