We tried this a couple of years ago and out of the box there isn't a solutions (as far as I know.)
We did try this solution. First you need a
result source for both your library and list. Then you create a
query rule that queries the first result source, say your document library, and then in the query rule you add a
result block that passes the query onto the second result source. In the result block dialog you also give the block a label which the CSWP can use to pick up the results. Finally on the page you set up the CSWP to pick up the default (first part of the query) and another CSWP to pick up the result block.
After all that, the biggest downside is that you can only send 10 items in a result block. At least when we tried this several years ago that was the limit. So it ultimately was useless for us.
Is there a reason you can't use just one CSWP and mix the items and documents? You could add an item/document refiner.