Cream the butter and cream cheese together until smooth. Blend in the vanilla and sugar. Add ½ the flour and mix until almost incorporated. Add the remaining half of flour and mix until it starts to hold together in a dough. Remove the dough to a lightly flour clean surface. Gently form the dough into a ball and divide into three equal parts. Roll each part into a disc and wrap with plastic wrap. Refrigerate the dough for at least 2 hours or overnight.
Blend the walnuts, sugars, cocoa and cinnamon together in a small mixing bowl until combined. Set aside until its time to build your rugelach.
Preheat the oven to 350 degrees.
Remove one disc of dough and roll out on a lightly floured surface until it is about ⅛ inch thick and 14 inches in diameter. Spread 3 tablespoons apricot preserves around the dough keeping a clean edge around the outside and a space about the size of a 2 inch circle in the center. Sprinkle ⅓ of the filling on the preserves.
Once it's rolled out, cut the dough with a pastry or pizza cutter into quarters. Then cut each quarter into three equal pieces. Starting at the wide end, fold over the corners and about ¼ inch of dough. Roll the Rugelach toward the small end. Bend the ends to form a crescent shape and place the cookies on a parchment lined baking sheet. Bake for 25-30 minutes or until lightly browned.
Once cool sprinkle with sifted powdered sugar. Store in an airtight container and enjoy!
Notes
Adapted from Sarahbeth's Bakery. NB: I increased the amounts of preserves and sugar/walnut filling, as I didn't feel the original recipe made enough. Enjoy.