Pre-heat the oven to 180ºC/350ºF and line a 12-hole muffin pan with cupcake liners.
Whisk together the flour, baking powder, coconut and salt in a large mixing bowl.
In a separate bowl/mixing jug, whisk the sugar, coconut milk, oil, yogurt and eggs together.
Pour the wet ingredients into the dry and mix until just combined.
Spoon the batter into the prepared cupcake liners. Place in the oven and allow to bake until the cupcakes are golden brown and a skewer inserted comes out clean.
Remove from the oven and transfer to a wire rack to cool completely.
To make the frosting, whip the butter until pale and fluffy. Scrape the bowl once or twice while whipping to ensure the butter is smooth.
Sift in the icing sugar and salt and whip until light and fluffy. With the mixer running, add the coconut milk one tablespoon at a time until the buttercream is smooth, pale and fluffy.
To make the toasted coconut, place the shredded coconut in a non-stick pan and toast over medium-high heat, stirring regularly, until the coconut is golden brown and toasted. Allow to cool completely.
Spread or pipe the buttercream onto the cooled cupcakes then top with the toasted coconut and serve.