You have to give kids a 'get out'! She obviously knows she shouldnt have taken the things... but doesnt know how to sort it!
Try to, get 3 plastic bags... label them SCHOOL, SHOP, FRIENDS tell her you know she has taken them,because you didnt buy them & she hasnt got any money... but maybe it was by 'accident'& she just wasnt thinking right....so u want her to put the things in the right bags depending where they come from so that you (not her) can give them back.
Tell her she wont get into trouble.. u just dont think its fair on the other children.
then leave the room.... it could take a while.
IF she does it... even just a few items in the right bags. Just pick up the bags & say thank you... no other discussion about it.
Whatever you do.. dont make HER return them or apologise or anything like that... just let it go. Then in a couple of weeks...you can talk about stealing in a matter of fact way... but not about these incidents.
Kids do things for curious reasons that eve they cant explain. So to moan on & on about it.... will upset her & achieve nothing anyway. YOu dont want her to feel that everytime she does something wrong she will have to hide it from you.
If she doesnt do it... then take the things away & take her to a charity shop to give to people who cant have things thats she has.